diff --git a/lisp/org.el b/lisp/org.el index fee3174..c28d355 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -2181,6 +2181,17 @@ to change is while Emacs is running is through the customize interface." :group 'org-todo :type 'boolean) +(defcustom org-blocker-ignore-ancestor-siblings nil + "Non-nil means that when determining if a TODO entry is blocked, +siblings of entries which are higher up the hierarchy are not +considered. This allows to register state changes for item in +subprojects of ordered projects which enforce ordering. The +subproject itself is not affected. See +`org-block-todo-from-children-or-siblings-or-parent' for the +implementation." + :group 'org-todo + :type 'boolean) + (defcustom org-enforce-todo-checkbox-dependencies nil "Non-nil means unchecked boxes will block switching the parent to DONE. When this is nil, checkboxes have no influence on switching TODO states. @@ -11151,7 +11162,8 @@ changes. Such blocking occurs when: (when (and (org-not-nil (org-entry-get (point) "ORDERED")) (forward-line 1) (re-search-forward org-not-done-heading-regexp pos t)) - (throw 'dont-block nil)))))))) ; block, older sibling not done. + ; block, older sibling not done, unless configured to ignore. + (throw 'dont-block org-blocker-ignore-ancestor-siblings)))))))) (defcustom org-track-ordered-property-with-tag nil "Should the ORDERED property also be shown as a tag?