On Mon, 16 May 2022 00:23:39 +0600 Akib Azmain Turja <[email protected]> wrote:
> For each Emacs package I have installed, Emacs echoes "Loading > /gnu/store/...-emacs-.../...-autoloads.el" while startup. This is > very annoying. The reason is probably the function: > > (defun guix-emacs-autoload-packages () > "Autoload Emacs packages found in EMACSLOADPATH. > > 'Autoload' means to load the 'autoloads' files matching > `guix-emacs-autoloads-regexp'." > (interactive) > (let ((autoloads (mapcan #'guix-emacs-find-autoloads > (guix-emacs--non-core-load-path)))) > (mapc (lambda (f) > (load f 'noerror)) ;; This should be (load f 'noerror > 'nomessage) autoloads))) > > And also I wonder why Guix loads each autoloads file. Can't it merge > (concat) all autoloads into one file while making the profile and then > load it afterwards? This would probably save a little time. > package.el can do this (see "package-quickstart-file" variable), so > Guix should be able to do this too. > Gonna speculate here a bit since I'm not sure if this pattern exists in Elisp land, but I've certainly seen (and written) programs that required to be run from a specific place, usually from next to other submodules in the same package. If you were to concatenate (or even just move) such a file, it would break, possibly silently. You can't even rename a program and be sure that it will have the same behaviour, see busybox for an example of this. It's a single binary that checks what name it's run under and then acts like that executable.
