Subject: 28.0.50; Wrong place saved in org file with save-place-mode

From: Juri Linkov <[email-masked]>
Date: Sun, 08 Nov 2020 21:41:30 +0200

Package: emacs,org-mode

0. emacs -Q
1. enable save-place-mode
2. visit an org file with a single line:

#+DATE: 2020-11-08

The cursor always jumps to the fixed place inside the date,
and doesn't remember its previous position.  Here is a fix
to not set buffer-file-name (that causes save-place-mode to save
wrong place for that file name) in a temporary buffer:

diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index be74dfdbef..d1fa777aa6 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/org-element.el
@@ -4144,7 +4144,8 @@ org-element-parse-secondary-string
 	  (dolist (v local-variables)
 	    (ignore-errors
 	      (if (symbolp v) (makunbound v)
-		(set (make-local-variable (car v)) (cdr v)))))
+		(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))