Subject: Re: bug#44524: 28.0.50; Wrong place saved in org file with save-place-mode

From: Juri Linkov <[email-masked]>
Date: Tue, 10 Nov 2020 21:28:54 +0200

tags 44524 fixed
close 44524 28.0.50
quit

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

Pushed to Emacs master, and closed.