<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-modeline-config-vc-cache-key.el, branch load-graph-classify-start</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-24T12:22:56+00:00</updated>
<entry>
<title>fix(modeline): key VC cache on resolved truename for symlink moves</title>
<updated>2026-05-24T12:22:56+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-24T12:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=9135298c45f2f03ab92903edb242c8f5f94396d5'/>
<id>urn:sha1:9135298c45f2f03ab92903edb242c8f5f94396d5</id>
<content type='text'>
The VC modeline cache keyed on (list file cj/modeline-vc-show-remote). If file was a symlink whose target moved to a different VC tree (shared drives, CI workspaces), the key was unchanged and the cache kept serving the old branch/state.

Added the resolved file-truename to the key, so a symlink re-pointed at a new target produces a different key and the cache refreshes. The extra file-truename is one stat per modeline refresh, cheap next to the VC calls the cache exists to avoid. Tests cover truename inclusion, key stability for an unchanged file, and a symlink whose target moves.
</content>
</entry>
</feed>
