Subject: bug#63513: [PATCH] Make persist-defvar work with records and hash tables

From: Eli Zaretskii <[email-masked]>
Date: Fri, 08 Sep 2023 15:46:14 +0300

> From: Ihor Radchenko <[email-masked]>
> Cc: [email-masked], [email-masked],
>  [email-masked], [email-masked], [email-masked]
> Date: Fri, 08 Sep 2023 12:06:06 +0000
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> May it be possible to promote `persist-hash-equal' and
> >> `persist-copy-tree' to common subr.el functions?
> >
> > Why do we need them in subr.el, i.e. preloaded?  Why cannot these
> > functions be autoloaded instead?
> 
> Similar functions - `string-equal-ignore-case' and `copy-tree' - are
> already in subr.el. I do not see why the new functions discussed here
> should be any different.

We make the decision whether a function must be preloaded in a case by
case basis, to avoid making the memory footprint of an Emacs session
larger than it needs to be.  So arguments "by similarity" are not
useful in this case; you need to explain why you think these functions
are needed right from the startup.  Valid reasons include, among
others:

  . function is used by the startup code or during dumping
  . function is used by all or many important configurations
    immediately after startup