Browse Source

* lisp/org-archive.el (org-archive-subtree): Honor
`org-archive-reversed-order' also on top level.

Carsten Dominik 3 years ago
parent
commit
44de3efe75
1 changed files with 14 additions and 8 deletions
  1. 14 8
      lisp/org-archive.el

+ 14 - 8
lisp/org-archive.el

@@ -338,14 +338,20 @@ this heading."
 		    (and (looking-at "[ \t\r\n]*")
 			 ;; datetree archives don't need so much spacing.
 			 (replace-match (if datetree-date "\n" "\n\n"))))
-		;; No specific heading, just go to end of file.
-		(goto-char (point-max))
-		;; Subtree narrowing can let the buffer end on
-		;; a headline.  `org-paste-subtree' then deletes it.
-		;; To prevent this, make sure visible part of buffer
-		;; always terminates on a new line, while limiting
-		;; number of blank lines in a date tree.
-		(unless (and datetree-date (bolp)) (insert "\n")))
+		;; No specific heading, just go to end of file, or to the
+		;; beginning, depending on `org-archive-reversed-order'.
+		(if org-archive-reversed-order
+		    (progn
+		      (goto-char (point-min))
+		      (unless (org-at-heading-p) (outline-next-heading))
+		      (insert "\n") (backward-char 1))
+		  (goto-char (point-max))
+		  ;; Subtree narrowing can let the buffer end on
+		  ;; a headline.  `org-paste-subtree' then deletes it.
+		  ;; To prevent this, make sure visible part of buffer
+		  ;; always terminates on a new line, while limiting
+		  ;; number of blank lines in a date tree.
+		  (unless (and datetree-date (bolp)) (insert "\n"))))
 	      ;; Paste
 	      (org-paste-subtree (org-get-valid-level level (and heading 1)))
 	      ;; Shall we append inherited tags?