Prechádzať zdrojové kódy

org.el (org-insert-heading): Fix case when there the first heading starts at the beginning of the buffer

* org.el (org-insert-heading): Fix case when there the first
heading starts at the beginning of the buffer.

In this case, `org-backward-heading-same-level' will throw an error in
the let form, and the error would fall back on "*" instead of falling
back on the correct number of stars to add.

Thanks to Jisang Yoo and John Hendy who reported this bug.
Bastien Guerry 12 rokov pred
rodič
commit
8d5198d654
1 zmenil súbory, kde vykonal 7 pridanie a 1 odobranie
  1. 7 1
      lisp/org.el

+ 7 - 1
lisp/org.el

@@ -7523,6 +7523,12 @@ This is important for non-interactive uses of the command."
 	      (or (not (null arg)) org-insert-heading-respect-content))
 	     (level nil)
 	     (on-heading (org-at-heading-p))
+	     ;; Get a level to fall back on
+	     (fix-level
+	      (save-excursion
+		(org-back-to-heading t)
+		(looking-at org-outline-regexp)
+		(make-string (1- (length (match-string 0))) ?*)))
 	     (on-empty-line
 	      (save-excursion (beginning-of-line 1) (looking-at "^\\s-*$")))
 	     (head (save-excursion
@@ -7547,7 +7553,7 @@ This is important for non-interactive uses of the command."
 					(not (org-previous-line-empty-p t)))
 			     (setq empty-line-p (org-previous-line-empty-p)))
 			   (match-string 0))
-		       (error "* "))))
+		       (error (or fix-level "* ")))))
 	     (blank-a (cdr (assq 'heading org-blank-before-new-entry)))
 	     (blank (if (eq blank-a 'auto) empty-line-p blank-a))
 	     pos hide-previous previous-pos)