org.el (org-store-log-note): Fix `buffer-undo-list' when called after `org-agenda-todo'
* org.el (org-store-log-note): Fix `buffer-undo-list' when called after `org-agenda-todo'. Thanks to Wanrong Lin for reporting this obscure bug.
This commit is contained in:
parent
e2843e5fd7
commit
08a47b0959
19
lisp/org.el
19
lisp/org.el
|
@ -13342,12 +13342,19 @@ EXTRA is additional text that will be inserted into the notes buffer."
|
||||||
(insert (pop lines))))
|
(insert (pop lines))))
|
||||||
(message "Note stored")
|
(message "Note stored")
|
||||||
(org-back-to-heading t)
|
(org-back-to-heading t)
|
||||||
(org-cycle-hide-drawers 'children))))))
|
(org-cycle-hide-drawers 'children))
|
||||||
(set-window-configuration org-log-note-window-configuration)
|
;; Fix `buffer-undo-list' when `org-store-log-note' is called
|
||||||
(with-current-buffer (marker-buffer org-log-note-return-to)
|
;; from within `org-add-log-note' because `buffer-undo-list'
|
||||||
(goto-char org-log-note-return-to))
|
;; is then modified outside of `org-with-remote-undo'.
|
||||||
(move-marker org-log-note-return-to nil)
|
(when (eq this-command 'org-agenda-todo)
|
||||||
(and org-log-post-message (message "%s" org-log-post-message)))
|
(setcdr buffer-undo-list (cddr buffer-undo-list)))))))
|
||||||
|
;; Don't add undo information when called from `org-agenda-todo'
|
||||||
|
(let ((buffer-undo-list (eq this-command 'org-agenda-todo)))
|
||||||
|
(set-window-configuration org-log-note-window-configuration)
|
||||||
|
(with-current-buffer (marker-buffer org-log-note-return-to)
|
||||||
|
(goto-char org-log-note-return-to))
|
||||||
|
(move-marker org-log-note-return-to nil)
|
||||||
|
(and org-log-post-message (message "%s" org-log-post-message))))
|
||||||
|
|
||||||
(defun org-remove-empty-drawer-at (drawer pos)
|
(defun org-remove-empty-drawer-at (drawer pos)
|
||||||
"Remove an empty drawer DRAWER at position POS.
|
"Remove an empty drawer DRAWER at position POS.
|
||||||
|
|
Loading…
Reference in New Issue