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))