Re: [O] Bug: ordered property blocks grandchildren [9.1.3 (9.1.3-elpaplus @ ~/.emacs.d/elpa/org-plus-contrib-20171116/)]
Hi Allen Li, thanks for reporting this. I think both behavior are good defaults, I tried to enhance the documentation a little bit. If you see another way to enhance the documentation or the message sent by org-mode, can you suggest it? Thanks! -- Bastien
Re: [O] Bug: ordered property blocks grandchildren [9.1.3 (9.1.3-elpaplus @ ~/.emacs.d/elpa/org-plus-contrib-20171116/)]
On Mon, Nov 20, 2017 at 5:18 PM, Allen Li wrote: > Create a file tmp.org with contents > > * TODO parent > :PROPERTIES: > :ORDERED: t > :END: > ** TODO child1 > ** TODO child2 > *** TODO grandchild1 > *** TODO grandchild2 > > 1. emacs -Q > 2. M-: (setq org-enforce-todo-dependencies t) RET > 3. C-x C-f tmp.org RET > 4. Move point to grandchild2 > 5. C-c C-t > > user-error: TODO state change from TODO to DONE blocked (by "TODO child1") > > The documentation emphasizes that ORDERED is not inherited. The > behavior that I would expect is that child1 blocks child2, but it should > not block grandchild1 or grandchild2. > > However, I think the current behavior is also reasonable under some > workflows. I’m creating a bug to track opinions, if one behavior is > significantly more desired than the other, or if an option to control > this behavior would be welcome. There's an additional quirk to this behavior: If the child is not a TODO heading, its grandchildren are not blocked * TODO parent :PROPERTIES: :ORDERED: t :END: ** TODO child1 ** child2 *** TODO grandchild1 *** TODO grandchild2 In this modified example, the grandchildren are not blocked, unlike the original example. Again I can see certain workflows relying on this behavior, but the behavior isn't quite obvious. The documentation should probably be improved. I'd also like to think about the implications behind this behavior and any alternatives a little more.
[O] Bug: ordered property blocks grandchildren [9.1.3 (9.1.3-elpaplus @ ~/.emacs.d/elpa/org-plus-contrib-20171116/)]
Create a file tmp.org with contents * TODO parent :PROPERTIES: :ORDERED: t :END: ** TODO child1 ** TODO child2 *** TODO grandchild1 *** TODO grandchild2 1. emacs -Q 2. M-: (setq org-enforce-todo-dependencies t) RET 3. C-x C-f tmp.org RET 4. Move point to grandchild2 5. C-c C-t user-error: TODO state change from TODO to DONE blocked (by "TODO child1") The documentation emphasizes that ORDERED is not inherited. The behavior that I would expect is that child1 blocks child2, but it should not block grandchild1 or grandchild2. However, I think the current behavior is also reasonable under some workflows. I’m creating a bug to track opinions, if one behavior is significantly more desired than the other, or if an option to control this behavior would be welcome. Emacs : GNU Emacs 25.2.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11), modified by Debian Package: Org mode version 9.1.3 (9.1.3-elpaplus @ /usr/local/google/home/ayatane/.emacs.d/elpa/org-plus-contrib-20171116/)