GNU bug report logs - #51740
27.2; find-file-literally doesn't respect saveplace-mode

Previous Next

Package: emacs;

Reported by: Scott Otterson <scotto <at> sharpleaf.org>

Date: Wed, 10 Nov 2021 04:00:01 UTC

Severity: normal

Found in version 27.2

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 51740 in the body.
You can then email your comments to 51740 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#51740; Package emacs. (Wed, 10 Nov 2021 04:00:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Scott Otterson <scotto <at> sharpleaf.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 10 Nov 2021 04:00:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Scott Otterson <scotto <at> sharpleaf.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.2; find-file-literally doesn't respect saveplace-mode
Date: Tue, 9 Nov 2021 19:06:52 -0800
[Message part 1 (text/plain, inline)]
In my config file, I have (save-place-mode 1), so when I visit a file with
M-x find-file, close that file, and then revisit it, the cursor is returned
to its last position during the previous find-file visit.

However, if I open the file with M-x find-file-literally, then the cursor
always goes to the top.  Also, when I later reopen the file with find-file,
the previous position of the last M-x find-file is lost (the cursor goes to
the top).

This is a bother when I'm flipping through many files with a command like
the consult package's consult-recent-file, which previews each file as you
move through the recent file list.  In the case of large files,
consult-recent-file reverts to using find-file-literally; the result is
that you can potentially lose your place in a large collection of your most
used files.

The simplest way to make this better is to not allow find-file-literally to
change the save-place-mode state.

Better would be if it opened the file at the same cursor position as would
find-file, and upon exit, appropriately set the save-place-mode state.

----------

In GNU Emacs 27.2 (build 1, x86_64-w64-mingw32)
 of 2021-03-26 built on CIRROCUMULUS
Repository revision: deef5efafb70f4b171265b896505b92b6eef24e6
Repository branch: HEAD
Windowing system distributor 'Microsoft Corp.', version 10.0.22000
System Description: Microsoft Windows 10 Home (v10.0.2009.22000.282)

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2
HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 GMP

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1252

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads w32notify w32 lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 47294 6213)
 (symbols 48 6072 1)
 (strings 32 16900 2165)
 (string-bytes 1 532003)
 (vectors 16 10062)
 (vector-slots 8 130503 11604)
 (floats 8 21 242)
 (intervals 56 235 0)
 (buffers 1000 11))
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51740; Package emacs. (Wed, 10 Nov 2021 13:29:02 GMT) Full text and rfc822 format available.

Message #8 received at 51740 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Scott Otterson <scotto <at> sharpleaf.org>
Cc: 51740 <at> debbugs.gnu.org
Subject: Re: bug#51740: 27.2;
 find-file-literally doesn't respect saveplace-mode
Date: Wed, 10 Nov 2021 15:27:52 +0200
> From: Scott Otterson <scotto <at> sharpleaf.org>
> Date: Tue, 9 Nov 2021 19:06:52 -0800
> 
> The simplest way to make this better is to not allow find-file-literally to change the save-place-mode state.

I think this is the only solution.

> Better would be if it opened the file at the same cursor position as would find-file, and upon exit, appropriately
> set the save-place-mode state.

That's not really possible, since find-file-literally reads the file
into a buffer in a way that can completely change the relation between
the buffer position and the corresponding file byte offset -- due to
decoding of text and other transformations that affect this.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51740; Package emacs. (Thu, 11 Nov 2021 04:06:02 GMT) Full text and rfc822 format available.

Message #11 received at 51740 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Scott Otterson <scotto <at> sharpleaf.org>, 51740 <at> debbugs.gnu.org
Subject: Re: bug#51740: 27.2; find-file-literally doesn't respect
 saveplace-mode
Date: Thu, 11 Nov 2021 05:05:03 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

> That's not really possible, since find-file-literally reads the file
> into a buffer in a way that can completely change the relation between
> the buffer position and the corresponding file byte offset -- due to
> decoding of text and other transformations that affect this.

Yup.  So I've now done this in Emacs 29 (and not on the emacs-28 branch
since this isn't a regression).

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 51740 <at> debbugs.gnu.org and Scott Otterson <scotto <at> sharpleaf.org> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 11 Nov 2021 04:06:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51740; Package emacs. (Thu, 11 Nov 2021 06:56:02 GMT) Full text and rfc822 format available.

Message #16 received at 51740 <at> debbugs.gnu.org (full text, mbox):

From: Scott Otterson <scotto <at> sharpleaf.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 51740 <at> debbugs.gnu.org
Subject: Re: bug#51740: 27.2;
 find-file-literally doesn't respect saveplace-mode
Date: Wed, 10 Nov 2021 20:46:49 -0800
[Message part 1 (text/plain, inline)]
That was fast.  Thanks!

On Wed, Nov 10, 2021 at 8:05 PM Lars Ingebrigtsen <larsi <at> gnus.org> wrote:

> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > That's not really possible, since find-file-literally reads the file
> > into a buffer in a way that can completely change the relation between
> > the buffer position and the corresponding file byte offset -- due to
> > decoding of text and other transformations that affect this.
>
> Yup.  So I've now done this in Emacs 29 (and not on the emacs-28 branch
> since this isn't a regression).
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no
>
[Message part 2 (text/html, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 09 Dec 2021 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 100 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.