[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13882: 24.2; saveplace.el limit drop least recently used
From: |
Kevin Ryde |
Subject: |
bug#13882: 24.2; saveplace.el limit drop least recently used |
Date: |
Wed, 06 Mar 2013 07:49:14 +1100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
When saveplace.el reaches save-place-limit, the file positions retained
via ~/.emacs-places are the first limit-many in alphabetical order.
I hoped instead it would be the first limit-many most recently used.
Ie. drop the least recently visited files in order to enforce the limit.
I struck this when I reached my save-place-limit with lots of files I
had visited long ago but which happened to be alphabetically before ones
I was visiting now. The save-place feature no longer saved places
across sessions for files I now visited.
The effect can be seen by setting a small limit per init.el below. Then
foo.el to visit three files successively
HOME=`pwd` emacs -Q -l ./init.el -l ./foo.el
This leaves .emacs-places (in the current directory due to faked $HOME)
containing
(("/tmp/aa" . 4)
("/tmp/bb" . 4)
("/tmp/cc" . 4))
Notice /tmp/cc was the most recently visited file but it's at the end of
the list and will be truncated when load-save-place-alist-from-file
enforces save-place-limit of 2.
HOME=`pwd` emacs -Q -l ./init.el /tmp/cc
=>
point is at start of buffer /tmp/cc
I hoped it would be at the end from the last visit
Note that you must exit and restart emacs to see the effect, because
save-place-limit is only enforced by load-save-place-alist-from-file.
Within a session there's no limit, only in reading the .emacs-places
file on restarting emacs.
I get some joy from not sorting save-place-alist when saving per change
below.
I believe save-place-to-alist keeps save-place-alist in "most recent
first" order (by delq and re-push to move an existing entry to the
start), and that that order should be preserved when saving.
2013-03-04 Kevin Ryde <user42@zip.com.au>
* saveplace.el (save-place-alist-to-file): Don't `sort'
save-place-alist alphabetically, keep it in "most recent first" order.
This ensures save-place-limit drops the least recently visited files,
not the alphabetically last files. Dropping alphabetically last files
had meant save-place stopped working across sessions after
.emacs-places filled with alphabetically early names.
init.el
Description: application/emacs-lisp
foo.el
Description: application/emacs-lisp
saveplace.el.nosort.diff
Description: Text Data
In GNU Emacs 24.2.1 (i486-pc-linux-gnu, GTK+ Version 2.24.10)
of 2012-09-10 on biber, modified by Debian
Configured using:
`configure '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu'
'--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
'--localstatedir=/var/lib' '--infodir=/usr/share/info'
'--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.2/site-lisp:/usr/share/emacs/site-lisp'
'--with-crt-dir=/usr/lib/i386-linux-gnu' '--with-x=yes'
'--with-x-toolkit=gtk' '--with-toolkit-scroll-bars'
'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
'CPPFLAGS=-D_FORTIFY_SOURCE=2''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_AU
value of $XMODIFIERS: nil
locale-coding-system: iso-latin-1-unix
default enable-multibyte-characters: t
- bug#13882: 24.2; saveplace.el limit drop least recently used,
Kevin Ryde <=
- bug#13882: 24.2; saveplace.el limit drop least recently used, Dmitry Gutov, 2013/03/07
- bug#13882: 24.2; saveplace.el limit drop least recently used, Karl Fogel, 2013/03/07
- bug#13882: 24.2; saveplace.el limit drop least recently used, Dmitry Gutov, 2013/03/07
- bug#13882: 24.2; saveplace.el limit drop least recently used, Kevin Ryde, 2013/03/09
- bug#13882: 24.2; saveplace.el limit drop least recently used, Karl Fogel, 2013/03/10
- bug#13882: 24.2; saveplace.el limit drop least recently used, Kevin Ryde, 2013/03/11
- bug#13882: 24.2; saveplace.el limit drop least recently used, Karl Fogel, 2013/03/11
- bug#13882: 24.2; saveplace.el limit drop least recently used, Ian Dalton, 2013/03/11
- bug#13882: 24.2; saveplace.el limit drop least recently used, Kevin Ryde, 2013/03/11
- bug#13882: 24.2; saveplace.el limit drop least recently used, Karl Fogel, 2013/03/13