[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: TODO state change from TODO to DONE blocked
From: |
Sébastien Vauban |
Subject: |
[Orgmode] Re: TODO state change from TODO to DONE blocked |
Date: |
Thu, 24 Feb 2011 17:04:39 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (windows-nt) |
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