From 8d5198d6549b91ac5726b6d8dda652a268064c16 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Fri, 26 Apr 2013 08:52:43 +0200 Subject: [PATCH] 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. --- lisp/org.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/org.el b/lisp/org.el index 2576d8985..126f9ee3d 100644 --- a/lisp/org.el +++ b/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)