Преглед на файлове

org-agenda.el: Fix bug when calling `org-agenda-kill' and `org-agenda-archive-with' with a non-nil value of `org-agenda-stick'

* org-agenda.el (org-agenda-kill, org-agenda-archive-with):
Fix bug when called with a non-nil value of `org-agenda-stick'.

Thanks to Moritz Ulrich for reporting this.
Bastien Guerry преди 12 години
родител
ревизия
d85e7bc10a
променени са 1 файла, в които са добавени 8 реда и са изтрити 4 реда
  1. 8 4
      lisp/org-agenda.el

+ 8 - 4
lisp/org-agenda.el

@@ -7399,7 +7399,8 @@ Point is in the buffer where the item originated.")
   "Kill the entry or subtree belonging to the current agenda entry."
   (interactive)
   (or (eq major-mode 'org-agenda-mode) (error "Not in agenda"))
-  (let* ((marker (or (org-get-at-bol 'org-marker)
+  (let* ((bufname-orig (buffer-name))
+	 (marker (or (org-get-at-bol 'org-marker)
 		     (org-agenda-error)))
 	 (buffer (marker-buffer marker))
 	 (pos (marker-position marker))
@@ -7424,7 +7425,8 @@ Point is in the buffer where the item originated.")
 		 (format "Delete entry with %d lines in buffer \"%s\"? "
 			 n (buffer-name buffer))))
 	   (error "Abort"))
-      (org-remove-subtree-entries-from-agenda buffer dbeg dend)
+      (let ((org-agenda-buffer-name bufname-orig))
+	(org-remove-subtree-entries-from-agenda buffer dbeg dend))
       (with-current-buffer buffer (delete-region dbeg dend))
       (message "Agenda item and source killed"))))
 
@@ -7455,7 +7457,8 @@ Point is in the buffer where the item originated.")
   "Move the entry to the archive sibling."
   (interactive)
   (or (eq major-mode 'org-agenda-mode) (error "Not in agenda"))
-  (let* ((marker (or (org-get-at-bol 'org-marker)
+  (let* ((bufname-orig (buffer-name))
+	 (marker (or (org-get-at-bol 'org-marker)
 		     (org-agenda-error)))
 	 (buffer (marker-buffer marker))
 	 (pos (marker-position marker)))
@@ -7467,7 +7470,8 @@ Point is in the buffer where the item originated.")
 		(error "Abort")
 	      (save-excursion
 		(goto-char pos)
-		(org-remove-subtree-entries-from-agenda)
+		(let ((org-agenda-buffer-name bufname-orig))
+		  (org-remove-subtree-entries-from-agenda))
 		(org-back-to-heading t)
 		(funcall cmd)))
 	  (error "Archiving works only in Org-mode files"))))))