Browse Source

Don't create marker if target is entire file.

* org-agenda.el (org-agenda-bulk-action): Don't create marker for
position if target is entire file.

If the target of a bulk refile operation is the entire file,
`org-refile-get-location' returns nil for the refile position.
Creating a marker for the target file's buffer at position nil returns
a marker that points nowhere (Cf. GNU Emacs Lisp Reference Manual,
31.6).  `org-refile' adds headings to level 1 if the target position
for the target file is nil -- and hence a marker that points nowhere
is not nil, tries to jump to nowhere.
David Maus 14 years ago
parent
commit
4273e50ab7
1 changed files with 6 additions and 5 deletions
  1. 6 5
      lisp/org-agenda.el

+ 6 - 5
lisp/org-agenda.el

@@ -7489,11 +7489,12 @@ The prefix arg is passed through to the command if possible."
 		   "Refile to: "
 		   (marker-buffer (car org-agenda-bulk-marked-entries))
 		   org-refile-allow-creating-parent-nodes))
-      (setcar (nthcdr 3 rfloc)
-	      (move-marker (make-marker) (nth 3 rfloc)
-			   (or (get-file-buffer (nth 1 rfloc))
-			       (find-buffer-visiting (nth 1 rfloc))
-			       (error "This should not happen"))))
+      (if (nth 3 rfloc)
+	  (setcar (nthcdr 3 rfloc)
+		  (move-marker (make-marker) (nth 3 rfloc)
+			       (or (get-file-buffer (nth 1 rfloc))
+				   (find-buffer-visiting (nth 1 rfloc))
+				   (error "This should not happen")))))
 
       (setq cmd (list 'org-agenda-refile nil (list 'quote rfloc) t)
 	    redo-at-end t))