emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [PATCH] Re: TODO state change from TODO to DONE blocked


From: Sébastien Vauban
Subject: [O] [PATCH] Re: TODO state change from TODO to DONE blocked
Date: Fri, 04 Mar 2011 16:15:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (windows-nt)

Hi Bastien,

Sébastien Vauban wrote:
> Bastien wrote:
>>>> I've a really weird exception occurring: change state from TODO to DONE is
>>>> blocked... while I'm on a leaf of the Org tree!?
>>>>
>>>> Debugger entered--Lisp error: (error #("TODO state change from TODO to
>>>> DONE blocked" 23 27 (face org-todo) 31 35 (face org-done)))
>>
>> Are you using `org-blocker-hook' or `org-trigger-hook'?
>>
>> Let us know.
>
> Though, hopping from one variable description to another, I remembered that I
> had set the variable =org-enforce-todo-dependencies= to =t=. Trying to set it
> to =nil= made the problem disappear... So, it was a bit narrowed.
>
> I could see in the description of that var that it could block state change if
> tasks were ordered and a previous one not done. But I never use the ordered
> property.
>
> ... Well, never, but well in that parent tree. Was it for test purpose?  Did I
> have something else in mind?  I dunno anymore, but that property was
> definitely the culprit.
>
> Doing so, I'm wondering:
>
> - if the output message could be updated to make it clear what the reason is,
>   or can be?

diff --git a/lisp/org.el b/lisp/org.el
index 3a07cfd..fb60bc6 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -10927,7 +10927,10 @@ For calling through lisp, arg is also interpreted in 
the following way:
                        (run-hook-with-args-until-failure
                         'org-blocker-hook change-plist)))
              (if (interactive-p)
-                 (error "TODO state change from %s to %s blocked" this state)
+                 (error (concat "TODO state change from %s to %s blocked "
+                                "(because of undone child, or "
+                                "parent with ORDERED property and undone prior 
sibling)")
+                        this state)
                ;; fail silently
                (message "TODO state change from %s to %s blocked" this state)
                (throw 'exit nil))))

Best regards,
  Seb

-- 
Sébastien Vauban




reply via email to

[Prev in Thread] Current Thread [Next in Thread]