From 819cdb3a0974b0d39bd66373cab23df49198447f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 11 Jun 2016 13:32:26 +0200 Subject: [PATCH] Preserve list visibility when inserting a new item * lisp/org.el (org-insert-heading): Do not reveal gratuitously too much context before inserting an item. * testing/lisp/test-org.el (test-org/insert-heading): Add test. Reported-by: Steinar Bang --- lisp/org.el | 1 - testing/lisp/test-org.el | 12 ++++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lisp/org.el b/lisp/org.el index bd18b29ab..b2d3809f7 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -7753,7 +7753,6 @@ command. When optional argument TOP-LEVEL is non-nil, insert a level 1 heading, unconditionally." (interactive "P") - (if (org-called-interactively-p 'any) (org-reveal)) (let ((itemp (and (not top-level) (org-in-item-p))) (may-split (org-get-alist-option org-M-RET-may-split-line 'headline)) (respect-content (or org-insert-heading-respect-content diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el index 5f37ce592..42a051d6c 100644 --- a/testing/lisp/test-org.el +++ b/testing/lisp/test-org.el @@ -1100,6 +1100,18 @@ (goto-char (point-max)) (let ((org-insert-heading-respect-content nil)) (org-insert-heading)) (buffer-string)))) + ;; Preserve list visibility when inserting an item. + (should + (equal + '(outline outline) + (org-test-with-temp-text "- A\n - B\n- C\n - D" + (let ((org-cycle-include-plain-lists t)) + (org-cycle) + (forward-line 2) + (org-cycle) + (let ((org-insert-heading-respect-content nil)) (org-insert-heading)) + (list (get-char-property (line-beginning-position 0) 'invisible) + (get-char-property (line-end-position 2) 'invisible)))))) ;; When called with two universal arguments, insert a new headline ;; at the end of the grandparent subtree. (should