diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-01 13:51:28 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-01 13:51:28 -0400 |
| commit | f2d3f6c6586ede7f757ca74ea699982562f069a7 (patch) | |
| tree | 86f292b6ad19c2affd067d6ba13ce3865629a7c0 /docs | |
| parent | b1aca874b9a2b5282c0cc83bd4fece981a94e19c (diff) | |
| download | emacs-wttrin-f2d3f6c6586ede7f757ca74ea699982562f069a7.tar.gz emacs-wttrin-f2d3f6c6586ede7f757ca74ea699982562f069a7.zip | |
fix: keep a d-set favorite from reverting to the init value on restart
wttrin-favorite-location did two jobs: a defcustom the user sets in init, and the savehist-persisted value that `d`/make-default mutated. Setting it in init (setopt) clobbered the `d` choice on every startup. So a favorite promoted with `d` reverted to the init value after a restart, and the mode-line showed the wrong location's weather. wttrin-saved-locations had the same defect.
I split the two roles. The defcustoms stay as the init-set base. New savehist-persisted runtime vars, wttrin--favorite-override and wttrin--saved-locations-runtime, hold what `d`, save, rename, remove, and the geolocation commands write. Reads go through resolvers: wttrin--favorite-location returns the override or the configured favorite, and wttrin--saved-locations overlays the runtime directory on the configured one (runtime wins on a name collision). Init and `d` now write different variables, so neither clobbers the other.
Removing a saved location that only comes from init can't delete it, since the runtime removal has nothing to touch. The command now says so instead of reporting a removal that didn't happen.
There's no automatic migration. A favorite set in init is unaffected, and a favorite set only with `d` before this version is re-set once with `d`. The README documents the behavior.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
