diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e0c8815c648..0e00cb2f17f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2015-02-04 Robert Pluim (tiny change) + + * calendar/todo-mode.el (todo-item-done): When done items are + hidden, restore point to its location prior to invoking this + command. (Bug#19727) + 2015-02-04 Eli Zaretskii * textmodes/artist.el (artist-ellipse-compute-fill-info): Use diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index 7ca57a42b76..dcc960fb9bf 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el @@ -2816,7 +2816,8 @@ visible." (goto-char (point-min)) (re-search-forward todo-done-string-start nil t))) (buffer-read-only nil) - item done-item opoint) + item done-item + (opoint (point))) ;; Don't add empty comment to done item. (setq comment (unless (zerop (length comment)) (concat " [" todo-comment-string ": " comment "]"))) @@ -2854,7 +2855,9 @@ visible." (todo-update-categories-sexp) (let ((todo-show-with-done show-done)) (todo-category-select) - ;; When done items are shown, put cursor on first just done item. + ;; When done items are visible, put point at the top of the + ;; done items section. When done items are hidden, restore + ;; point to its location prior to invoking this command. (when opoint (goto-char opoint))))))) (defun todo-item-undone ()