diff options
| author | Craig Jennings <c@cjennings.net> | 2026-08-03 14:38:20 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-08-03 14:38:20 -0500 |
| commit | a457ade9207be48f6bfaa519046d7acea390ff1b (patch) | |
| tree | a0584cabe422b2f918627a6bb73a9e6a1dab2345 /modules/google-keep-config.el | |
| parent | 90aa02c5cd7dc78729d4362d4962005627069e60 (diff) | |
| download | dotemacs-a457ade9207be48f6bfaa519046d7acea390ff1b.tar.gz dotemacs-a457ade9207be48f6bfaa519046d7acea390ff1b.zip | |
feat(music): write an m3u path absolute when it leaves the playlist's directory
A track under the playlist's own directory still writes relative. Anything
outside it now writes the absolute path instead of a ../ chain. Playlists in
the mpd directory point into ~/music, so the relative form there was four
levels of .. and broke the moment anything moved.
I took the trade knowingly. ambience.m3u is the only playlist anywhere using
../ lines, and it reaches its audio through a sibling directory. So a newly
appended track there writes absolute while its hand-written lines stay
relative, and its header comment needs a matching edit. The alternative was
an exception for tracks inside the deployed tree, which would be a rule
serving exactly one file.
The comment I wrote for the earlier half of this argued one direction only.
Absolute survives the playlist moving, which I said. Relative survives the
library moving, which I didn't, and for a track in the same tree the ../ form
survives strictly more moves rather than fewer. Rewritten to name the trade
instead of implying there isn't one.
The boundary case is a directory whose name begins with two dots. The check
looks for a leading "../", so a real subdirectory called ..hidden sits under
the playlist and must stay relative. It has a test now, because loosening
that check to ".." would break that case and nothing else.
Diffstat (limited to 'modules/google-keep-config.el')
0 files changed, 0 insertions, 0 deletions
