Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] Restrict named directories to scalar parameters set to a path
- X-seq: zsh-workers 54760
- From: Philippe Altherr <philippe.altherr@xxxxxxxxx>
- To: Zsh hackers list <zsh-workers@xxxxxxx>
- Subject: [PATCH] Restrict named directories to scalar parameters set to a path
- Date: Fri, 12 Jun 2026 21:51:49 +0200
- Arc-authentication-results: i=1; mx.google.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=zjtdkwFKvE/ZkyIXvvxX2rYpESz3EbWVI4nkXEqg/Vo=; fh=BgAYDYpL6Ne/A5nWEMVJiHiBtrz8Imz3uf26RDwgQX4=; b=DgVXf70HlNPSJxn5IlVGjuB/IZ3bLzMtjJh4G87hr0buAF2ES6K7SAkF+DiDHFucir Ves9ZYh+68jkDDd3pLbfLvTvrKlV2XlPb78ntbafeC3bt5ecquAnanvzUymXVb0wuIVV 8PGSv98ggK0xkm9gL3PyUCMQ+N39DrlC0xJi/ESmlvO+H/7nnz8E56DpIa0X7yaO9iK6 TU9EBFlgVgYO2znjWqx0KXOIE0MG4B8Suhj32/89NEAR58St3ev9iMZLv0TiAFcP0kbc uBF4jPLFz10XRtDCgAG3mNaQVE5yZmxpgWM8d8NxGBvoUNMw8GO85L+MG4B02VCaUsJg BZMA==; darn=zsh.org
- Arc-seal: i=1; a=rsa-sha256; t=1781293921; cv=none; d=google.com; s=arc-20240605; b=F/EMuWaZN5HcHJBSA1VaN0P86nhkrWlF3xOd90/sDrPzmD7Pr1sAufoJ5lFCZkBfrs tkIDxwgfkUwAwnwY/anaJP/FpLy29AIGafew999oouQ9UdZKmQLLQINIcWRxFFK7cC+1 fjDFzZm5zF5QVfVFu52SpL2vRUM2Az4QJsVFi+QeN09mqlIaBLrEhb+5EICLj7u8/MqW U2YXEMoVJl+wfDt8WKD2pVYxJiWrlTiyq9xtxdJ8dDNQKPTDXzC/G4JIIX2KmLklSGTH uYl8c/PiOPXYkcFKcgCpUcQye6d9zZrB/IeeesOYcT+ktZnR8xPGc4iw2PWC9Zz/FWoy HXFQ==
- Archived-at: <https://zsh.org/workers/54760>
- List-id: <zsh-workers.zsh.org>
diff --git a/Src/params.c b/Src/params.c
index 8df594837..dce7a1a63 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -3996,7 +3996,8 @@ strsetfn(Param pm, char *x)
}
if (!(pm->node.flags & PM_HASHELEM) && !pm->level &&
(PM_TYPE(pm->node.flags) == PM_SCALAR) &&
- ((pm->node.flags & PM_NAMEDDIR) || isset(AUTONAMEDIRS))) {
+ ((pm->node.flags & PM_NAMEDDIR) ||
+ (isset(AUTONAMEDIRS) && x && *x == '/'))) {
pm->node.flags |= PM_NAMEDDIR;
adduserdir(pm->node.nam, x, 0, 0);
}
diff --git a/Test/K01nameref.ztst b/Test/K01nameref.ztst
index 54fe8565a..b630be050 100644
--- a/Test/K01nameref.ztst
+++ b/Test/K01nameref.ztst
@@ -1601,8 +1601,8 @@ F:previously this could create an infinite recursion and crash
>nameddirs=( v1 /1 )
>nameddirs=( v1 /A )
>nameddirs=( v1 /A v2 /2 r2 /R )
->nameddirs=( v1 /A r2 /R )
->nameddirs=( v1 /A r2 /R )
+>nameddirs=( v1 /A v2 /2 r2 /R )
+>nameddirs=( v1 /A v2 /2 r2 /R )
>nameddirs=( v1 /A v2 /B r2 /R )
*?*
Messages sorted by:
Reverse Date,
Date,
Thread,
Author