forked from mirrors/org-mode
org-agenda-format-item: Do not call `org-get-outline-path' in non-Org buffer
* lisp/org-agenda.el (org-agenda-format-item): Avoid invoking Org parser when we are not actually in Org buffer. Add commentary explaining when it can happen. Reported-by: Will O'Brien <will.08rien@gmail.com> Link: https://orgmode.org/list/m2leawo9zo.fsf@hazy.com
This commit is contained in:
parent
0740e62df8
commit
a1fa521975
|
@ -7032,11 +7032,21 @@ Any match of REMOVE-RE will be removed from TXT."
|
||||||
|
|
||||||
;; Prepare the variables needed in the eval of the compiled format
|
;; Prepare the variables needed in the eval of the compiled format
|
||||||
(when org-prefix-has-breadcrumbs
|
(when org-prefix-has-breadcrumbs
|
||||||
(setq breadcrumbs (org-with-point-at (org-get-at-bol 'org-marker)
|
(setq breadcrumbs
|
||||||
(let ((s (org-format-outline-path (org-get-outline-path)
|
;; When called from Org buffer, remain in position.
|
||||||
(1- (frame-width))
|
;; When called from Agenda buffer, jump to headline position first.
|
||||||
nil org-agenda-breadcrumbs-separator)))
|
(org-with-point-at (org-get-at-bol 'org-marker)
|
||||||
(if (equal "" s) "" (concat s org-agenda-breadcrumbs-separator))))))
|
(let ((s (if (derived-mode-p 'org-mode)
|
||||||
|
(org-format-outline-path (org-get-outline-path)
|
||||||
|
(1- (frame-width))
|
||||||
|
nil org-agenda-breadcrumbs-separator)
|
||||||
|
;; Not in Org buffer. This can happen,
|
||||||
|
;; for example, in
|
||||||
|
;; `org-agenda-add-time-grid-maybe' where
|
||||||
|
;; time grid does not correspond to a
|
||||||
|
;; particular heading.
|
||||||
|
"")))
|
||||||
|
(if (equal "" s) "" (concat s org-agenda-breadcrumbs-separator))))))
|
||||||
(setq time (cond (s2 (concat
|
(setq time (cond (s2 (concat
|
||||||
(org-agenda-time-of-day-to-ampm-maybe s1)
|
(org-agenda-time-of-day-to-ampm-maybe s1)
|
||||||
"-" (org-agenda-time-of-day-to-ampm-maybe s2)
|
"-" (org-agenda-time-of-day-to-ampm-maybe s2)
|
||||||
|
|
Loading…
Reference in New Issue