Subject: Re: bug#30552: 27.0.50; Incorrect link to Early Init File node and Early Init File clarification

From: Stefan Kangas <[email-masked]>
Date: Sun, 29 Sep 2019 17:59:49 +0200

Radon Rosborough <[email-masked]> writes:

> I did not, sorry, and don't see it happening in the foreseeable future given my current workload.

I see that this text has changed a bit since this was last discussed.
Is the current text good, or is there still something missing?  It
explains which variables should be put in the early init file.

-----

49.4.6 The Early Init File
--------------------------

Most customizations for Emacs should be put in the normal init file.
*Note Init File::.  However, it is sometimes desirable to have
customizations that take effect during Emacs startup earlier than the
normal init file is processed.  Such customizations can be put in the
early init file, ‘~/.config/emacs.d/early-init.el’ or
‘~/.emacs.d/early-init.el’.  This file is loaded before the package
system and GUI is initialized, so in it you can customize variables that
affect frame appearance as well as the package initialization process,
such as ‘package-enable-at-startup’, ‘package-load-list’, and
‘package-user-dir’.  Note that variables like ‘package-archives’ which
only affect the installation of new packages, and not the process of
making already-installed packages available, may be customized in the
regular init file.  *Note Package Installation::.

   We do not recommend that you move into ‘early-init.el’ customizations
that can be left in the normal init files.  That is because the early
init file is read before the GUI is initialized, so customizations
related to GUI features will not work reliably in ‘early-init.el’.  By
contrast, the normal init files are read after the GUI is initialized.
If you must have customizations in the early init file that rely on GUI
features, make them run off hooks provided by the Emacs startup, such as
‘window-setup-hook’ or ‘tty-setup-hook’.  *Note Hooks::.

   For more information on the early init file, *note (elisp)Init
File::.

-----

Thanks in advance.

Best regards,
Stefan Kangas