emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* TODO state change from TODO to DONE blocked
@ 2011-02-24 10:51 Sébastien Vauban
  2011-02-24 16:04 ` Sébastien Vauban
  0 siblings, 1 reply; 12+ messages in thread
From: Sébastien Vauban @ 2011-02-24 10:51 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi,

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!?

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error #("TODO state change from TODO to DONE blocked" 23 27 (face org-todo) 31 35 (face org-done)))
  signal(error (#("TODO state change from TODO to DONE blocked" 23 27 (face org-todo) 31 35 (face org-done))))
  error("TODO state change from %s to %s blocked" #("TODO" 0 4 (face org-todo)) #("DONE" 0 4 (face org-done)))
  (if (interactive-p) (error "TODO state change from %s to %s blocked" this state) (message "TODO state change from %s to %s blocked" this state) (throw (quote exit) nil))
  (if (save-excursion (save-match-data ...)) nil (if (interactive-p) (error "TODO state change from %s to %s blocked" this state) (message "TODO state change from %s to %s blocked" this state) (throw ... nil)))
  (unless (save-excursion (save-match-data ...)) (if (interactive-p) (error "TODO state change from %s to %s blocked" this state) (message "TODO state change from %s to %s blocked" this state) (throw ... nil)))
  (progn (setq org-last-todo-state-is-todo (not ...)) (unless (save-excursion ...) (if ... ... ... ...)))
  (if org-blocker-hook (progn (setq org-last-todo-state-is-todo ...) (unless ... ...)))
  (when org-blocker-hook (setq org-last-todo-state-is-todo (not ...)) (unless (save-excursion ...) (if ... ... ... ...)))
  (let* ((match-data ...) (startpos ...) (logging ...) (org-log-done org-log-done) (org-log-repeat org-log-repeat) (org-todo-log-states org-todo-log-states) (this ...) (hl-pos ...) (head ...) (ass ...) (interpret ...) (done-word ...) (final-done-word ...) (last-state ...) (completion-ignore-case t) (member ...) (tail ...) (state ...) (state ...) (next ...) (change-plist ...) dolog now-done-p) (when org-blocker-hook (setq org-last-todo-state-is-todo ...) (unless ... ...)) (store-match-data match-data) (replace-match next t t) (unless (pos-visible-in-window-p hl-pos) (message "TODO state changed to %s" ...)) (unless head (setq head ... ass ... interpret ... done-word ... final-done-word ...)) (when (memq arg ...) (message "Keyword-Set %d/%d: %s" ... ... ...)) (setq org-last-todo-state-is-todo (not ...)) (setq now-done-p (and ... ...)) (and logging (org-local-logging logging)) (when (and ... ... ...) (setq dolog ...) (if ... ...) (when ... ...) (when ... ... ...) (when ... ...)) (org-todo-trigger-tag-changes state) (and org-auto-align-tags (not org-setting-tags) (org-set-tags nil t)) (when org-provide-todo-statistics (org-update-parent-todo-statistics)) (run-hooks (quote org-after-todo-state-change-hook)) (if (and arg ...) (setq head ...)) (put-text-property (point-at-bol) (point-at-eol) (quote org-todo-head) head) (when now-done-p (when ... ...) (org-auto-repeat-maybe state)) (if (and ... ... ... ...) (progn ... ...)) (when org-trigger-hook (save-excursion ...)))
  (catch (quote exit) (org-back-to-heading t) (if (looking-at outline-regexp) (goto-char ...)) (or (looking-at ...) (looking-at " *")) (let* (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... dolog now-done-p) (when org-blocker-hook ... ...) (store-match-data match-data) (replace-match next t t) (unless ... ...) (unless head ...) (when ... ...) (setq org-last-todo-state-is-todo ...) (setq now-done-p ...) (and logging ...) (when ... ... ... ... ... ...) (org-todo-trigger-tag-changes state) (and org-auto-align-tags ... ...) (when org-provide-todo-statistics ...) (run-hooks ...) (if ... ...) (put-text-property ... ... ... head) (when now-done-p ... ...) (if ... ...) (when org-trigger-hook ...)))
  (save-excursion (catch (quote exit) (org-back-to-heading t) (if ... ...) (or ... ...) (let* ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...)))
  (let ((org-blocker-hook org-blocker-hook) (case-fold-search nil)) (when (equal arg ...) (setq arg nil org-blocker-hook nil)) (when (and org-blocker-hook ...) (setq org-blocker-hook nil)) (save-excursion (catch ... ... ... ... ...)))
  org-todo(nil)
  call-interactively(org-todo)
  (cond ((commandp org-speed-command) (setq this-command org-speed-command) (call-interactively org-speed-command)) ((functionp org-speed-command) (funcall org-speed-command)) ((and org-speed-command ...) (eval org-speed-command)) (t (let ... ...)))
  (cond ((and org-use-speed-commands ...) (cond ... ... ... ...)) ((and ... ... ... ...) (let ... ... ... ... ...)) (t (setq org-table-may-need-update t) (self-insert-command N) (org-fix-tags-on-the-fly) (if org-self-insert-cluster-for-undo ...)))
  org-self-insert-command(1)
  call-interactively(org-self-insert-command nil nil)
--8<---------------cut here---------------end--------------->8---

I absolutely don't understand which conditions are met for provoking that
strange reaction.

Taking that leaf and putting it in a blanco Org file allows me to do the state
change. So, it's not related to the headline itself.

But, so far, I'm unable to make a minimal example, as I don't understand yet
the root cause of the problem.

Anybody having an idea, or able to suggest some more tests to do, based on the
above input?

Best regards,
  Seb

-- 
Sébastien Vauban


_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: TODO state change from TODO to DONE blocked
  2011-02-24 10:51 TODO state change from TODO to DONE blocked Sébastien Vauban
@ 2011-02-24 16:04 ` Sébastien Vauban
  2011-02-26 17:06   ` Bastien
  0 siblings, 1 reply; 12+ messages in thread
From: Sébastien Vauban @ 2011-02-24 16:04 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi,

Sébastien Vauban 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)))
>   signal(error (#("TODO state change from TODO to DONE blocked" 23 27 (face org-todo) 31 35 (face org-done))))
>   error("TODO state change from %s to %s blocked" #("TODO" 0 4 (face org-todo)) #("DONE" 0 4 (face org-done)))
>   (if (interactive-p) (error "TODO state change from %s to %s blocked" this state) (message "TODO state change from %s to %s blocked" this state) (throw (quote exit) nil))
>   (if (save-excursion (save-match-data ...)) nil (if (interactive-p) (error "TODO state change from %s to %s blocked" this state) (message "TODO state change from %s to %s blocked" this state) (throw ... nil)))
>   (unless (save-excursion (save-match-data ...)) (if (interactive-p) (error "TODO state change from %s to %s blocked" this state) (message "TODO state change from %s to %s blocked" this state) (throw ... nil)))
>   (progn (setq org-last-todo-state-is-todo (not ...)) (unless (save-excursion ...) (if ... ... ... ...)))
>   (if org-blocker-hook (progn (setq org-last-todo-state-is-todo ...) (unless ... ...)))
>   (when org-blocker-hook (setq org-last-todo-state-is-todo (not ...)) (unless (save-excursion ...) (if ... ... ... ...)))
>   (let* ((match-data ...) (startpos ...) (logging ...) (org-log-done org-log-done) (org-log-repeat org-log-repeat) (org-todo-log-states org-todo-log-states) (this ...) (hl-pos ...) (head ...) (ass ...) (interpret ...) (done-word ...) (final-done-word ...) (last-state ...) (completion-ignore-case t) (member ...) (tail ...) (state ...) (state ...) (next ...) (change-plist ...) dolog now-done-p) (when org-blocker-hook (setq org-last-todo-state-is-todo ...) (unless ... ...)) (store-match-data match-data) (replace-match next t t) (unless (pos-visible-in-window-p hl-pos) (message "TODO state changed to %s" ...)) (unless head (setq head ... ass ... interpret ... done-word ... final-done-word ...)) (when (memq arg ...) (message "Keyword-Set %d/%d: %s" ... ... ...)) (setq org-last-todo-state-is-todo (not ...)) (setq now-done-p (and ... ...)) (and logging (org-local-logging logging)) (when (and ... ... ...) (setq dolog ...) (if ... ...) (when ... ...) (when ... ... ...) (when ... ...)) (org-todo-trigger-tag-changes state) (and org-auto-align-tags (not org-setting-tags) (org-set-tags nil t)) (when org-provide-todo-statistics (org-update-parent-todo-statistics)) (run-hooks (quote org-after-todo-state-change-hook)) (if (and arg ...) (setq head ...)) (put-text-property (point-at-bol) (point-at-eol) (quote org-todo-head) head) (when now-done-p (when ... ...) (org-auto-repeat-maybe state)) (if (and ... ... ... ...) (progn ... ...)) (when org-trigger-hook (save-excursion ...)))
>   (catch (quote exit) (org-back-to-heading t) (if (looking-at outline-regexp) (goto-char ...)) (or (looking-at ...) (looking-at " *")) (let* (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... dolog now-done-p) (when org-blocker-hook ... ...) (store-match-data match-data) (replace-match next t t) (unless ... ...) (unless head ...) (when ... ...) (setq org-last-todo-state-is-todo ...) (setq now-done-p ...) (and logging ...) (when ... ... ... ... ... ...) (org-todo-trigger-tag-changes state) (and org-auto-align-tags ... ...) (when org-provide-todo-statistics ...) (run-hooks ...) (if ... ...) (put-text-property ... ... ... head) (when now-done-p ... ...) (if ... ...) (when org-trigger-hook ...)))
>   (save-excursion (catch (quote exit) (org-back-to-heading t) (if ... ...) (or ... ...) (let* ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...)))
>   (let ((org-blocker-hook org-blocker-hook) (case-fold-search nil)) (when (equal arg ...) (setq arg nil org-blocker-hook nil)) (when (and org-blocker-hook ...) (setq org-blocker-hook nil)) (save-excursion (catch ... ... ... ... ...)))
>   org-todo(nil)
>   call-interactively(org-todo)
>   (cond ((commandp org-speed-command) (setq this-command org-speed-command) (call-interactively org-speed-command)) ((functionp org-speed-command) (funcall org-speed-command)) ((and org-speed-command ...) (eval org-speed-command)) (t (let ... ...)))
>   (cond ((and org-use-speed-commands ...) (cond ... ... ... ...)) ((and ... ... ... ...) (let ... ... ... ... ...)) (t (setq org-table-may-need-update t) (self-insert-command N) (org-fix-tags-on-the-fly) (if org-self-insert-cluster-for-undo ...)))
>   org-self-insert-command(1)
>   call-interactively(org-self-insert-command nil nil)
>
> I absolutely don't understand which conditions are met for provoking that
> strange reaction.
>
> Taking that leaf and putting it in a blanco Org file allows me to do the state
> change. So, it's not related to the headline itself.

Weird discovery: in the "full" document, the state change is blocked. But, the
state change works if I narrow the buffer on that leaf subtree...

> Anybody having an idea, or able to suggest some more tests to do, based on the
> above input?

Best regards,
  Seb

-- 
Sébastien Vauban


_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Re: TODO state change from TODO to DONE blocked
  2011-02-24 16:04 ` Sébastien Vauban
@ 2011-02-26 17:06   ` Bastien
  2011-03-04 15:01     ` Sébastien Vauban
  0 siblings, 1 reply; 12+ messages in thread
From: Bastien @ 2011-02-26 17:06 UTC (permalink / raw)
  To: Sébastien Vauban; +Cc: emacs-orgmode

Hi Sébastien,

>> 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'?

Maybe you can try to `edebug-defun' the `org-todo' function and follow
it's execution step by step.

Let us know.

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: TODO state change from TODO to DONE blocked
  2011-02-26 17:06   ` Bastien
@ 2011-03-04 15:01     ` Sébastien Vauban
  2011-03-04 15:15       ` [PATCH] " Sébastien Vauban
  2011-03-04 16:13       ` Bernt Hansen
  0 siblings, 2 replies; 12+ messages in thread
From: Sébastien Vauban @ 2011-03-04 15:01 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Bastien,

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'?

Nope. Never heard of them.

> Maybe you can try to `edebug-defun' the `org-todo' function and follow it's
> execution step by step.

Did it, but not obvious to follow -- I don't talk of the code itself, but of
my edebug skills.

> 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?

- why it allowed me to update the tasks state when I narrowed the buffer to
  that task only? Does that mean that *narrowing* somehow *drops the inherited
  properties*?

Anyway, my fault...

Best regards,
  Seb

-- 
Sébastien Vauban

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] Re: TODO state change from TODO to DONE blocked
  2011-03-04 15:01     ` Sébastien Vauban
@ 2011-03-04 15:15       ` Sébastien Vauban
  2011-03-04 18:46         ` Bastien
  2011-03-04 16:13       ` Bernt Hansen
  1 sibling, 1 reply; 12+ messages in thread
From: Sébastien Vauban @ 2011-03-04 15:15 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

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

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: Re: TODO state change from TODO to DONE blocked
  2011-03-04 15:01     ` Sébastien Vauban
  2011-03-04 15:15       ` [PATCH] " Sébastien Vauban
@ 2011-03-04 16:13       ` Bernt Hansen
  2011-03-04 21:52         ` Sébastien Vauban
  2011-03-05 10:03         ` Bastien
  1 sibling, 2 replies; 12+ messages in thread
From: Bernt Hansen @ 2011-03-04 16:13 UTC (permalink / raw)
  To: Sébastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ, Bastien



Sébastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org>
writes:

> Hi Bastien,
>
> 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)))

<snip>

> 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?
>
> - why it allowed me to update the tasks state when I narrowed the buffer to
>   that task only? Does that mean that *narrowing* somehow *drops the inherited
>   properties*?

If narrowing the buffer allows the state change when the parent (outside
the narrowed region) has the ORDERED property - I think that's a bug
that needs to be fixed.

The behaviour shouldn't change if you narrow the buffer.

-Bernt

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Re: TODO state change from TODO to DONE blocked
  2011-03-04 15:15       ` [PATCH] " Sébastien Vauban
@ 2011-03-04 18:46         ` Bastien
  2011-03-04 21:54           ` Sébastien Vauban
  0 siblings, 1 reply; 12+ messages in thread
From: Bastien @ 2011-03-04 18:46 UTC (permalink / raw)
  To: Sébastien Vauban; +Cc: emacs-orgmode

Hi Sébastien,

Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes:

>> - 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)

I'm not in favor of displaying such a long error message: I find it not
easily readable, and it raises too many potential causes for the error.

The user already knows about these various reasons by reading the
docstring of `org-enforce-todo-dependencies', which defaults to `nil'.

Thanks anyway for the patch!

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Re: TODO state change from TODO to DONE blocked
  2011-03-04 16:13       ` Bernt Hansen
@ 2011-03-04 21:52         ` Sébastien Vauban
  2011-03-05 10:03         ` Bastien
  1 sibling, 0 replies; 12+ messages in thread
From: Sébastien Vauban @ 2011-03-04 21:52 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Bernt,

Bernt Hansen wrote:
> Sébastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw-XMD5yJDbdMSQIYZ4X/+iSw@public.gmane.orgrg> writes:
>> 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)))
>
> <snip>
>
>> 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?
>>
>> - why it allowed me to update the tasks state when I narrowed the buffer to
>>   that task only? Does that mean that *narrowing* somehow *drops the inherited
>>   properties*?
>
> If narrowing the buffer allows the state change when the parent (outside the
> narrowed region) has the ORDERED property - I think that's a bug that needs
> to be fixed.

Yes, it does. That has been my workaround once -- before searching more to
find the root cause.

> The behaviour shouldn't change if you narrow the buffer.

We share the same point of view.

Best regards,
  Seb

-- 
Sébastien Vauban

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Re: TODO state change from TODO to DONE blocked
  2011-03-04 18:46         ` Bastien
@ 2011-03-04 21:54           ` Sébastien Vauban
  2011-03-05 10:02             ` Bastien
  0 siblings, 1 reply; 12+ messages in thread
From: Sébastien Vauban @ 2011-03-04 21:54 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Bastien,

Bastien wrote:
> Hi Sébastien,
>
> Sébastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:
>
>>> - 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)
>
> I'm not in favor of displaying such a long error message: I find it not
> easily readable, and it raises too many potential causes for the error.

I know, too long.

> The user already knows about these various reasons by reading the
> docstring of `org-enforce-todo-dependencies', which defaults to `nil'.

It was a matter of allowing people to loose less time next time they'll see
that message.

> Thanks anyway for the patch!

Not a problem. Just discard it.

Best regards,
  Seb

-- 
Sébastien Vauban

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Re: TODO state change from TODO to DONE blocked
  2011-03-04 21:54           ` Sébastien Vauban
@ 2011-03-05 10:02             ` Bastien
  0 siblings, 0 replies; 12+ messages in thread
From: Bastien @ 2011-03-05 10:02 UTC (permalink / raw)
  To: Sébastien Vauban; +Cc: emacs-orgmode

Hi Sébastien,

Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes:

> It was a matter of allowing people to loose less time next time
> they'll see that message.

Yes, but people would loose less time if they read the docstring 
of the variable `org-enforce-todo-dependencies' before setting it
in any fashion :)

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Re: TODO state change from TODO to DONE blocked
  2011-03-04 16:13       ` Bernt Hansen
  2011-03-04 21:52         ` Sébastien Vauban
@ 2011-03-05 10:03         ` Bastien
  2011-03-05 11:10           ` Bernt Hansen
  1 sibling, 1 reply; 12+ messages in thread
From: Bastien @ 2011-03-05 10:03 UTC (permalink / raw)
  To: Bernt Hansen; +Cc: public-emacs-orgmode-mXXj517/zsQ, Sébastien Vauban




Hi Bernt,

Bernt Hansen <bernt@norang.ca> writes:

> If narrowing the buffer allows the state change when the parent (outside
> the narrowed region) has the ORDERED property - I think that's a bug
> that needs to be fixed.

Should be fixed now, thanks.

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Re: TODO state change from TODO to DONE blocked
  2011-03-05 10:03         ` Bastien
@ 2011-03-05 11:10           ` Bernt Hansen
  0 siblings, 0 replies; 12+ messages in thread
From: Bernt Hansen @ 2011-03-05 11:10 UTC (permalink / raw)
  To: Bastien; +Cc: public-emacs-orgmode-mXXj517/zsQ, Sébastien Vauban



Awesome!  Thanks!

-Bernt

Bastien <bzg@altern.org> writes:

> Hi Bernt,
>
> Bernt Hansen <bernt@norang.ca> writes:
>
>> If narrowing the buffer allows the state change when the parent (outside
>> the narrowed region) has the ORDERED property - I think that's a bug
>> that needs to be fixed.
>
> Should be fixed now, thanks.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-03-05 11:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-24 10:51 TODO state change from TODO to DONE blocked Sébastien Vauban
2011-02-24 16:04 ` Sébastien Vauban
2011-02-26 17:06   ` Bastien
2011-03-04 15:01     ` Sébastien Vauban
2011-03-04 15:15       ` [PATCH] " Sébastien Vauban
2011-03-04 18:46         ` Bastien
2011-03-04 21:54           ` Sébastien Vauban
2011-03-05 10:02             ` Bastien
2011-03-04 16:13       ` Bernt Hansen
2011-03-04 21:52         ` Sébastien Vauban
2011-03-05 10:03         ` Bastien
2011-03-05 11:10           ` Bernt Hansen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).