emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [bug] org-agenda-diary-entry fails on redisplay of the agenda


From: Eric Fraga
Subject: Re: [O] [bug] org-agenda-diary-entry fails on redisplay of the agenda
Date: Sun, 30 Sep 2012 20:11:23 +0930
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.50 (gnu/linux)

Bastien <address@hidden> writes:

> Hi Eric,
>
> Eric Fraga <address@hidden> writes:
>
>> I should note that
>> I have set org-agenda-diary-file to point to an org file instead of the 
>> default
>> Emacs diary file and that file is based on a date-tree layout.
>
> Can you get this error with a limited set of (tagged) items?

Hello Bastien,

I am not entirely sure what you mean but I have tested this now with an
empty diary.org file (i.e. no tags at all in that file at least) and I
get:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument sequencep t)
  mapcar((lambda (tg) (if (or (and hide-re (string-match hide-re tg)) (and (not 
add-inherited) (get-text-property 0 (quote inherited) tg))) nil tg)) t)
  (delq nil (mapcar (function (lambda (tg) (if (or (and hide-re (string-match 
hide-re tg)) (and (not add-inherited) (get-text-property 0 ... tg))) nil tg))) 
tags))
  (setq tags (delq nil (mapcar (function (lambda (tg) (if (or (and hide-re ...) 
(and ... ...)) nil tg))) tags)))
  (progn (if (string-match "\\([        
]+\\)\\(:[[:alnum:address@hidden:]+:\\)[        ]*$" txt) (setq txt (substring 
txt 0 (match-beginning 0)))) (setq tags (delq nil (mapcar (function (lambda 
(tg) (if (or ... ...) nil tg))) tags))) (if tags (progn (let ((have-i 
(get-text-property 0 (quote inherited) (car tags))) i) (setq txt (concat txt " 
:" (mapconcat (function ...) tags ":") (if have-i "::" ":")))))))
  (if (or add-inherited hide-re) (progn (if (string-match "\\([         
]+\\)\\(:[[:alnum:address@hidden:]+:\\)[        ]*$" txt) (setq txt (substring 
txt 0 (match-beginning 0)))) (setq tags (delq nil (mapcar (function (lambda 
(tg) (if ... nil tg))) tags))) (if tags (progn (let ((have-i (get-text-property 
0 ... ...)) i) (setq txt (concat txt " :" (mapconcat ... tags ":") (if have-i 
"::" ":"))))))))
  org-agenda-fix-displayed-tags(#("test 5" 0 6 (org-heading t)) t t nil)
  (setq txt (org-agenda-fix-displayed-tags txt tags 
org-agenda-show-inherited-tags org-agenda-hide-tags-regexp))
  (progn (setq txt (org-trim txt)) (setq txt (org-agenda-fix-displayed-tags txt 
tags org-agenda-show-inherited-tags org-agenda-hide-tags-regexp)) (let* 
((category (or category (if (stringp org-category) org-category (and 
org-category (symbol-name org-category))) (if buffer-file-name 
(file-name-sans-extension (file-name-nondirectory buffer-file-name)) ""))) 
(category-icon (org-agenda-get-category-icon category)) (category-icon (if 
category-icon (propertize " " (quote display) category-icon) "")) (tag (if tags 
(nth (1- (length tags)) tags) "")) time effort neffort (ts (if dotime (concat 
(if (stringp dotime) dotime "") (and org-agenda-search-headline-for-time 
txt)))) (time-of-day (and dotime (org-get-time-of-day ts))) stamp plain s0 s1 
s2 rtn srp l duration thecategory) (and (derived-mode-p (quote org-mode)) 
buffer-file-name (add-to-list (quote org-agenda-contributing-files) 
buffer-file-name)) (if (and dotime time-of-day) (progn (if (or (setq stamp 
(string-match org-stamp-time-of-day-regexp ts)) (setq plain (string-match 
org-plain-time-of-day-regexp ts))) (progn (setq s0 (match-string 0 ts) srp (and 
stamp ...) s1 (match-string ... ts) s2 (match-string ... ts)) (if (and 
org-prefix-has-time org-agenda-remove-times-when-in-prefix ... ... ... ...) 
(setq txt ...)))) (if s1 (setq s1 (org-get-time-of-day s1 (quote string) t))) 
(if s2 (setq s2 (org-get-time-of-day s2 (quote string) t))) (if (and s1 (not 
s2) org-agenda-default-appointment-duration) (progn (setq s2 
(org-minutes-to-hh:mm-string ...)))) (if s2 (progn (setq duration (- ... 
...)))))) (if (string-match "\\([         
]+\\)\\(:[[:alnum:address@hidden:]+:\\)[        ]*$" txt) (progn (if (or (eq 
org-agenda-remove-tags t) (and org-agenda-remove-tags org-prefix-has-tag)) 
(setq txt (replace-match "" t t txt)) (setq txt (replace-match (concat ... ...) 
t t txt))))) (if (derived-mode-p (quote org-mode)) (progn (setq effort 
(condition-case nil (org-get-effort (or ... ...)) (error nil))) (if effort 
(progn (setq neffort (org-duration-string-to-minutes effort) effort (setq 
effort ...)))))) (or effort (setq effort "")) (if remove-re (progn (while 
(string-match remove-re txt) (setq txt (replace-match "" t t txt))))) 
(add-text-properties 0 (length txt) (quote (org-heading t)) txt) (setq time 
(cond (s2 (concat (org-agenda-time-of-day-to-ampm-maybe s1) "-" 
(org-agenda-time-of-day-to-ampm-maybe s2) (if org-agenda-timegrid-use-ampm " 
"))) (s1 (concat (org-agenda-time-of-day-to-ampm-maybe s1) (if 
org-agenda-timegrid-use-ampm "........ " "......"))) (t "")) extra (or (and 
(not habitp) extra) "") category (if (symbolp category) (symbol-name category) 
category) thecategory (copy-sequence category) level (or level "")) (if 
(string-match org-bracket-link-regexp category) (progn (setq l (if (match-end 
3) (- (match-end 3) (match-beginning 3)) (- (match-end 1) (match-beginning 
1)))) (if (< l (or org-prefix-category-length 0)) (progn (setq category 
(copy-sequence category)) (org-add-props category nil (quote extra-space) 
(make-string ... 32))))) (if (and org-prefix-category-max-length (>= (length 
category) org-prefix-category-max-length)) (setq category (substring category 0 
(1- org-prefix-category-max-length))))) (setq rtn (concat (eval formatter) 
txt)) (remove-text-properties 0 (length rtn) (quote (line-prefix t wrap-prefix 
t)) rtn) (org-add-props rtn nil (quote org-category) (if thecategory (downcase 
thecategory) category) (quote tags) (mapcar (quote org-downcase-keep-props) 
tags) (quote org-highest-priority) org-highest-priority (quote 
org-lowest-priority) org-lowest-priority (quote time-of-day) time-of-day (quote 
duration) duration (quote effort) effort (quote effort-minutes) neffort (quote 
txt) txt (quote level) level (quote time) time (quote extra) extra (quote 
format) org-prefix-format-compiled (quote dotime) dotime)))
  (unwind-protect (progn (setq txt (org-trim txt)) (setq txt 
(org-agenda-fix-displayed-tags txt tags org-agenda-show-inherited-tags 
org-agenda-hide-tags-regexp)) (let* ((category (or category (if (stringp 
org-category) org-category (and org-category ...)) (if buffer-file-name 
(file-name-sans-extension ...) ""))) (category-icon 
(org-agenda-get-category-icon category)) (category-icon (if category-icon 
(propertize " " (quote display) category-icon) "")) (tag (if tags (nth (1- ...) 
tags) "")) time effort neffort (ts (if dotime (concat (if ... dotime "") (and 
org-agenda-search-headline-for-time txt)))) (time-of-day (and dotime 
(org-get-time-of-day ts))) stamp plain s0 s1 s2 rtn srp l duration thecategory) 
(and (derived-mode-p (quote org-mode)) buffer-file-name (add-to-list (quote 
org-agenda-contributing-files) buffer-file-name)) (if (and dotime time-of-day) 
(progn (if (or (setq stamp ...) (setq plain ...)) (progn (setq s0 ... srp ... 
s1 ... s2 ...) (if ... ...))) (if s1 (setq s1 (org-get-time-of-day s1 ... t))) 
(if s2 (setq s2 (org-get-time-of-day s2 ... t))) (if (and s1 (not s2) 
org-agenda-default-appointment-duration) (progn (setq s2 ...))) (if s2 (progn 
(setq duration ...))))) (if (string-match "\\([       
]+\\)\\(:[[:alnum:address@hidden:]+:\\)[        ]*$" txt) (progn (if (or (eq 
org-agenda-remove-tags t) (and org-agenda-remove-tags org-prefix-has-tag)) 
(setq txt (replace-match "" t t txt)) (setq txt (replace-match ... t t txt))))) 
(if (derived-mode-p (quote org-mode)) (progn (setq effort (condition-case nil 
(org-get-effort ...) (error nil))) (if effort (progn (setq neffort ... effort 
...))))) (or effort (setq effort "")) (if remove-re (progn (while (string-match 
remove-re txt) (setq txt (replace-match "" t t txt))))) (add-text-properties 0 
(length txt) (quote (org-heading t)) txt) (setq time (cond (s2 (concat 
(org-agenda-time-of-day-to-ampm-maybe s1) "-" 
(org-agenda-time-of-day-to-ampm-maybe s2) (if org-agenda-timegrid-use-ampm " 
"))) (s1 (concat (org-agenda-time-of-day-to-ampm-maybe s1) (if 
org-agenda-timegrid-use-ampm "........ " "......"))) (t "")) extra (or (and 
(not habitp) extra) "") category (if (symbolp category) (symbol-name category) 
category) thecategory (copy-sequence category) level (or level "")) (if 
(string-match org-bracket-link-regexp category) (progn (setq l (if (match-end 
3) (- ... ...) (- ... ...))) (if (< l (or org-prefix-category-length 0)) (progn 
(setq category ...) (org-add-props category nil ... ...)))) (if (and 
org-prefix-category-max-length (>= (length category) 
org-prefix-category-max-length)) (setq category (substring category 0 (1- 
org-prefix-category-max-length))))) (setq rtn (concat (eval formatter) txt)) 
(remove-text-properties 0 (length rtn) (quote (line-prefix t wrap-prefix t)) 
rtn) (org-add-props rtn nil (quote org-category) (if thecategory (downcase 
thecategory) category) (quote tags) (mapcar (quote org-downcase-keep-props) 
tags) (quote org-highest-priority) org-highest-priority (quote 
org-lowest-priority) org-lowest-priority (quote time-of-day) time-of-day (quote 
duration) duration (quote effort) effort (quote effort-minutes) neffort (quote 
txt) txt (quote level) level (quote time) time (quote extra) extra (quote 
format) org-prefix-format-compiled (quote dotime) dotime))) (set-match-data 
save-match-data-internal (quote evaporate)))
  (let ((save-match-data-internal (match-data))) (unwind-protect (progn (setq 
txt (org-trim txt)) (setq txt (org-agenda-fix-displayed-tags txt tags 
org-agenda-show-inherited-tags org-agenda-hide-tags-regexp)) (let* ((category 
(or category (if ... org-category ...) (if buffer-file-name ... ""))) 
(category-icon (org-agenda-get-category-icon category)) (category-icon (if 
category-icon (propertize " " ... category-icon) "")) (tag (if tags (nth ... 
tags) "")) time effort neffort (ts (if dotime (concat ... ...))) (time-of-day 
(and dotime (org-get-time-of-day ts))) stamp plain s0 s1 s2 rtn srp l duration 
thecategory) (and (derived-mode-p (quote org-mode)) buffer-file-name 
(add-to-list (quote org-agenda-contributing-files) buffer-file-name)) (if (and 
dotime time-of-day) (progn (if (or ... ...) (progn ... ...)) (if s1 (setq s1 
...)) (if s2 (setq s2 ...)) (if (and s1 ... 
org-agenda-default-appointment-duration) (progn ...)) (if s2 (progn ...)))) (if 
(string-match "\\([   ]+\\)\\(:[[:alnum:address@hidden:]+:\\)[        ]*$" txt) 
(progn (if (or ... ...) (setq txt ...) (setq txt ...)))) (if (derived-mode-p 
(quote org-mode)) (progn (setq effort (condition-case nil ... ...)) (if effort 
(progn ...)))) (or effort (setq effort "")) (if remove-re (progn (while 
(string-match remove-re txt) (setq txt ...)))) (add-text-properties 0 (length 
txt) (quote (org-heading t)) txt) (setq time (cond (s2 (concat ... "-" ... 
...)) (s1 (concat ... ...)) (t "")) extra (or (and (not habitp) extra) "") 
category (if (symbolp category) (symbol-name category) category) thecategory 
(copy-sequence category) level (or level "")) (if (string-match 
org-bracket-link-regexp category) (progn (setq l (if ... ... ...)) (if (< l 
...) (progn ... ...))) (if (and org-prefix-category-max-length (>= ... 
org-prefix-category-max-length)) (setq category (substring category 0 ...)))) 
(setq rtn (concat (eval formatter) txt)) (remove-text-properties 0 (length rtn) 
(quote (line-prefix t wrap-prefix t)) rtn) (org-add-props rtn nil (quote 
org-category) (if thecategory (downcase thecategory) category) (quote tags) 
(mapcar (quote org-downcase-keep-props) tags) (quote org-highest-priority) 
org-highest-priority (quote org-lowest-priority) org-lowest-priority (quote 
time-of-day) time-of-day (quote duration) duration (quote effort) effort (quote 
effort-minutes) neffort (quote txt) txt (quote level) level (quote time) time 
(quote extra) extra (quote format) org-prefix-format-compiled (quote dotime) 
dotime))) (set-match-data save-match-data-internal (quote evaporate))))
  (let* ((bindings (car org-prefix-format-compiled)) (formatter (cadr 
org-prefix-format-compiled))) (progn (let* ((--cl-var-- bindings) (--cl-var-- 
nil) (var nil) (value nil)) (while (consp --cl-var--) (setq --cl-var-- (car 
--cl-var--) var (car (prog1 --cl-var-- (setq --cl-var-- ...))) value (car 
--cl-var--)) (set var value) (setq --cl-var-- (cdr --cl-var--))) nil)) (let 
((save-match-data-internal (match-data))) (unwind-protect (progn (setq txt 
(org-trim txt)) (setq txt (org-agenda-fix-displayed-tags txt tags 
org-agenda-show-inherited-tags org-agenda-hide-tags-regexp)) (let* ((category 
(or category ... ...)) (category-icon (org-agenda-get-category-icon category)) 
(category-icon (if category-icon ... "")) (tag (if tags ... "")) time effort 
neffort (ts (if dotime ...)) (time-of-day (and dotime ...)) stamp plain s0 s1 
s2 rtn srp l duration thecategory) (and (derived-mode-p (quote org-mode)) 
buffer-file-name (add-to-list (quote org-agenda-contributing-files) 
buffer-file-name)) (if (and dotime time-of-day) (progn (if ... ...) (if s1 ...) 
(if s2 ...) (if ... ...) (if s2 ...))) (if (string-match "\\([         
]+\\)\\(:[[:alnum:address@hidden:]+:\\)[        ]*$" txt) (progn (if ... ... 
...))) (if (derived-mode-p (quote org-mode)) (progn (setq effort ...) (if 
effort ...))) (or effort (setq effort "")) (if remove-re (progn (while ... 
...))) (add-text-properties 0 (length txt) (quote (org-heading t)) txt) (setq 
time (cond (s2 ...) (s1 ...) (t "")) extra (or (and ... extra) "") category (if 
(symbolp category) (symbol-name category) category) thecategory (copy-sequence 
category) level (or level "")) (if (string-match org-bracket-link-regexp 
category) (progn (setq l ...) (if ... ...)) (if (and 
org-prefix-category-max-length ...) (setq category ...))) (setq rtn (concat 
(eval formatter) txt)) (remove-text-properties 0 (length rtn) (quote 
(line-prefix t wrap-prefix t)) rtn) (org-add-props rtn nil (quote org-category) 
(if thecategory (downcase thecategory) category) (quote tags) (mapcar (quote 
org-downcase-keep-props) tags) (quote org-highest-priority) 
org-highest-priority (quote org-lowest-priority) org-lowest-priority (quote 
time-of-day) time-of-day (quote duration) duration (quote effort) effort (quote 
effort-minutes) neffort (quote txt) txt (quote level) level (quote time) time 
(quote extra) extra (quote format) org-prefix-format-compiled (quote dotime) 
dotime))) (set-match-data save-match-data-internal (quote evaporate)))))
  org-agenda-format-item(nil #("test 5" 0 6 (org-heading t)) nil nil t)
  org-agenda-add-entry-to-org-agenda-diary-file(day #("test 5" 0 6 (org-heading 
t)) (9 30 2012))
  (cond ((equal char 100) (setq text (read-string "Day entry: ")) 
(org-agenda-add-entry-to-org-agenda-diary-file (quote day) text d1) (and (equal 
(buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 97) 
(setq d1 (list (car d1) (nth 1 d1) (read-number (format "Reference year [%d]: " 
(nth 2 d1)) (nth 2 d1)))) (setq text (read-string "Anniversary (use %d to show 
years): ")) (org-agenda-add-entry-to-org-agenda-diary-file (quote anniversary) 
text d1) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) 
((equal char 98) (setq text (read-string "Block entry: ")) (if (and d1 d2 (not 
(equal d1 d2))) nil (error "No block of days selected")) 
(org-agenda-add-entry-to-org-agenda-diary-file (quote block) text d1 d2) (and 
(equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 
106) (org-switch-to-buffer-other-window (find-file-noselect 
org-agenda-diary-file)) (require (quote org-datetree)) 
(org-datetree-find-date-create d1) (org-reveal t)) (t (error "Invalid selection 
character `%c'" char)))
  (let (d1 d2 char (text "") dp1 dp2) (if (equal (buffer-name) "*Calendar*") 
(setq d1 (calendar-cursor-to-date t) d2 (car calendar-mark-ring)) (setq dp1 
(get-text-property (point-at-bol) (quote day))) (if dp1 nil (error "No date 
defined in current line")) (setq d1 (calendar-gregorian-from-absolute dp1) d2 
(and (condition-case nil (progn (mark)) (error nil)) (save-excursion (goto-char 
(mark)) (setq dp2 (get-text-property (point-at-bol) (quote day)))) 
(calendar-gregorian-from-absolute dp2)))) (message "Diary entry: [d]ay 
[a]nniversary [b]lock [j]ump to date tree") (setq char (read-char-exclusive)) 
(cond ((equal char 100) (setq text (read-string "Day entry: ")) 
(org-agenda-add-entry-to-org-agenda-diary-file (quote day) text d1) (and (equal 
(buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 97) 
(setq d1 (list (car d1) (nth 1 d1) (read-number (format "Reference year [%d]: " 
(nth 2 d1)) (nth 2 d1)))) (setq text (read-string "Anniversary (use %d to show 
years): ")) (org-agenda-add-entry-to-org-agenda-diary-file (quote anniversary) 
text d1) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) 
((equal char 98) (setq text (read-string "Block entry: ")) (if (and d1 d2 (not 
(equal d1 d2))) nil (error "No block of days selected")) 
(org-agenda-add-entry-to-org-agenda-diary-file (quote block) text d1 d2) (and 
(equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 
106) (org-switch-to-buffer-other-window (find-file-noselect 
org-agenda-diary-file)) (require (quote org-datetree)) 
(org-datetree-find-date-create d1) (org-reveal t)) (t (error "Invalid selection 
character `%c'" char))))
  org-agenda-diary-entry-in-org-file()
  (if (not (eq org-agenda-diary-file (quote diary-file))) 
(org-agenda-diary-entry-in-org-file) (require (quote diary-lib)) (let* ((char 
(progn (message "Diary entry: [d]ay [w]eekly [m]onthly [y]early [a]nniversary 
[b]lock [c]yclic") (read-char-exclusive))) (cmd (cdr (assoc char (quote (... 
... ... ... ... ... ...))))) (oldf (symbol-function (quote 
calendar-cursor-to-date))) (point (point)) (mark (or (mark t) (point)))) (if 
cmd nil (error "No command associated with <%c>" char)) (if (and 
(get-text-property point (quote day)) (or (not (equal 98 char)) 
(get-text-property mark (quote day)))) nil (error "Don't know which date to use 
for diary entry")) (let ((calendar-mark-ring (list 
(calendar-gregorian-from-absolute (or ... ...))))) (unwind-protect (progn (fset 
(quote calendar-cursor-to-date) (function (lambda ... ...))) 
(call-interactively cmd)) (fset (quote calendar-cursor-to-date) oldf)))))
  org-agenda-diary-entry()
  call-interactively(org-agenda-diary-entry nil nil)
--8<---------------cut here---------------end--------------->8---

with nothing removed from the backtrace in case that helps.

After inserting an item (but failing on re-display as above), the diary
file now looks like this:


--8<---------------cut here---------------start------------->8---
* 2012
*** 2012-09 September
***** 2012-09-30 Sunday
******* test 5
        <2012-09-30 Sun>
--8<---------------cut here---------------end--------------->8---


Thanks again,
eric

-- 
: Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D
: in Emacs 24.2.50.1 and Org release_7.9.1-452-g7d8a0c




reply via email to

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