aboutsummaryrefslogtreecommitdiffstats
path: root/src/expr.c
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-14 22:06:27 +0200
committeruser <user@clank>2026-08-14 22:06:27 +0200
commit360ee83a9bae4d06db1ab7747ef984cd7292883d (patch)
treedf0c65da1753f288d875483538b3f6517628d289 /src/expr.c
parentsl0ppty: walk the row, not screen_at() (diff)
downloadslosh-360ee83a9bae4d06db1ab7747ef984cd7292883d.tar.gz
slosh-360ee83a9bae4d06db1ab7747ef984cd7292883d.tar.xz
slosh-360ee83a9bae4d06db1ab7747ef984cd7292883d.zip
sl0ppty: expand ~ in a path that a config file wrote
`cwd="~/dev/api"` is in the README, in config/layout.example.kdl, and did nothing. `~` is a shell thing, and no shell has touched a path that arrives from a layout file -- so it went to chdir() literally, failed, and left the pane in whatever directory the session happened to be started from. The pane still ran, so nothing looked wrong until you typed `ls`. path_expand() handles `~` and `~/...` against $HOME and returns everything else untouched, including `~user`, which needs the password database and is not worth linking it in for -- returned unchanged rather than half-expanded into something wrong. Applied where a layout's cwd is read, which is one place because a pane inherits its tab's. Found while documenting a shader directory that was about to have exactly the same bug.
Diffstat (limited to 'src/expr.c')
0 files changed, 0 insertions, 0 deletions