[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#44524: 28.0.50; Wrong place saved in org file with save-place-mode
From: |
Juri Linkov |
Subject: |
bug#44524: 28.0.50; Wrong place saved in org file with save-place-mode |
Date: |
Tue, 10 Nov 2020 21:28:54 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) |
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.