* todos.el (todos-edit-quit): After editing an item, make sure to
authorStephen Berman <stephen.berman@gmx.net>
Fri, 31 May 2013 13:43:25 +0000 (15:43 +0200)
committerStephen Berman <stephen.berman@gmx.net>
Fri, 31 May 2013 13:43:25 +0000 (15:43 +0200)
return to its category.

lisp/calendar/ChangeLog
lisp/calendar/todos.el

index fe8f83e..43fbbf2 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-31  Stephen Berman  <stephen.berman@gmx.net>
+
+       * todos.el (todos-edit-quit): After editing an item, make sure to
+       return to its category.
+
 2013-05-31  Stephen Berman  <stephen.berman@gmx.net>
 
        * todos.el: Clean up code.  Uncapitalize file name in first line.
index 2e28e9e..0bbf139 100644 (file)
@@ -1385,7 +1385,8 @@ in the number or names of categories."
   (if (> (buffer-size) (- (point-max) (point-min)))
       ;; We got here via `e m'.
       (let ((item (buffer-string))
-           (regex "\\(\n\\)[^[:blank:]]"))
+           (regex "\\(\n\\)[^[:blank:]]")
+           (buf (buffer-base-buffer)))
        (while (not (string-match (concat todos-date-string-start
                                          todos-date-pattern) item))
          (setq item (read-from-minibuffer
@@ -1395,7 +1396,9 @@ in the number or names of categories."
          (setq item (replace-regexp-in-string regex "\n\t" item nil nil 1))
          (delete-region (point-min) (point-max))
          (insert item))
-       (kill-buffer))
+       (kill-buffer)
+       (unless (eq (current-buffer) buf)
+         (set-window-buffer (selected-window) (set-buffer buf))))
     ;; We got here via `F e'.
     (when (todos-check-format)
       ;; FIXME: separate out sexp check?