<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-init-defer-games.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-06-21T06:16:42+00:00</updated>
<entry>
<title>fix: load games-config via the malyon hook, not an autoload chain</title>
<updated>2026-06-21T06:16:42+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-21T06:16:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=4a8c572ba6a64be997be072b44ef5ff62674d820'/>
<id>urn:sha1:4a8c572ba6a64be997be072b44ef5ff62674d820</id>
<content type='text'>
The previous deferral (03d8b587) autoloaded malyon to games-config, but games-config doesn't define malyon. It leaves the command to the malyon package, so M-x malyon loaded games-config, found malyon still undefined, and errored "Autoloading games-config.el failed to define function malyon". Emacs won't chain through a second autoload.

malyon and 2048-game autoload their own commands via package.el, so games-config should never own them. init.el now loads games-config via (with-eval-after-load 'malyon ...), and games-config just sets malyon-stories-directory when malyon loads. M-x malyon loads the package as a real command, then games-config applies its config.

The earlier batch check loaded the files by hand and missed the autoload failure. The new test resolves the autoload the way M-x does (autoload-do-load), so the real path is covered now.
</content>
</entry>
<entry>
<title>refactor: defer games-config behind autoloads (load-graph Phase 4)</title>
<updated>2026-06-21T05:57:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-21T05:57:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=03d8b587b1f49073d94bd0c4114fe09e832183f8'/>
<id>urn:sha1:03d8b587b1f49073d94bd0c4114fe09e832183f8</id>
<content type='text'>
init.el eagerly required games-config at startup just to configure two on-demand game packages. package.el already autoloads malyon and 2048-game, so the eager require bought nothing but the one setting the module adds (malyon-stories-directory).

init.el now autoloads malyon and 2048-game to games-config instead of requiring it. The first game command loads the module, which configures then loads the package. Startup no longer touches games-config, and both the commands and the stories-directory setting still work. This is the first module of the Phase 4 low-risk batch.
</content>
</entry>
</feed>
