From: Drew Adams <drew.adams@oracle.com>
To: "Eli Zaretskii" <eliz@gnu.org>, "Daniel Martín" <mardani29@yahoo.es>
Cc: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: RE: [External] : Re: A feature to go to last edit locations
Date: Sun, 12 Feb 2023 21:40:11 +0000 [thread overview]
Message-ID: <SJ0PR10MB5488464835FEEAEEB4C1E6E3F3DC9@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)
In-Reply-To: <83y1p2fzwq.fsf@gnu.org>
> > >> Some IDEs and text editors provide a feature to go to the position
> of
> > >> the last edit location across all buffers. For example, in Eclipse
> or
> > >> IntelliJ IDEA, this feature is under Navigate, Last Edit Location.
> In
> > >> Vim, this feature is called a "change list jump" [1], but it seems
> to
> > >> work in a per-buffer basis.
> > >>
> > >> The closest thing in Emacs is pop-global-mark, but it's not quite
> the
> > >> same feature.
> > >
> > > Emacs also has registers.
> >
> > Yes, but registers still require that users explicitly save the
> position
> > in a register beforehand. Users may be editing a file, then switch to
> > another file (or to another part of the same file) and then get a bit
> > lost and ask themselves "where is what I was editing before?". If
> they
> > haven't saved their position in a register or in the mark ring, Emacs
> > can't help them.
>
> Given how much one moves during editing, I have hard time imagining
> how a command that returns me to "the last place I edited" could be
> useful without me telling Emacs which of those places is important and
> which isn't. If you invent a mechanism to save "the last location"
> automatically, you are going to add a facility that will have a high
> probability of false positives.
>
> In any case, whatever method of deducing automatically which place to
> record, I think it's better to build the feature on top of registers,
> since they are already equipped for saving and restoring locations.
FWIW, Bookmark+ has `bmkp-automatic-bookmark-mode', which
just records locations with a timer delay.
Not claiming it's what's requested here, but it might be
similar or serve as food for thought.
When the mode is enabled in the current buffer, a bookmark is
automatically set every `bmkp-automatic-bookmark-mode-delay' seconds,
using the setting function that is the value of option
`bmkp-automatic-bookmark-set-function'. Note that a buffer must be
current (selected) for an automatic bookmark to be created there - it
is not enough that the mode be enabled in the buffer.
Turning the mode on and off runs hooks
`bmkp-automatic-bookmark-mode-on-hook' and
`bmkp-automatic-bookmark-mode-off-hook', respectively.
If you want the automatic bookmarks to be temporary (not saved to your
bookmark file), then customize option
`bmkp-autotemp-bookmark-predicates' so that it includes the kind of
bookmarks that are set by `bmkp-automatic-bookmark-set-function'.
For example, if automatic bookmarking sets autonamed bookmarks, then
`bmkp-autotemp-bookmark-predicates' should include
`bmkp-autonamed-bookmark-p' or
`bmkp-autonamed-this-buffer-bookmark-p'.
If you want the automatically created bookmarks to be highlighted,
then customize option `bmkp-auto-light-when-set' to highlight
bookmarks of the appropriate kind. For example, to highlight
autonamed bookmarks set it to `autonamed-bookmark'.
next prev parent reply other threads:[~2023-02-12 21:40 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <m1fsbakchr.fsf.ref@yahoo.es>
2023-02-12 17:41 ` A feature to go to last edit locations Daniel Martín
2023-02-12 17:52 ` Eli Zaretskii
2023-02-12 18:59 ` Daniel Martín
2023-02-12 19:26 ` Eli Zaretskii
2023-02-12 19:42 ` andrés ramírez
2023-02-12 22:19 ` Daniel Martín
2023-02-12 23:54 ` Dr. Arne Babenhauserheide
2023-02-13 7:50 ` Juri Linkov
2023-02-12 21:40 ` Drew Adams [this message]
2023-02-13 20:28 ` [External] : " Jean Louis
2023-02-12 18:07 ` Dmitry Gutov
2023-02-12 18:50 ` Daniel Martín
2023-02-12 18:52 ` Dmitry Gutov
2023-02-12 19:23 ` Daniel Martín
2023-02-13 19:28 ` Jean Louis
2023-02-13 19:24 ` Jean Louis
2023-02-13 19:41 ` Dmitry Gutov
2023-02-13 20:22 ` Dr. Arne Babenhauserheide
2023-02-13 20:56 ` Jean Louis
2023-02-14 3:25 ` Eli Zaretskii
2023-02-14 4:36 ` [External] : " Drew Adams
2023-02-14 4:56 ` Drew Adams
2023-02-14 5:53 ` Jean Louis
2023-02-14 16:24 ` Drew Adams
2023-02-15 5:45 ` Jean Louis
2023-02-15 16:34 ` Drew Adams
2023-02-16 8:17 ` On Bookmarks+ package Jean Louis
2023-02-16 17:38 ` [External] : " Drew Adams
2023-02-14 20:08 ` A feature to go to last edit locations Dmitry Gutov
2023-02-13 19:48 ` [External] : " Drew Adams
2023-02-13 20:28 ` Dr. Arne Babenhauserheide
2023-02-13 21:17 ` Drew Adams
2023-02-13 21:21 ` Jean Louis
2023-02-13 21:14 ` Jean Louis
2023-02-14 5:21 ` Drew Adams
2023-02-13 19:49 ` Michael Welsh Duggan
2023-02-13 21:35 ` Jean Louis
2023-02-13 23:14 ` Konstantin Kharlamov
2023-02-14 0:00 ` Ergus
2023-02-14 6:29 ` Dr. Arne Babenhauserheide
2023-02-15 0:00 ` Karthik Chikmagalur
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=SJ0PR10MB5488464835FEEAEEB4C1E6E3F3DC9@SJ0PR10MB5488.namprd10.prod.outlook.com \
--to=drew.adams@oracle.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=mardani29@yahoo.es \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.