dotfiles

🎜 Clone'em, tweak'em, stick'em in your $HOME 🎝
git clone https://git.kevinlegouguec.net/dotfiles
Log | Files | Refs | README

commit 89d55ba2eb0ad172dc6aae81ce5d1cb340a632d2
parent 013e38985db1d093c5c8c9af1c1cc3380b9bbdd9
Author: Kévin Le Gouguec <kevin.legouguec@gmail.com>
Date:   Sun, 24 Mar 2024 18:58:08 +0100

Refresh .emacs prologue

The stuff about package-initialize is flat out wrong:

(a) package-initialize is _not_ called automatically at startup;
(b) for all that, customizations seem none the worse for wear.

'(elisp) Packaging Basics' suggests that Emacs does automatically call
'package-activate-all' (unless asked otherwise in the early init file)
so it's really not clear what that business with package-initialize
was about 🤷

Add some more up-to-date commentary regarding other topics.

Diffstat:
M.emacs | 32++++++++++++++------------------
1 file changed, 14 insertions(+), 18 deletions(-)

diff --git a/.emacs b/.emacs @@ -1,21 +1,14 @@ ;;; -*- lexical-binding: t -*- -;;; Packages and Custom initialization. - -;; Letting Custom run *before* initializing packages seems to result -;; in packages resetting some of their variables, eg page-break-lines -;; resets global-page-break-lines-mode to nil. Cue Custom shrugging, -;; "changed outside Customize". - -;; Emacs≥27 automatically calls package-initialize before loading the -;; user's init file, unless package-enable-at-startup is set to nil in -;; the early init file. -(unless (>= emacs-major-version 27) - (package-initialize)) +;;; "Custom"ization & theming. +;; Trying to migrate to use-package instead of Custom's serialized +;; forms. It's a long-term project; until that's done, start by +;; setting and loading the `custom-file'. (setq custom-file "~/.emacs-custom.el") (load custom-file) +;; Compatibility shim for setopt. (if (fboundp 'setopt) (defalias 'my/setopt 'setopt) (defmacro my/setopt (&rest pairs) @@ -23,12 +16,15 @@ (while pairs (customize-set-variable (pop pairs) (pop pairs)))))) -;; Some list variables I don't set via Custom. I can't tell Custom -;; "add this element, take those two away": I need to "set in stone" -;; an exhaustive list that will make me (1) scratch my head a few -;; months later when I try to remember which of those items I added, -;; and which were part of the default list (2) miss out on additions -;; to the default list, unless I cautiously audit every release. +;; Helper for customizing list options. +;; +;; None of Emacs's customization tools (Custom, setopt, use-package) +;; can be told "add this element, take those two away": I need to "set +;; in stone" an exhaustive list that will make me (1) scratch my head +;; a few months later when I try to remember which of those items I +;; deliberately added vs which were part of the default list (2) miss +;; out on additions to the default list, unless I cautiously audit +;; every release of every package. ;; ;; Examples: erc-modules, git-commit-setup-hook, package-archives. (defmacro my/setopt-update-list (l to-add &optional to-remove)