From: Stefan Kangas <stefankangas@gmail.com>
To: Adam Porter <adam@alphapapa.net>, luangruo@yahoo.com
Cc: eliz@gnu.org, emacs-devel@gnu.org, sbaugh@catern.com
Subject: Re: Turning on savehist-mode by default
Date: Sat, 16 Dec 2023 23:49:56 -0800 [thread overview]
Message-ID: <CADwFkmm0P7rH69tM=KxMsXhEzzTWds7=VSP5piwagkKHN7kctw@mail.gmail.com> (raw)
In-Reply-To: <461a0999-6005-4aa4-a4b3-988123855f92@alphapapa.net>
Adam Porter <adam@alphapapa.net> writes:
> In addition to what Po said, I'd like to gently reiterate what I said
> earlier in this thread: Given my experience with savehist causing
> unexpected and hard-to-debug performance problems[0], I'd guess that
> there are more such cases in the wild waiting to be triggered. If, e.g.
> Emacs 30.1 enabled it by default, I can imagine a number of users
> suddenly encountering weird pauses, and they'd probably blame GC
> initially[1].
>
> As well, I have some concerns about savehist's having the potential to
> cause weird bugs in other libraries: The savehist-save function seems to
> comment out individual elements of savehist-minibuffer-history-variables
> that it determines are unreadable. That's understandable from its
> perspective, but what effect will that have on libraries that may not be
> expecting for their data structures to have certain parts disappear
> after restarting Emacs? I can just imagine the bug reports from users
> showing apparently corrupted or elided data structures, and having no
> clue as to what is mutating them, because the code isn't within the
> library having a bug reported against it.
>
> IMHO, a feature like this is indeed expected and overdue in Emacs, but I
> don't think savehist is a good way to enable it, given its current
> implementation. ISTM that something built on top of the new
> multisession library would be more appropriate and (at least, have the
> potential to be) more robust.
Thanks, this is clear and compelling.
It seems to me that savehist-mode is *not* ready for being enabled by
default. I think the best we can do at this point is to start working
on improve and/or replace it.
Would anyone like to volunteer to do that?
> 0: https://github.com/alphapapa/ement.el/issues/216
Did you think about how issues like the above could be solved (in
general, not necessarily in savehist specifically)?
> 1: Which may, in fact, be part of the problem, considering how
> savehist-save works: it prints a Lisp object to a buffer, then tries to
> read it to determine whether it's readable--doesn't that generate
> garbage? Now consider doing that every 1-5 minutes and upon exit.
savehist (or it's replacement) could also be smarter about it, for
example you could skip re-serializing history variables that have not
been touched.
next prev parent reply other threads:[~2023-12-17 7:49 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-18 14:54 Turning on savehist-mode by default sbaugh
2023-11-18 16:33 ` [External] : " Drew Adams
2023-11-18 18:19 ` Philip Kaludercic
2023-11-18 21:06 ` Drew Adams
2023-11-18 21:42 ` Philip Kaludercic
2023-11-18 23:01 ` Drew Adams
2023-11-19 6:02 ` Eli Zaretskii
2023-11-19 6:56 ` Drew Adams
2023-11-19 7:05 ` Juri Linkov
2023-11-19 7:32 ` Yuri Khan
2023-11-19 8:26 ` Eli Zaretskii
2023-11-19 9:06 ` Yuri Khan
2023-11-19 9:24 ` Eli Zaretskii
2023-11-19 15:09 ` Spencer Baugh
2023-11-20 9:53 ` Manuel Giraud via Emacs development discussions.
2023-11-20 12:23 ` Eli Zaretskii
2023-11-20 13:15 ` Manuel Giraud via Emacs development discussions.
2023-11-20 14:05 ` Eli Zaretskii
2023-11-23 15:57 ` Eli Zaretskii
2023-11-23 16:31 ` Manuel Giraud via Emacs development discussions.
2023-11-20 16:57 ` Drew Adams
2023-11-20 18:34 ` Eli Zaretskii
2023-11-20 18:54 ` Drew Adams
2023-11-20 19:16 ` Eli Zaretskii
2023-11-19 16:42 ` Drew Adams
2023-11-19 16:42 ` Drew Adams
2023-11-19 16:27 ` Visuwesh
2023-11-19 17:33 ` sbaugh
2023-11-19 6:59 ` Po Lu
2023-11-19 7:10 ` Eli Zaretskii
2023-11-19 7:27 ` Po Lu
2023-11-19 8:23 ` Eli Zaretskii
2023-11-19 14:08 ` Dmitry Gutov
2023-11-19 14:38 ` Po Lu
2023-11-19 14:43 ` Dmitry Gutov
2023-11-20 0:11 ` Po Lu
2023-11-19 15:17 ` Spencer Baugh
2023-11-20 0:09 ` Po Lu
2023-11-20 3:15 ` sbaugh
2023-11-20 3:40 ` Po Lu
2023-11-20 14:32 ` Spencer Baugh
2023-11-20 5:55 ` [OT] Not clobbering bash history brickviking
2023-11-20 17:50 ` Juri Linkov
2023-11-22 3:01 ` [OT] " Richard Stallman
2023-11-22 3:32 ` Arsen Arsenović
2023-11-22 20:43 ` Jens Schmidt via Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists
2023-11-22 21:50 ` Arsen Arsenović via Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists
2023-11-23 12:42 ` Spencer Baugh
2023-11-23 20:12 ` Jens Schmidt via Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists
2023-11-25 2:58 ` Richard Stallman
2023-11-26 10:20 ` Arsen Arsenović
2023-12-04 3:10 ` Richard Stallman
2023-12-04 13:05 ` Arsen Arsenović
2023-12-07 2:49 ` Richard Stallman
2023-12-07 5:34 ` mbork
2023-12-07 5:48 ` Emanuel Berg
2023-12-07 9:34 ` mbork
2023-12-07 5:52 ` Yuri Khan
2023-12-07 6:22 ` Emanuel Berg
2023-12-07 6:44 ` Jean Louis
2023-12-11 12:09 ` Arsen Arsenović via Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists
2023-12-07 13:06 ` Arsen Arsenović via Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists
2023-12-08 3:56 ` Richard Stallman
2023-12-08 10:15 ` Arsen Arsenović via Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists
2023-12-08 3:54 ` Richard Stallman
2023-12-08 6:22 ` brickviking
2023-12-08 10:13 ` Arsen Arsenović via Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists
2023-12-08 3:54 ` Richard Stallman
2023-12-16 18:56 ` Turning on savehist-mode by default Stefan Kangas
2023-11-20 3:08 ` Richard Stallman
2023-11-20 3:16 ` Spencer Baugh
2023-11-28 11:04 ` Thanos Apollo
2023-11-28 14:11 ` Thanos Apollo
2023-11-28 14:38 ` Eli Zaretskii
2023-11-28 21:07 ` Adam Porter
2023-11-28 21:46 ` Dmitry Gutov
2023-11-29 12:31 ` Eli Zaretskii
2023-12-01 1:50 ` Björn Bidar
2023-12-16 19:01 ` Stefan Kangas
2023-12-16 19:40 ` Eli Zaretskii
2023-12-16 22:57 ` Stefan Kangas
2023-12-16 23:57 ` Po Lu
2023-12-17 5:42 ` Adam Porter
2023-12-17 7:49 ` Stefan Kangas [this message]
2023-12-17 11:09 ` Adam Porter
2023-12-22 10:45 ` Stefan Kangas
2023-12-22 11:48 ` Visuwesh
2023-12-22 11:52 ` Adam Porter
2023-12-22 14:22 ` Yuri Khan
2023-12-17 12:02 ` Adam Porter
2023-12-17 8:12 ` Eli Zaretskii
2023-12-17 11:19 ` Adam Porter
2023-12-17 12:11 ` Eli Zaretskii
2023-12-19 3:49 ` Richard Stallman
2023-12-17 18:48 ` [External] : " Drew Adams
2023-12-17 7:50 ` Eli Zaretskii
2023-12-17 11:48 ` Po Lu
2023-12-17 12:26 ` Eli Zaretskii
2023-12-17 13:31 ` Po Lu
2023-12-17 13:45 ` Eli Zaretskii
2023-12-17 17:55 ` Juergen Fenn
2023-12-17 18:09 ` Eli Zaretskii
2023-12-17 19:51 ` Juergen Fenn
2023-12-17 20:20 ` Eli Zaretskii
2023-12-17 20:21 ` Dmitry Gutov
2023-12-17 20:38 ` Juergen Fenn
2023-12-17 20:52 ` Dmitry Gutov
2023-12-17 21:12 ` [External] : " Drew Adams
2023-12-17 21:16 ` Dmitry Gutov
2023-12-17 21:47 ` Juergen Fenn
2023-12-17 22:22 ` Drew Adams
2023-12-17 21:55 ` Drew Adams
2023-12-17 21:57 ` Dmitry Gutov
2023-12-17 22:34 ` Drew Adams
2023-12-18 0:47 ` Po Lu
2023-12-18 3:36 ` Eli Zaretskii
2023-12-17 7:40 ` Eli Zaretskii
2023-12-17 10:03 ` tomas
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='CADwFkmm0P7rH69tM=KxMsXhEzzTWds7=VSP5piwagkKHN7kctw@mail.gmail.com' \
--to=stefankangas@gmail.com \
--cc=adam@alphapapa.net \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=luangruo@yahoo.com \
--cc=sbaugh@catern.com \
/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.