]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't set file name variable in org-element-parse-secondary-string (bug#44524)
authorJuri Linkov <juri@linkov.net>
Tue, 10 Nov 2020 19:27:37 +0000 (21:27 +0200)
committerJuri Linkov <juri@linkov.net>
Tue, 10 Nov 2020 19:27:37 +0000 (21:27 +0200)
* lisp/org/org-element.el (org-element-parse-secondary-string):
Don't set buffer-local variables buffer-file-name and buffer-file-truename
in temporary buffer.

lisp/org/org-element.el

index be74dfdbeffaf34749f15758b1f237595e7d4b63..ef64f58f81ba20b1518a033e6a0f6849219f5025 100644 (file)
@@ -4144,7 +4144,9 @@ If STRING is the empty string or nil, return nil."
          (dolist (v local-variables)
            (ignore-errors
              (if (symbolp v) (makunbound v)
-               (set (make-local-variable (car v)) (cdr v)))))
+               ;; Don't set file name to avoid mishandling hooks (bug#44524)
+               (unless (memq (car v) '(buffer-file-name buffer-file-truename))
+                 (set (make-local-variable (car v)) (cdr v))))))
          ;; Transferring local variables may put the temporary buffer
          ;; into a read-only state.  Make sure we can insert STRING.
          (let ((inhibit-read-only t)) (insert string))