GNU bug report logs -
#65575
guix-emacs-autoload-packages does not autoreload newly installed packages
Previous Next
Full log
Message #41 received at 65575 <at> debbugs.gnu.org (full text, mbox):
Am Montag, dem 28.08.2023 um 11:20 -0400 schrieb Maxim Cournoyer:
> > e.g.
> > (defun guix-emacs-autoload-packages (&optional reload)
> > "..."
> > (interactive "P")
> > (when reload (mapc #'load-file (guix-emacs--subdirs-files)))
> > ...)
> >
> > WDYT?
>
> The reason for avoiding loading the subdirs.el files on the first
> call is just an optimization, since it would at this time duplicate
> work already done by Emacs itself when it first executes. This
> shouldn't fail; I've now employed the same 'noerror strategy as used
> for autoloads to ensure that.
>
> There's one edge case I've just thought though, which is if a user
> invoked emacs with the documented '--no-site-file' option disabling
> loading autoloads; this would cause guix-emacs-autoload-packages-
> called to be nil.
>
> To balance between making things both convenient and flexible, I've
> preserved the tracking but also added the reload override you
> suggested. Let me know what you think.
Assuming convenience equates to not needing to type C-u, we can also
achieve that without tracking:
(defun guix-emacs-autoload-packages (&optional noexpand)
"Autoload Emacs packages found in EMACSLOADPATH.
'Autoload' means to load the 'autoloads' files matching
`guix-emacs-autoloads-regexp'. Before doing so, expand load-path by
loading subdirs.el files found in it, unless NOEXPAND is given."
(interactive "P")
(unless noexpand (mapc #'load-file (guix-emacs--subdirs-files)))
...)
In our own init code, we should simply call it as
(guix-emacs-autoload-packages 'noexpand)
then, since this expansion is already done earlier by Emacs.
Cheers
This bug report was last modified 1 year and 311 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.