[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] cache problem, with ECM
From: |
Alan Schmitt |
Subject: |
[O] cache problem, with ECM |
Date: |
Wed, 09 Jul 2014 10:11:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin) |
Hello,
I noticed this morning, after updating org-mode to the latest version,
that I would get an error with a trace related to a cache even if a just
started emacs. It took me a while to get down to an ECM, but here it is.
The init file used:
--8<---------------cut here---------------start------------->8---
;; use with "open /Applications/Emacs.app --args -Q -l ~/tmp/init-org.el"
(add-to-list 'load-path "/Users/schmitta/projets/org-mode/lisp")
(require 'org)
(toggle-debug-on-error)
(setq org-log-into-drawer t)
(setq org-todo-keywords
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!/!)")
(sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c@/!)")))
--8<---------------cut here---------------end--------------->8---
The crucial parts seem to be the 'org-log-into-drawer' and the fact that
switching out of WAITING triggers a note.
Here is an org file showing the problem
--8<---------------cut here---------------start------------->8---
#+STARTUP: hidestars
* Perso
:PROPERTIES:
:CATEGORY: Perso
:END:
** DONE bar
:LOGBOOK:
- State "DONE" from "TODO" [2014-07-06 Sun 19:22]
:END:
[2014-07-06 Sun 10:01]
** WAITING foo :@fun:
SCHEDULED: <2014-07-09 Wed>
:PROPERTIES:
:ID: 79A4028E-DBDA-49D4-AD39-BD2786EF9FBD
:END:
* Hacking
:PROPERTIES:
:CATEGORY: Hacking
:END:
--8<---------------cut here---------------end--------------->8---
I tried removing many things (like headling before or after the issue,
the hidestars, or the tag), but removing each one makes the problem go
away.
The problem occurs when I do "C-c C-t d" on the WAITING headline, which
results in this big backtrace:
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
+(nil 6 7)
(let ((limit (+ (aref request 1) (aref request 3) extra))) (if (and threshold
(< threshold limit)) (progn (throw (quote interrupt) nil))) (let ((parent
(org-element--parse-to limit t time-limit))) (aset request 5 parent) (aset
request 6 2) (throw (quote end-phase) nil)))
(catch (quote end-phase) (if (equal (aref request 0) next) (progn (throw
(quote quit) t))) (let ((limit (+ (aref request 1) (aref request 3) extra)))
(if (and threshold (< threshold limit)) (progn (throw (quote interrupt) nil)))
(let ((parent (org-element--parse-to limit t time-limit))) (aset request 5
parent) (aset request 6 2) (throw (quote end-phase) nil))))
(progn (catch (quote end-phase) (if (equal (aref request 0) next) (progn
(throw (quote quit) t))) (let ((limit (+ (aref request 1) (aref request 3)
extra))) (if (and threshold (< threshold limit)) (progn (throw (quote
interrupt) nil))) (let ((parent (org-element--parse-to limit t time-limit)))
(aset request 5 parent) (aset request 6 2) (throw (quote end-phase) nil)))))
(if (= (aref request 6) 1) (progn (catch (quote end-phase) (if (equal (aref
request 0) next) (progn (throw (quote quit) t))) (let ((limit (+ (aref request
1) (aref request 3) extra))) (if (and threshold (< threshold limit)) (progn
(throw (quote interrupt) nil))) (let ((parent (org-element--parse-to limit t
time-limit))) (aset request 5 parent) (aset request 6 2) (throw (quote
end-phase) nil))))))
(catch (quote quit) (if (= (aref request 6) 0) (progn (catch (quote
end-phase) (let ((beg (aref request 0)) (end (aref request 2)) (outreach (aref
request 4))) (while t (if (org-element--cache-interrupt-p time-limit) (progn
...)) (let (... data data-key) (while node ...) (if data ... ...))))))) (if (=
(aref request 6) 1) (progn (catch (quote end-phase) (if (equal (aref request 0)
next) (progn (throw (quote quit) t))) (let ((limit (+ ... ... extra))) (if (and
threshold (< threshold limit)) (progn (throw ... nil))) (let ((parent ...))
(aset request 5 parent) (aset request 6 2) (throw (quote end-phase) nil))))))
(let ((start (aref request 0)) (offset (aref request 3)) (parent (aref request
5)) (node (org-element--cache-root)) (stack (list nil)) (leftp t) exit-flag)
(if (and (not parent) (zerop offset)) (progn (throw (quote quit) t))) (while
node (let* ((data (progn (aref node 2))) (key (org-element--cache-key data)))
(if (and leftp (progn (aref node 0)) (not (org-element--cache-key-less-p key
start))) (progn (setq stack (cons node stack)) (setq node (progn ...))) (if
(org-element--cache-key-less-p key start) nil (if (equal key next) (progn ...))
(if (or exit-flag ...) (progn ... ... ...)) (if (zerop offset) nil
(org-element--cache-shift-positions data offset) (progn ...)) (let (...) (while
... ...) (cond ... ...) (if ... ...))) (setq node (if (setq leftp ...) (progn
...) (car ...)))))) t))
org-element--cache-process-request([339 nil 253 6 nil nil 1] nil 334 nil 7)
(while org-element--cache-sync-requests (setq request (car
org-element--cache-sync-requests) next (nth 1
org-element--cache-sync-requests)) (org-element--cache-process-request request
(and next (aref next 0)) threshold (and (not threshold) (time-add
(current-time) org-element-cache-sync-duration)) (or extra 0)) (if next (progn
(let* ((v next)) (aset v 3 (+ (aref v 3) (aref request 3)))) (aset next 2 (aref
request 2)) (aset next 6 (aref request 6)))) (setq
org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))
(catch (quote interrupt) (while org-element--cache-sync-requests (setq
request (car org-element--cache-sync-requests) next (nth 1
org-element--cache-sync-requests)) (org-element--cache-process-request request
(and next (aref next 0)) threshold (and (not threshold) (time-add
(current-time) org-element-cache-sync-duration)) (or extra 0)) (if next (progn
(let* ((v next)) (aset v 3 (+ (aref v 3) (aref request 3)))) (aset next 2 (aref
request 2)) (aset next 6 (aref request 6)))) (setq
org-element--cache-sync-requests (cdr org-element--cache-sync-requests))))
(let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn
(cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while
org-element--cache-sync-requests (setq request (car
org-element--cache-sync-requests) next (nth 1
org-element--cache-sync-requests)) (org-element--cache-process-request request
(and next (aref next 0)) threshold (and (not threshold) (time-add
(current-time) org-element-cache-sync-duration)) (or extra 0)) (if next (progn
(let* ((v next)) (aset v 3 (+ ... ...))) (aset next 2 (aref request 2)) (aset
next 6 (aref request 6)))) (setq org-element--cache-sync-requests (cdr
org-element--cache-sync-requests)))) (if org-element--cache-sync-requests
(org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))
(save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next)
(if org-element--cache-sync-timer (progn (cancel-timer
org-element--cache-sync-timer))) (catch (quote interrupt) (while
org-element--cache-sync-requests (setq request (car
org-element--cache-sync-requests) next (nth 1
org-element--cache-sync-requests)) (org-element--cache-process-request request
(and next (aref next 0)) threshold (and (not threshold) (time-add
(current-time) org-element-cache-sync-duration)) (or extra 0)) (if next (progn
(let* (...) (aset v 3 ...)) (aset next 2 (aref request 2)) (aset next 6 (aref
request 6)))) (setq org-element--cache-sync-requests (cdr
org-element--cache-sync-requests)))) (if org-element--cache-sync-requests
(org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))
(progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t)
request next) (if org-element--cache-sync-timer (progn (cancel-timer
org-element--cache-sync-timer))) (catch (quote interrupt) (while
org-element--cache-sync-requests (setq request (car
org-element--cache-sync-requests) next (nth 1
org-element--cache-sync-requests)) (org-element--cache-process-request request
(and next (aref next 0)) threshold (and (not threshold) (time-add ...
org-element-cache-sync-duration)) (or extra 0)) (if next (progn (let* ... ...)
(aset next 2 ...) (aset next 6 ...))) (setq org-element--cache-sync-requests
(cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests
(org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))
(if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer)
(let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn
(cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while
org-element--cache-sync-requests (setq request (car
org-element--cache-sync-requests) next (nth 1
org-element--cache-sync-requests)) (org-element--cache-process-request request
(and next ...) threshold (and ... ...) (or extra 0)) (if next (progn ... ...
...)) (setq org-element--cache-sync-requests (cdr
org-element--cache-sync-requests)))) (if org-element--cache-sync-requests
(org-element--cache-set-timer buffer) (clrhash
org-element--cache-sync-keys))))))
org-element--cache-sync(#<buffer waiting_bug.org> 334 7)
(progn (org-element--cache-sync (current-buffer) end offset))
(if next (progn (org-element--cache-sync (current-buffer) end offset)))
(if (and next (zerop (aref next 6)) (> (setq delete-to (+ (aref next 2) (aref
next 3))) end) (<= (setq delete-from (aref next 1)) end)) (progn (let* ((v
next)) (aset v 3 (+ (aref v 3) offset))) (if (> beg delete-from) (let ((up
(aref next 5))) (while up (org-element--cache-shift-positions up offset (quote
(:contents-end :end))) (setq up (org-element-property :parent up)))) (let
((first (org-element--cache-for-removal beg delete-to offset))) (if first
(progn (aset next 0 (org-element--cache-key first)) (aset next 1
(org-element-property :begin first)) (aset next 5 (org-element-property :parent
first))))))) (if next (progn (org-element--cache-sync (current-buffer) end
offset))) (let ((first (org-element--cache-for-removal beg end offset))) (if
first (setq org-element--cache-sync-requests (cons (let ((beg ...) (key ...))
(cond (... ...) (...) (t ...))) org-element--cache-sync-requests)) (if
org-element--cache-sync-requests (progn (let* ((v ...)) (aset v 3 (+ ...
offset))))))))
(let ((next (car org-element--cache-sync-requests)) delete-to delete-from)
(if (and next (zerop (aref next 6)) (> (setq delete-to (+ (aref next 2) (aref
next 3))) end) (<= (setq delete-from (aref next 1)) end)) (progn (let* ((v
next)) (aset v 3 (+ (aref v 3) offset))) (if (> beg delete-from) (let ((up
(aref next 5))) (while up (org-element--cache-shift-positions up offset (quote
...)) (setq up (org-element-property :parent up)))) (let ((first
(org-element--cache-for-removal beg delete-to offset))) (if first (progn (aset
next 0 ...) (aset next 1 ...) (aset next 5 ...)))))) (if next (progn
(org-element--cache-sync (current-buffer) end offset))) (let ((first
(org-element--cache-for-removal beg end offset))) (if first (setq
org-element--cache-sync-requests (cons (let (... ...) (cond ... ... ...))
org-element--cache-sync-requests)) (if org-element--cache-sync-requests (progn
(let* (...) (aset v 3 ...))))))))
org-element--cache-submit-request(223 334 7)
(let ((offset (- end beg pre))) (org-element--cache-submit-request top (-
bottom offset) offset))
(let ((top (point)) (bottom (save-excursion (goto-char end)
(line-end-position)))) (if (cond ((memql org-element--cache-change-warning
(quote (t))) t) ((eql org-element--cache-change-warning (quote headline)) (not
(and (let* (... ... ... ...) (org-at-heading-p)) (= (line-end-position)
bottom)))) (t (let ((case-fold-search t)) (re-search-forward
org-element--cache-sensitive-re bottom t)))) (progn (let*
((org-called-with-limited-levels t) (org-outline-regexp
(org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp)
(org-outline-regexp-bol (concat "^" org-outline-regexp))) (setq top (progn
(goto-char top) (if (outline-previous-heading) (progn ...)) (point))) (setq
bottom (progn (goto-char bottom) (if (outline-next-heading) (1- ...)
(point))))))) (let ((offset (- end beg pre)))
(org-element--cache-submit-request top (- bottom offset) offset)))
(progn (let ((top (point)) (bottom (save-excursion (goto-char end)
(line-end-position)))) (if (cond ((memql org-element--cache-change-warning
(quote (t))) t) ((eql org-element--cache-change-warning (quote headline)) (not
(and (let* ... ...) (= ... bottom)))) (t (let ((case-fold-search t))
(re-search-forward org-element--cache-sensitive-re bottom t)))) (progn (let*
((org-called-with-limited-levels t) (org-outline-regexp
(org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp)
(org-outline-regexp-bol (concat "^" org-outline-regexp))) (setq top (progn
(goto-char top) (if ... ...) (point))) (setq bottom (progn (goto-char bottom)
(if ... ... ...)))))) (let ((offset (- end beg pre)))
(org-element--cache-submit-request top (- bottom offset) offset))))
(unwind-protect (progn (let ((top (point)) (bottom (save-excursion (goto-char
end) (line-end-position)))) (if (cond ((memql org-element--cache-change-warning
(quote ...)) t) ((eql org-element--cache-change-warning (quote headline)) (not
(and ... ...))) (t (let (...) (re-search-forward
org-element--cache-sensitive-re bottom t)))) (progn (let*
((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp
org-outline-regexp) (org-outline-regexp-bol ...)) (setq top (progn ... ...
...)) (setq bottom (progn ... ...))))) (let ((offset (- end beg pre)))
(org-element--cache-submit-request top (- bottom offset) offset))))
(set-match-data save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal (match-data))) (unwind-protect (progn (let
((top (point)) (bottom (save-excursion (goto-char end) (line-end-position))))
(if (cond ((memql org-element--cache-change-warning ...) t) ((eql
org-element--cache-change-warning ...) (not ...)) (t (let ... ...))) (progn
(let* (... ... ... ...) (setq top ...) (setq bottom ...)))) (let ((offset (-
end beg pre))) (org-element--cache-submit-request top (- bottom offset)
offset)))) (set-match-data save-match-data-internal (quote evaporate))))
(save-restriction (widen) (goto-char beg) (beginning-of-line) (let
((save-match-data-internal (match-data))) (unwind-protect (progn (let ((top
(point)) (bottom (save-excursion ... ...))) (if (cond (... t) (... ...) (t
...)) (progn (let* ... ... ...))) (let ((offset ...))
(org-element--cache-submit-request top (- bottom offset) offset))))
(set-match-data save-match-data-internal (quote evaporate)))))
(save-excursion (save-restriction (widen) (goto-char beg) (beginning-of-line)
(let ((save-match-data-internal (match-data))) (unwind-protect (progn (let
((top ...) (bottom ...)) (if (cond ... ... ...) (progn ...)) (let (...)
(org-element--cache-submit-request top ... offset)))) (set-match-data
save-match-data-internal (quote evaporate))))))
(progn (save-excursion (save-restriction (widen) (goto-char beg)
(beginning-of-line) (let ((save-match-data-internal (match-data)))
(unwind-protect (progn (let (... ...) (if ... ...) (let ... ...)))
(set-match-data save-match-data-internal (quote evaporate))))))
(org-element--cache-set-timer (current-buffer)))
(if (org-element--cache-active-p) (progn (save-excursion (save-restriction
(widen) (goto-char beg) (beginning-of-line) (let ((save-match-data-internal
(match-data))) (unwind-protect (progn (let ... ... ...)) (set-match-data
save-match-data-internal (quote evaporate)))))) (org-element--cache-set-timer
(current-buffer))))
org-element--cache-after-change(261 268 0)
insert("\n:" "LOGBOOK" ":\n:END:")
(if (re-search-forward (concat "^[ ]*:" drawer ":[ ]*$") nil t)
(progn (goto-char (match-end 0)) (or org-log-states-order-reversed (and
(re-search-forward org-property-end-re nil t) (goto-char (1- (match-beginning
0)))))) (insert "\n:" drawer ":\n:END:") (beginning-of-line 0)
(org-indent-line) (beginning-of-line 2) (org-indent-line) (end-of-line 0))
(cond (drawer (if (re-search-forward (concat "^[ ]*:" drawer ":[
]*$") nil t) (progn (goto-char (match-end 0)) (or org-log-states-order-reversed
(and (re-search-forward org-property-end-re nil t) (goto-char (1- ...)))))
(insert "\n:" drawer ":\n:END:") (beginning-of-line 0) (org-indent-line)
(beginning-of-line 2) (org-indent-line) (end-of-line 0))) ((and
org-log-state-notes-insert-after-drawers (save-excursion (forward-line)
(looking-at org-drawer-regexp))) (forward-line) (while (looking-at
org-drawer-regexp) (goto-char (match-end 0)) (re-search-forward
org-property-end-re (point-max) t) (forward-line)) (forward-line -1)))
(progn (org-back-to-heading t) (narrow-to-region (point) (save-excursion
(outline-next-heading) (point))) (looking-at (concat org-outline-regexp "\\(
*\\)[^\n]*" "\\(\n[^\n]*?" org-keyword-time-not-clock-regexp "[^\n]*\\)?"))
(goto-char (match-end 0)) (cond (drawer (if (re-search-forward (concat "^[
]*:" drawer ":[ ]*$") nil t) (progn (goto-char (match-end 0)) (or
org-log-states-order-reversed (and (re-search-forward org-property-end-re nil
t) (goto-char ...)))) (insert "\n:" drawer ":\n:END:") (beginning-of-line 0)
(org-indent-line) (beginning-of-line 2) (org-indent-line) (end-of-line 0)))
((and org-log-state-notes-insert-after-drawers (save-excursion (forward-line)
(looking-at org-drawer-regexp))) (forward-line) (while (looking-at
org-drawer-regexp) (goto-char (match-end 0)) (re-search-forward
org-property-end-re (point-max) t) (forward-line)) (forward-line -1))) (if
org-log-states-order-reversed nil (and (= (char-after) 10) (forward-char 1))
(org-skip-over-state-notes) (skip-chars-backward " \n")))
(if findpos (progn (org-back-to-heading t) (narrow-to-region (point)
(save-excursion (outline-next-heading) (point))) (looking-at (concat
org-outline-regexp "\\( *\\)[^\n]*" "\\(\n[^\n]*?"
org-keyword-time-not-clock-regexp "[^\n]*\\)?")) (goto-char (match-end 0))
(cond (drawer (if (re-search-forward (concat "^[ ]*:" drawer ":[
]*$") nil t) (progn (goto-char (match-end 0)) (or org-log-states-order-reversed
(and ... ...))) (insert "\n:" drawer ":\n:END:") (beginning-of-line 0)
(org-indent-line) (beginning-of-line 2) (org-indent-line) (end-of-line 0)))
((and org-log-state-notes-insert-after-drawers (save-excursion (forward-line)
(looking-at org-drawer-regexp))) (forward-line) (while (looking-at
org-drawer-regexp) (goto-char (match-end 0)) (re-search-forward
org-property-end-re (point-max) t) (forward-line)) (forward-line -1))) (if
org-log-states-order-reversed nil (and (= (char-after) 10) (forward-char 1))
(org-skip-over-state-notes) (skip-chars-backward " \n"))))
(save-excursion (if findpos (progn (org-back-to-heading t) (narrow-to-region
(point) (save-excursion (outline-next-heading) (point))) (looking-at (concat
org-outline-regexp "\\( *\\)[^\n]*" "\\(\n[^\n]*?"
org-keyword-time-not-clock-regexp "[^\n]*\\)?")) (goto-char (match-end 0))
(cond (drawer (if (re-search-forward (concat "^[ ]*:" drawer ":[
]*$") nil t) (progn (goto-char ...) (or org-log-states-order-reversed ...))
(insert "\n:" drawer ":\n:END:") (beginning-of-line 0) (org-indent-line)
(beginning-of-line 2) (org-indent-line) (end-of-line 0))) ((and
org-log-state-notes-insert-after-drawers (save-excursion (forward-line)
(looking-at org-drawer-regexp))) (forward-line) (while (looking-at
org-drawer-regexp) (goto-char (match-end 0)) (re-search-forward
org-property-end-re (point-max) t) (forward-line)) (forward-line -1))) (if
org-log-states-order-reversed nil (and (= (char-after) 10) (forward-char 1))
(org-skip-over-state-notes) (skip-chars-backward " \n")))) (move-marker
org-log-note-marker (point)) (setq org-log-note-purpose purpose
org-log-note-state state org-log-note-previous-state prev-state
org-log-note-how how org-log-note-extra extra org-log-note-effective-time
(org-current-effective-time)) (add-hook (quote post-command-hook) (quote
org-add-log-note) (quote append)))
(save-restriction (save-excursion (if findpos (progn (org-back-to-heading t)
(narrow-to-region (point) (save-excursion (outline-next-heading) (point)))
(looking-at (concat org-outline-regexp "\\( *\\)[^\n]*" "\\(\n[^\n]*?"
org-keyword-time-not-clock-regexp "[^\n]*\\)?")) (goto-char (match-end 0))
(cond (drawer (if (re-search-forward ... nil t) (progn ... ...) (insert "\n:"
drawer ":\n:END:") (beginning-of-line 0) (org-indent-line) (beginning-of-line
2) (org-indent-line) (end-of-line 0))) ((and
org-log-state-notes-insert-after-drawers (save-excursion ... ...))
(forward-line) (while (looking-at org-drawer-regexp) (goto-char ...)
(re-search-forward org-property-end-re ... t) (forward-line)) (forward-line
-1))) (if org-log-states-order-reversed nil (and (= (char-after) 10)
(forward-char 1)) (org-skip-over-state-notes) (skip-chars-backward "
\n")))) (move-marker org-log-note-marker (point)) (setq org-log-note-purpose
purpose org-log-note-state state org-log-note-previous-state prev-state
org-log-note-how how org-log-note-extra extra org-log-note-effective-time
(org-current-effective-time)) (add-hook (quote post-command-hook) (quote
org-add-log-note) (quote append))))
(let* ((org-log-into-drawer (org-log-into-drawer)) (drawer (cond ((stringp
org-log-into-drawer) org-log-into-drawer) (org-log-into-drawer "LOGBOOK"))))
(save-restriction (save-excursion (if findpos (progn (org-back-to-heading t)
(narrow-to-region (point) (save-excursion (outline-next-heading) (point)))
(looking-at (concat org-outline-regexp "\\( *\\)[^\n]*" "\\(\n[^\n]*?"
org-keyword-time-not-clock-regexp "[^\n]*\\)?")) (goto-char (match-end 0))
(cond (drawer (if ... ... ... ... ... ... ... ...)) ((and
org-log-state-notes-insert-after-drawers ...) (forward-line) (while ... ... ...
...) (forward-line -1))) (if org-log-states-order-reversed nil (and (= ... 10)
(forward-char 1)) (org-skip-over-state-notes) (skip-chars-backward "
\n")))) (move-marker org-log-note-marker (point)) (setq org-log-note-purpose
purpose org-log-note-state state org-log-note-previous-state prev-state
org-log-note-how how org-log-note-extra extra org-log-note-effective-time
(org-current-effective-time)) (add-hook (quote post-command-hook) (quote
org-add-log-note) (quote append)))))
org-add-log-setup(state #("DONE" 0 4 (face org-done)) #("WAITING" 0 7
(fontified t face org-todo)) findpos time)
(progn (org-add-log-setup (quote state) org-state this (quote findpos) dolog))
(if (and org-state dolog) (progn (org-add-log-setup (quote state) org-state
this (quote findpos) dolog)))
(progn (setq dolog (or (nth 1 (assoc org-state org-todo-log-states)) (nth 2
(assoc this org-todo-log-states)))) (if (and (eq dolog (quote note)) (eq
org-inhibit-logging (quote note))) (setq dolog (quote time))) (if (or (and (not
org-state) (not org-closed-keep-when-no-todo)) (and org-state (member org-state
org-not-done-keywords) (not (member this org-not-done-keywords)))) (progn
(org-add-planning-info nil nil (quote closed)))) (if (and now-done-p
org-log-done) (progn (org-add-planning-info (quote closed)
(org-current-effective-time)) (if (and (not dolog) (eq (quote note)
org-log-done)) (org-add-log-setup (quote done) org-state this (quote findpos)
(quote note))))) (if (and org-state dolog) (progn (org-add-log-setup (quote
state) org-state this (quote findpos) dolog))))
(if (and (or org-todo-log-states org-log-done) (not (eq org-inhibit-logging
t)) (not (memq arg (quote (nextset previousset))))) (progn (setq dolog (or (nth
1 (assoc org-state org-todo-log-states)) (nth 2 (assoc this
org-todo-log-states)))) (if (and (eq dolog (quote note)) (eq
org-inhibit-logging (quote note))) (setq dolog (quote time))) (if (or (and (not
org-state) (not org-closed-keep-when-no-todo)) (and org-state (member org-state
org-not-done-keywords) (not (member this org-not-done-keywords)))) (progn
(org-add-planning-info nil nil (quote closed)))) (if (and now-done-p
org-log-done) (progn (org-add-planning-info (quote closed)
(org-current-effective-time)) (if (and (not dolog) (eq (quote note)
org-log-done)) (org-add-log-setup (quote done) org-state this (quote findpos)
(quote note))))) (if (and org-state dolog) (progn (org-add-log-setup (quote
state) org-state this (quote findpos) dolog)))))
(let* ((match-data (match-data)) (startpos (point-at-bol)) (logging (let
((save-match-data-internal (match-data))) (unwind-protect (progn (org-entry-get
nil "LOGGING" t t)) (set-match-data save-match-data-internal (quote
evaporate))))) (org-log-done org-log-done) (org-log-repeat org-log-repeat)
(org-todo-log-states org-todo-log-states) (org-inhibit-logging (if (equal arg
0) (progn (setq arg nil) (quote note)) org-inhibit-logging)) (this
(match-string 1)) (hl-pos (match-beginning 0)) (head
(org-get-todo-sequence-head this)) (ass (assoc head org-todo-kwd-alist))
(interpret (nth 1 ass)) (done-word (nth 3 ass)) (final-done-word (nth 4 ass))
(org-last-state (or this "")) (completion-ignore-case t) (member (member this
org-todo-keywords-1)) (tail (cdr member)) (org-state (cond ((and
org-todo-key-trigger (or (and ... ...) (and ... org-use-fast-todo-selection
...))) (org-fast-todo-selection)) ((and (equal arg (quote ...)) (or (not
org-use-fast-todo-selection) (not org-todo-key-trigger))) (org-icompleting-read
"State: " (mapcar (quote list) org-todo-keywords-1) nil t)) ((eq arg (quote
right)) (if this (if tail (car tail) nil) (car org-todo-keywords-1))) ((eq arg
(quote left)) (if (equal member org-todo-keywords-1) nil (if this (nth ...
org-todo-keywords-1) (org-last org-todo-keywords-1)))) ((and (eq
org-use-fast-todo-selection t) (equal arg (quote ...)) (setq arg nil))) (arg
(cond ((equal arg "") nil) ((eq arg ...) nil) ((eq arg ...) (or done-word ...))
((eq arg ...) (or ... ...)) ((eq arg ...) (let ... ...)) ((car ...)) ((stringp
arg) (user-error "State `%s' not valid in this file" arg)) ((nth ...
org-todo-keywords-1)))) ((null member) (or head (car org-todo-keywords-1)))
((equal this final-done-word) nil) ((null tail) nil) ((memq interpret (quote
(type priority))) (if (eq this-command last-command) (car tail) (if (> ... 0)
(or done-word ...) nil))) (t (car tail)))) (org-state (or
(run-hook-with-args-until-success (quote org-todo-get-default-hook) org-state
org-last-state) org-state)) (next (if org-state (concat " " org-state " ") "
")) (change-plist (list :type (quote todo-state-change) :from this :to
org-state :position startpos)) dolog now-done-p) (if org-blocker-hook (progn
(setq org-last-todo-state-is-todo (not (member this org-done-keywords))) (if
(save-excursion (let ((save-match-data-internal ...)) (unwind-protect (progn
...) (set-match-data save-match-data-internal ...)))) nil (if (with-no-warnings
(called-interactively-p (quote interactive))) (user-error "TODO state change
from %s to %s blocked (by \"%s\")" this org-state org-block-entry-blocking)
(message "TODO state change from %s to %s blocked (by \"%s\")" this org-state
org-block-entry-blocking) (throw (quote exit) nil))))) (store-match-data
match-data) (replace-match next t t) (cond ((equal this org-state) (message
"TODO state was already %s" (org-trim next))) ((pos-visible-in-window-p hl-pos)
(message "TODO state changed to %s" (org-trim next)))) (if head nil (setq head
(org-get-todo-sequence-head org-state) ass (assoc head org-todo-kwd-alist)
interpret (nth 1 ass) done-word (nth 3 ass) final-done-word (nth 4 ass))) (if
(memq arg (quote (nextset previousset))) (progn (message "Keyword-Set %d/%d:
%s" (- (length org-todo-sets) -1 (length (memq (assoc org-state org-todo-sets)
org-todo-sets))) (length org-todo-sets) (mapconcat (quote identity) (assoc
org-state org-todo-sets) " ")))) (setq org-last-todo-state-is-todo (not (member
org-state org-done-keywords))) (setq now-done-p (and (member org-state
org-done-keywords) (not (member this org-done-keywords)))) (and logging
(org-local-logging logging)) (if (and (or org-todo-log-states org-log-done)
(not (eq org-inhibit-logging t)) (not (memq arg (quote (nextset
previousset))))) (progn (setq dolog (or (nth 1 (assoc org-state
org-todo-log-states)) (nth 2 (assoc this org-todo-log-states)))) (if (and (eq
dolog (quote note)) (eq org-inhibit-logging (quote note))) (setq dolog (quote
time))) (if (or (and (not org-state) (not org-closed-keep-when-no-todo)) (and
org-state (member org-state org-not-done-keywords) (not (member this
org-not-done-keywords)))) (progn (org-add-planning-info nil nil (quote
closed)))) (if (and now-done-p org-log-done) (progn (org-add-planning-info
(quote closed) (org-current-effective-time)) (if (and (not dolog) (eq ...
org-log-done)) (org-add-log-setup (quote done) org-state this (quote findpos)
(quote note))))) (if (and org-state dolog) (progn (org-add-log-setup (quote
state) org-state this (quote findpos) dolog))))) (org-todo-trigger-tag-changes
org-state) (and org-auto-align-tags (not org-setting-tags) (org-set-tags nil
t)) (if org-provide-todo-statistics (progn
(org-update-parent-todo-statistics))) (run-hooks (quote
org-after-todo-state-change-hook)) (if (and arg (not (member org-state
org-done-keywords))) (setq head (org-get-todo-sequence-head org-state)))
(put-text-property (point-at-bol) (point-at-eol) (quote org-todo-head) head)
(if now-done-p (progn (if (boundp (quote
org-agenda-headline-snapshot-before-repeat)) (progn (let
((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data
save-match-data-internal ...))))) (org-auto-repeat-maybe org-state))) (if (and
(outline-on-heading-p) (not (bolp)) (save-excursion (beginning-of-line 1)
(looking-at org-todo-line-regexp)) (< (point) (+ 2 (or (match-end 2) (match-end
1))))) (progn (goto-char (or (match-end 2) (match-end 1))) (and (looking-at "
") (just-one-space)))) (if org-trigger-hook (progn (save-excursion
(run-hook-with-args (quote org-trigger-hook) change-plist)))) (if commentp
(progn (org-toggle-comment))))
(catch (quote exit) (org-back-to-heading t) (if (org-in-commented-heading-p
t) (progn (org-toggle-comment) (setq commentp t))) (if (looking-at
org-outline-regexp) (goto-char (1- (match-end 0)))) (or (looking-at (concat "
+" org-todo-regexp "\\( +\\|[ ]*$\\)")) (looking-at "\\(?: *\\|[
]*$\\)")) (let* ((match-data (match-data)) (startpos (point-at-bol)) (logging
(let ((save-match-data-internal (match-data))) (unwind-protect (progn
(org-entry-get nil "LOGGING" t t)) (set-match-data save-match-data-internal
(quote evaporate))))) (org-log-done org-log-done) (org-log-repeat
org-log-repeat) (org-todo-log-states org-todo-log-states) (org-inhibit-logging
(if (equal arg 0) (progn (setq arg nil) (quote note)) org-inhibit-logging))
(this (match-string 1)) (hl-pos (match-beginning 0)) (head
(org-get-todo-sequence-head this)) (ass (assoc head org-todo-kwd-alist))
(interpret (nth 1 ass)) (done-word (nth 3 ass)) (final-done-word (nth 4 ass))
(org-last-state (or this "")) (completion-ignore-case t) (member (member this
org-todo-keywords-1)) (tail (cdr member)) (org-state (cond ((and
org-todo-key-trigger (or ... ...)) (org-fast-todo-selection)) ((and (equal arg
...) (or ... ...)) (org-icompleting-read "State: " (mapcar ...
org-todo-keywords-1) nil t)) ((eq arg (quote right)) (if this (if tail ... nil)
(car org-todo-keywords-1))) ((eq arg (quote left)) (if (equal member
org-todo-keywords-1) nil (if this ... ...))) ((and (eq
org-use-fast-todo-selection t) (equal arg ...) (setq arg nil))) (arg (cond (...
nil) (... nil) (... ...) (... ...) (... ...) (...) (... ...) (...))) ((null
member) (or head (car org-todo-keywords-1))) ((equal this final-done-word) nil)
((null tail) nil) ((memq interpret (quote ...)) (if (eq this-command
last-command) (car tail) (if ... ... nil))) (t (car tail)))) (org-state (or
(run-hook-with-args-until-success (quote org-todo-get-default-hook) org-state
org-last-state) org-state)) (next (if org-state (concat " " org-state " ") "
")) (change-plist (list :type (quote todo-state-change) :from this :to
org-state :position startpos)) dolog now-done-p) (if org-blocker-hook (progn
(setq org-last-todo-state-is-todo (not (member this org-done-keywords))) (if
(save-excursion (let (...) (unwind-protect ... ...))) nil (if (with-no-warnings
(called-interactively-p ...)) (user-error "TODO state change from %s to %s
blocked (by \"%s\")" this org-state org-block-entry-blocking) (message "TODO
state change from %s to %s blocked (by \"%s\")" this org-state
org-block-entry-blocking) (throw (quote exit) nil))))) (store-match-data
match-data) (replace-match next t t) (cond ((equal this org-state) (message
"TODO state was already %s" (org-trim next))) ((pos-visible-in-window-p hl-pos)
(message "TODO state changed to %s" (org-trim next)))) (if head nil (setq head
(org-get-todo-sequence-head org-state) ass (assoc head org-todo-kwd-alist)
interpret (nth 1 ass) done-word (nth 3 ass) final-done-word (nth 4 ass))) (if
(memq arg (quote (nextset previousset))) (progn (message "Keyword-Set %d/%d:
%s" (- (length org-todo-sets) -1 (length (memq ... org-todo-sets))) (length
org-todo-sets) (mapconcat (quote identity) (assoc org-state org-todo-sets) "
")))) (setq org-last-todo-state-is-todo (not (member org-state
org-done-keywords))) (setq now-done-p (and (member org-state org-done-keywords)
(not (member this org-done-keywords)))) (and logging (org-local-logging
logging)) (if (and (or org-todo-log-states org-log-done) (not (eq
org-inhibit-logging t)) (not (memq arg (quote (nextset previousset))))) (progn
(setq dolog (or (nth 1 (assoc org-state org-todo-log-states)) (nth 2 (assoc
this org-todo-log-states)))) (if (and (eq dolog (quote note)) (eq
org-inhibit-logging (quote note))) (setq dolog (quote time))) (if (or (and (not
org-state) (not org-closed-keep-when-no-todo)) (and org-state (member org-state
org-not-done-keywords) (not ...))) (progn (org-add-planning-info nil nil (quote
closed)))) (if (and now-done-p org-log-done) (progn (org-add-planning-info
(quote closed) (org-current-effective-time)) (if (and ... ...)
(org-add-log-setup ... org-state this ... ...)))) (if (and org-state dolog)
(progn (org-add-log-setup (quote state) org-state this (quote findpos)
dolog))))) (org-todo-trigger-tag-changes org-state) (and org-auto-align-tags
(not org-setting-tags) (org-set-tags nil t)) (if org-provide-todo-statistics
(progn (org-update-parent-todo-statistics))) (run-hooks (quote
org-after-todo-state-change-hook)) (if (and arg (not (member org-state
org-done-keywords))) (setq head (org-get-todo-sequence-head org-state)))
(put-text-property (point-at-bol) (point-at-eol) (quote org-todo-head) head)
(if now-done-p (progn (if (boundp (quote
org-agenda-headline-snapshot-before-repeat)) (progn (let (...) (unwind-protect
... ...)))) (org-auto-repeat-maybe org-state))) (if (and (outline-on-heading-p)
(not (bolp)) (save-excursion (beginning-of-line 1) (looking-at
org-todo-line-regexp)) (< (point) (+ 2 (or (match-end 2) (match-end 1)))))
(progn (goto-char (or (match-end 2) (match-end 1))) (and (looking-at " ")
(just-one-space)))) (if org-trigger-hook (progn (save-excursion
(run-hook-with-args (quote org-trigger-hook) change-plist)))) (if commentp
(progn (org-toggle-comment)))))
(save-excursion (catch (quote exit) (org-back-to-heading t) (if
(org-in-commented-heading-p t) (progn (org-toggle-comment) (setq commentp t)))
(if (looking-at org-outline-regexp) (goto-char (1- (match-end 0)))) (or
(looking-at (concat " +" org-todo-regexp "\\( +\\|[ ]*$\\)")) (looking-at
"\\(?: *\\|[ ]*$\\)")) (let* ((match-data (match-data)) (startpos
(point-at-bol)) (logging (let ((save-match-data-internal ...)) (unwind-protect
(progn ...) (set-match-data save-match-data-internal ...)))) (org-log-done
org-log-done) (org-log-repeat org-log-repeat) (org-todo-log-states
org-todo-log-states) (org-inhibit-logging (if (equal arg 0) (progn (setq arg
nil) (quote note)) org-inhibit-logging)) (this (match-string 1)) (hl-pos
(match-beginning 0)) (head (org-get-todo-sequence-head this)) (ass (assoc head
org-todo-kwd-alist)) (interpret (nth 1 ass)) (done-word (nth 3 ass))
(final-done-word (nth 4 ass)) (org-last-state (or this ""))
(completion-ignore-case t) (member (member this org-todo-keywords-1)) (tail
(cdr member)) (org-state (cond ((and org-todo-key-trigger ...)
(org-fast-todo-selection)) ((and ... ...) (org-icompleting-read "State: " ...
nil t)) ((eq arg ...) (if this ... ...)) ((eq arg ...) (if ... nil ...)) ((and
... ... ...)) (arg (cond ... ... ... ... ... ... ... ...)) ((null member) (or
head ...)) ((equal this final-done-word) nil) ((null tail) nil) ((memq
interpret ...) (if ... ... ...)) (t (car tail)))) (org-state (or
(run-hook-with-args-until-success (quote org-todo-get-default-hook) org-state
org-last-state) org-state)) (next (if org-state (concat " " org-state " ") "
")) (change-plist (list :type (quote todo-state-change) :from this :to
org-state :position startpos)) dolog now-done-p) (if org-blocker-hook (progn
(setq org-last-todo-state-is-todo (not (member this org-done-keywords))) (if
(save-excursion (let ... ...)) nil (if (with-no-warnings ...) (user-error "TODO
state change from %s to %s blocked (by \"%s\")" this org-state
org-block-entry-blocking) (message "TODO state change from %s to %s blocked (by
\"%s\")" this org-state org-block-entry-blocking) (throw ... nil)))))
(store-match-data match-data) (replace-match next t t) (cond ((equal this
org-state) (message "TODO state was already %s" (org-trim next)))
((pos-visible-in-window-p hl-pos) (message "TODO state changed to %s" (org-trim
next)))) (if head nil (setq head (org-get-todo-sequence-head org-state) ass
(assoc head org-todo-kwd-alist) interpret (nth 1 ass) done-word (nth 3 ass)
final-done-word (nth 4 ass))) (if (memq arg (quote (nextset previousset)))
(progn (message "Keyword-Set %d/%d: %s" (- (length org-todo-sets) -1 (length
...)) (length org-todo-sets) (mapconcat (quote identity) (assoc org-state
org-todo-sets) " ")))) (setq org-last-todo-state-is-todo (not (member org-state
org-done-keywords))) (setq now-done-p (and (member org-state org-done-keywords)
(not (member this org-done-keywords)))) (and logging (org-local-logging
logging)) (if (and (or org-todo-log-states org-log-done) (not (eq
org-inhibit-logging t)) (not (memq arg (quote ...)))) (progn (setq dolog (or
(nth 1 ...) (nth 2 ...))) (if (and (eq dolog ...) (eq org-inhibit-logging ...))
(setq dolog (quote time))) (if (or (and ... ...) (and org-state ... ...))
(progn (org-add-planning-info nil nil ...))) (if (and now-done-p org-log-done)
(progn (org-add-planning-info ... ...) (if ... ...))) (if (and org-state dolog)
(progn (org-add-log-setup ... org-state this ... dolog)))))
(org-todo-trigger-tag-changes org-state) (and org-auto-align-tags (not
org-setting-tags) (org-set-tags nil t)) (if org-provide-todo-statistics (progn
(org-update-parent-todo-statistics))) (run-hooks (quote
org-after-todo-state-change-hook)) (if (and arg (not (member org-state
org-done-keywords))) (setq head (org-get-todo-sequence-head org-state)))
(put-text-property (point-at-bol) (point-at-eol) (quote org-todo-head) head)
(if now-done-p (progn (if (boundp (quote
org-agenda-headline-snapshot-before-repeat)) (progn (let ... ...)))
(org-auto-repeat-maybe org-state))) (if (and (outline-on-heading-p) (not
(bolp)) (save-excursion (beginning-of-line 1) (looking-at
org-todo-line-regexp)) (< (point) (+ 2 (or ... ...)))) (progn (goto-char (or
(match-end 2) (match-end 1))) (and (looking-at " ") (just-one-space)))) (if
org-trigger-hook (progn (save-excursion (run-hook-with-args (quote
org-trigger-hook) change-plist)))) (if commentp (progn (org-toggle-comment))))))
(let ((org-blocker-hook org-blocker-hook) commentp case-fold-search) (if
(equal arg (quote (64))) (progn (setq arg nil org-blocker-hook nil))) (if (and
org-blocker-hook (or org-inhibit-blocking (org-entry-get nil "NOBLOCKING")))
(progn (setq org-blocker-hook nil))) (save-excursion (catch (quote exit)
(org-back-to-heading t) (if (org-in-commented-heading-p t) (progn
(org-toggle-comment) (setq commentp t))) (if (looking-at org-outline-regexp)
(goto-char (1- (match-end 0)))) (or (looking-at (concat " +" org-todo-regexp
"\\( +\\|[ ]*$\\)")) (looking-at "\\(?: *\\|[ ]*$\\)")) (let*
((match-data (match-data)) (startpos (point-at-bol)) (logging (let (...)
(unwind-protect ... ...))) (org-log-done org-log-done) (org-log-repeat
org-log-repeat) (org-todo-log-states org-todo-log-states) (org-inhibit-logging
(if (equal arg 0) (progn ... ...) org-inhibit-logging)) (this (match-string 1))
(hl-pos (match-beginning 0)) (head (org-get-todo-sequence-head this)) (ass
(assoc head org-todo-kwd-alist)) (interpret (nth 1 ass)) (done-word (nth 3
ass)) (final-done-word (nth 4 ass)) (org-last-state (or this ""))
(completion-ignore-case t) (member (member this org-todo-keywords-1)) (tail
(cdr member)) (org-state (cond (... ...) (... ...) (... ...) (... ...) (...)
(arg ...) (... ...) (... nil) (... nil) (... ...) (t ...))) (org-state (or
(run-hook-with-args-until-success ... org-state org-last-state) org-state))
(next (if org-state (concat " " org-state " ") " ")) (change-plist (list :type
(quote todo-state-change) :from this :to org-state :position startpos)) dolog
now-done-p) (if org-blocker-hook (progn (setq org-last-todo-state-is-todo (not
...)) (if (save-excursion ...) nil (if ... ... ... ...)))) (store-match-data
match-data) (replace-match next t t) (cond ((equal this org-state) (message
"TODO state was already %s" (org-trim next))) ((pos-visible-in-window-p hl-pos)
(message "TODO state changed to %s" (org-trim next)))) (if head nil (setq head
(org-get-todo-sequence-head org-state) ass (assoc head org-todo-kwd-alist)
interpret (nth 1 ass) done-word (nth 3 ass) final-done-word (nth 4 ass))) (if
(memq arg (quote (nextset previousset))) (progn (message "Keyword-Set %d/%d:
%s" (- ... -1 ...) (length org-todo-sets) (mapconcat ... ... " ")))) (setq
org-last-todo-state-is-todo (not (member org-state org-done-keywords))) (setq
now-done-p (and (member org-state org-done-keywords) (not (member this
org-done-keywords)))) (and logging (org-local-logging logging)) (if (and (or
org-todo-log-states org-log-done) (not (eq org-inhibit-logging t)) (not (memq
arg ...))) (progn (setq dolog (or ... ...)) (if (and ... ...) (setq dolog ...))
(if (or ... ...) (progn ...)) (if (and now-done-p org-log-done) (progn ...
...)) (if (and org-state dolog) (progn ...)))) (org-todo-trigger-tag-changes
org-state) (and org-auto-align-tags (not org-setting-tags) (org-set-tags nil
t)) (if org-provide-todo-statistics (progn
(org-update-parent-todo-statistics))) (run-hooks (quote
org-after-todo-state-change-hook)) (if (and arg (not (member org-state
org-done-keywords))) (setq head (org-get-todo-sequence-head org-state)))
(put-text-property (point-at-bol) (point-at-eol) (quote org-todo-head) head)
(if now-done-p (progn (if (boundp ...) (progn ...)) (org-auto-repeat-maybe
org-state))) (if (and (outline-on-heading-p) (not (bolp)) (save-excursion
(beginning-of-line 1) (looking-at org-todo-line-regexp)) (< (point) (+ 2 ...)))
(progn (goto-char (or ... ...)) (and (looking-at " ") (just-one-space)))) (if
org-trigger-hook (progn (save-excursion (run-hook-with-args ...
change-plist)))) (if commentp (progn (org-toggle-comment)))))))
(if (and (org-region-active-p) org-loop-over-headlines-in-active-region) (let
((cl (if (eq org-loop-over-headlines-in-active-region (quote start-level))
(quote region-start-level) (quote region)))
org-loop-over-headlines-in-active-region) (org-map-entries (list (quote
org-todo) arg) org-loop-over-headlines-in-active-region cl (if
(outline-invisible-p) (org-end-of-subtree nil t)))) (if (equal arg (quote
(16))) (setq arg (quote nextset))) (if (equal arg -1) (progn
(org-cancel-repeater) (setq arg nil))) (let ((org-blocker-hook
org-blocker-hook) commentp case-fold-search) (if (equal arg (quote (64)))
(progn (setq arg nil org-blocker-hook nil))) (if (and org-blocker-hook (or
org-inhibit-blocking (org-entry-get nil "NOBLOCKING"))) (progn (setq
org-blocker-hook nil))) (save-excursion (catch (quote exit)
(org-back-to-heading t) (if (org-in-commented-heading-p t) (progn
(org-toggle-comment) (setq commentp t))) (if (looking-at org-outline-regexp)
(goto-char (1- (match-end 0)))) (or (looking-at (concat " +" org-todo-regexp
"\\( +\\|[ ]*$\\)")) (looking-at "\\(?: *\\|[ ]*$\\)")) (let*
((match-data (match-data)) (startpos (point-at-bol)) (logging (let ... ...))
(org-log-done org-log-done) (org-log-repeat org-log-repeat)
(org-todo-log-states org-todo-log-states) (org-inhibit-logging (if ... ...
org-inhibit-logging)) (this (match-string 1)) (hl-pos (match-beginning 0))
(head (org-get-todo-sequence-head this)) (ass (assoc head org-todo-kwd-alist))
(interpret (nth 1 ass)) (done-word (nth 3 ass)) (final-done-word (nth 4 ass))
(org-last-state (or this "")) (completion-ignore-case t) (member (member this
org-todo-keywords-1)) (tail (cdr member)) (org-state (cond ... ... ... ... ...
... ... ... ... ... ...)) (org-state (or ... org-state)) (next (if org-state
... " ")) (change-plist (list :type ... :from this :to org-state :position
startpos)) dolog now-done-p) (if org-blocker-hook (progn (setq
org-last-todo-state-is-todo ...) (if ... nil ...))) (store-match-data
match-data) (replace-match next t t) (cond ((equal this org-state) (message
"TODO state was already %s" ...)) ((pos-visible-in-window-p hl-pos) (message
"TODO state changed to %s" ...))) (if head nil (setq head
(org-get-todo-sequence-head org-state) ass (assoc head org-todo-kwd-alist)
interpret (nth 1 ass) done-word (nth 3 ass) final-done-word (nth 4 ass))) (if
(memq arg (quote ...)) (progn (message "Keyword-Set %d/%d: %s" ... ... ...)))
(setq org-last-todo-state-is-todo (not (member org-state org-done-keywords)))
(setq now-done-p (and (member org-state org-done-keywords) (not ...))) (and
logging (org-local-logging logging)) (if (and (or org-todo-log-states
org-log-done) (not ...) (not ...)) (progn (setq dolog ...) (if ... ...) (if ...
...) (if ... ...) (if ... ...))) (org-todo-trigger-tag-changes org-state) (and
org-auto-align-tags (not org-setting-tags) (org-set-tags nil t)) (if
org-provide-todo-statistics (progn (org-update-parent-todo-statistics)))
(run-hooks (quote org-after-todo-state-change-hook)) (if (and arg (not ...))
(setq head (org-get-todo-sequence-head org-state))) (put-text-property
(point-at-bol) (point-at-eol) (quote org-todo-head) head) (if now-done-p (progn
(if ... ...) (org-auto-repeat-maybe org-state))) (if (and
(outline-on-heading-p) (not ...) (save-excursion ... ...) (< ... ...)) (progn
(goto-char ...) (and ... ...))) (if org-trigger-hook (progn (save-excursion
...))) (if commentp (progn (org-toggle-comment))))))))
org-todo(nil)
call-interactively(org-todo nil nil)
Hopefully this will be useful in tracking this bug.
Thanks,
Alan
--
OpenPGP Key ID : 040D0A3B4ED2E5C7
pgphXfC9QDXxh.pgp
Description: PGP signature
- [O] cache problem, with ECM,
Alan Schmitt <=