emacs-orgmode
[Top][All Lists]
Advanced

[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

Attachment: pgphXfC9QDXxh.pgp
Description: PGP signature


reply via email to

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