* Error with removing zero time clocks in capture.
@ 2014-09-11 9:05 Malcolm Purvis
2014-09-11 21:20 ` Nicolas Goaziou
0 siblings, 1 reply; 3+ messages in thread
From: Malcolm Purvis @ 2014-09-11 9:05 UTC (permalink / raw)
To: emacs-orgmode
With the current git version of org (release_8.3beta-323-gec8f24) I'm
getting an error in the element cache when I try to capture a task
because the clocked time for the captured task is 0.
The following minimum configuration demonstrates the problem:
--8<---------------cut here---------------start------------->8---
(require 'org)
(global-set-key (kbd "C-c c") 'org-capture)
(setq org-default-notes-file "/tmp/inbox.org")
(setq org-capture-templates
(quote (("t" "todo" entry (file)
"* TODO %?\n%U\n%a\n" :clock-in t :clock-resume t))))
(setq org-clock-out-remove-zero-time-clocks t)
(setq org-log-into-drawer t)
--8<---------------cut here---------------end--------------->8---
Typing the sequence "C-c c t C-c C-c" will result in the following
backtrace:
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
<=(nil 666)
(and (memq (org-element-type up) (quote (center-block drawer dynamic-block quote-block special-block))) (<= (org-element-property :contents-begin up) beg) (> (org-element-property :contents-end up) end))
(if (and (memq (org-element-type up) (quote (center-block drawer dynamic-block quote-block special-block))) (<= (org-element-property :contents-begin up) beg) (> (org-element-property :contents-end up) end)) (org-element--cache-shift-positions up offset (quote (:contents-end :end))) (setq before up) (if robust-flag (progn (setq robust-flag nil))))
(while up (if (and (memq (org-element-type up) (quote (center-block drawer dynamic-block quote-block special-block))) (<= (org-element-property :contents-begin up) beg) (> (org-element-property :contents-end up) end)) (org-element--cache-shift-positions up offset (quote (:contents-end :end))) (setq before up) (if robust-flag (progn (setq robust-flag nil)))) (setq up (org-element-property :parent up)))
(let ((up before) (robust-flag t)) (while up (if (and (memq (org-element-type up) (quote (center-block drawer dynamic-block quote-block special-block))) (<= (org-element-property :contents-begin up) beg) (> (org-element-property :contents-end up) end)) (org-element--cache-shift-positions up offset (quote (:contents-end :end))) (setq before up) (if robust-flag (progn (setq robust-flag nil)))) (setq up (org-element-property :parent up))) (if (or (< (org-element-property :end before) beg) robust-flag) after before))
(if (not before) after (let ((up before) (robust-flag t)) (while up (if (and (memq (org-element-type up) (quote (center-block drawer dynamic-block quote-block special-block))) (<= (org-element-property :contents-begin up) beg) (> (org-element-property :contents-end up) end)) (org-element--cache-shift-positions up offset (quote (:contents-end :end))) (setq before up) (if robust-flag (progn (setq robust-flag nil)))) (setq up (org-element-property :parent up))) (if (or (< (org-element-property :end before) beg) robust-flag) after before)))
(let* ((elements (org-element--cache-find (1- beg) (quote both))) (before (car elements)) (after (cdr elements))) (if (not before) after (let ((up before) (robust-flag t)) (while up (if (and (memq (org-element-type up) (quote ...)) (<= (org-element-property :contents-begin up) beg) (> (org-element-property :contents-end up) end)) (org-element--cache-shift-positions up offset (quote (:contents-end :end))) (setq before up) (if robust-flag (progn (setq robust-flag nil)))) (setq up (org-element-property :parent up))) (if (or (< (org-element-property :end before) beg) robust-flag) after before))))
org-element--cache-for-removal(666 667 -1)
(let ((first (org-element--cache-for-removal beg end offset))) (if first (setq org-element--cache-sync-requests (cons (let ((beg (org-element-property :begin first)) (key (org-element--cache-key first))) (cond ((> beg end) (vector key beg nil offset nil nil 1)) ((let ... ...)) (t (let* ... ... ...)))) org-element--cache-sync-requests)) (if org-element--cache-sync-requests (progn (let* ((v (car org-element--cache-sync-requests))) (aset v 3 (+ (aref v 3) 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 beg))) (let ((first (org-element--cache-for-removal beg end offset))) (if first (setq org-element--cache-sync-requests (con
s (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 beg))) (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(666 667 -1)
(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(666 666 1)
replace-match("")
org-capture-empty-lines-after(0)
org-capture-finalize(nil)
call-interactively(org-capture-finalize nil nil)
--8<---------------cut here---------------end--------------->8---
I assume that the cache code is trying to remove the clock information
from the draw that has already been removed because
org-clock-out-remove-zero-time-clocks is set.
Malcolm
--
Malcolm Purvis <malcolm@purvis.id.au>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Error with removing zero time clocks in capture.
2014-09-11 9:05 Error with removing zero time clocks in capture Malcolm Purvis
@ 2014-09-11 21:20 ` Nicolas Goaziou
2014-09-11 22:31 ` Malcolm Purvis
0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Goaziou @ 2014-09-11 21:20 UTC (permalink / raw)
To: Malcolm Purvis; +Cc: emacs-orgmode
Hello,
Malcolm Purvis <malcolm@purvis.id.au> writes:
> With the current git version of org (release_8.3beta-323-gec8f24) I'm
> getting an error in the element cache when I try to capture a task
> because the clocked time for the captured task is 0.
This should be fixed. Thank you for reporting it.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Error with removing zero time clocks in capture.
2014-09-11 21:20 ` Nicolas Goaziou
@ 2014-09-11 22:31 ` Malcolm Purvis
0 siblings, 0 replies; 3+ messages in thread
From: Malcolm Purvis @ 2014-09-11 22:31 UTC (permalink / raw)
To: emacs-orgmode
>>>>> "Nicolas" == Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
Nicolas> This should be fixed. Thank you for reporting it.
I can confirm that the error has gone.
Thanks,
Malcolm
--
Malcolm Purvis <malcolm@purvis.id.au>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-09-11 22:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-11 9:05 Error with removing zero time clocks in capture Malcolm Purvis
2014-09-11 21:20 ` Nicolas Goaziou
2014-09-11 22:31 ` Malcolm Purvis
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).