org-macs: Fix visibility issue with file local variables

* lisp/org-macs.el (org-preserve-local-variables): When file local
  variables are preserved and located in a folded section, make sure
  to hide them again.

Reported-by: Scott Randby <srandby@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00105.html>
This commit is contained in:
Nicolas Goaziou 2019-02-12 23:33:01 +01:00
parent 931b7b8faf
commit e54f09af50
1 changed files with 10 additions and 2 deletions

View File

@ -193,8 +193,16 @@ because otherwise all these markers will point to nowhere."
(when local-variables
(org-with-wide-buffer
(goto-char (point-max))
(unless (bolp) (insert "\n"))
(insert local-variables))))))
;; If last section is folded, make sure to also hide file
;; local variables after inserting them back.
(let ((overlay
(cl-find-if (lambda (o)
(eq 'outline (overlay-get o 'invisible)))
(overlays-at (1- (point))))))
(unless (bolp) (insert "\n"))
(insert local-variables)
(when overlay
(move-overlay overlay (overlay-start overlay) (point-max)))))))))
(defmacro org-no-popups (&rest body)
"Suppress popup windows and evaluate BODY."