diff options
author | Carsten Dominik <carsten.dominik@gmail.com> | 2009-04-08 17:01:54 +0200 |
---|---|---|
committer | Carsten Dominik <carsten.dominik@gmail.com> | 2009-04-08 17:01:54 +0200 |
commit | 99c7dacd668a76f242071cdce7f772841e913e64 (patch) | |
tree | 0dd47a982dab007c650696253a29d75b7be218fe /lisp | |
parent | 31446d85a32eaea0d5028149b418199989fe86a5 (diff) |
Dependencies: New property NOBLOCKING
A NOBLOCKING property makes sure that an entry is never blocked by
whatever function in org-blocker-hook.
Diffstat (limited to 'lisp')
-rwxr-xr-x | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/org-agenda.el | 14 | ||||
-rw-r--r-- | lisp/org.el | 3 |
3 files changed, 16 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bbcd839f4..d877e3d14 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2009-04-08 Carsten Dominik <carsten.dominik@gmail.com> + * org.el (org-todo): Honor the NOBLOCKING property. + + * org-agenda.el (org-agenda-dim-blocked-tasks): Honor the + NOBLOCKING property. + * org.el (org-scan-tags): Fix bug in tag scanner 2009-04-07 Carsten Dominik <carsten.dominik@gmail.com> diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index e2af45958..31521d947 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -2424,12 +2424,14 @@ bind it in the options section.") (not (with-current-buffer (marker-buffer marker) (save-excursion (goto-char marker) - (run-hook-with-args-until-failure - 'org-blocker-hook - (list :type 'todo-state-change - :position marker - :from 'todo - :to 'done)))))) + (if (org-entry-get nil "NOBLOCKING") + t ;; Never block this entry + (run-hook-with-args-until-failure + 'org-blocker-hook + (list :type 'todo-state-change + :position marker + :from 'todo + :to 'done))))))) (if org-blocked-by-checkboxes (setq invis1 nil)) (setq b (if invis1 (max (point-min) (1- (point))) (point)) e (point-at-eol) diff --git a/lisp/org.el b/lisp/org.el index e32220936..6bf06e86d 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -8797,6 +8797,9 @@ For calling through lisp, arg is also interpreted in the following way: (case-fold-search nil)) (when (equal arg '(64)) (setq arg nil org-blocker-hook nil)) + (when (and org-blocker-hook + (org-entry-get nil "NOBLOCKING")) + (setq org-blocker-hook nil)) (save-excursion (catch 'exit (org-back-to-heading) |