diff --git a/lisp/org-capture.el b/lisp/org-capture.el index 1d4d6e877..08b35dd99 100644 --- a/lisp/org-capture.el +++ b/lisp/org-capture.el @@ -1171,7 +1171,10 @@ (defun org-capture-place-entry () (goto-char (point-min)) (unless (org-at-heading-p) (outline-next-heading))) ;; Otherwise, insert as a top-level entry at the end of the file. - (t (goto-char (point-max)))) + (t (goto-char (point-max)) + ;; Make sure that last point is not folded. + (org-fold-core-cycle-over-indirect-buffers + (org-fold-region (max 1 (1- (point-max))) (point-max) nil)))) (let ((origin (point))) (unless (bolp) (insert "\n")) (org-capture-empty-lines-before) diff --git a/lisp/org.el b/lisp/org.el index 0967cbf1c..575a327da 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -5983,7 +5983,13 @@ (defun org-get-indirect-buffer (&optional buffer heading) (number-to-string n)))))) (setq n (1+ n))) (condition-case nil - (make-indirect-buffer buffer bname 'clone) + (let ((indirect-buffer (make-indirect-buffer buffer bname 'clone))) + ;; Decouple folding state. We need to do it manually since + ;; `make-indirect-buffer' does not run + ;; `clone-indirect-buffer-hook'. + (org-fold-core-decouple-indirect-buffer-folds) + ;; Return the buffer. + indirect-buffer) (error (make-indirect-buffer buffer bname))))) (defun org-set-frame-title (title)