Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: zsh_directory_name_generic fix
- X-seq: zsh-workers 37400
- From: Peter Stephenson <p.stephenson@xxxxxxxxxxx>
- To: Zsh Hackers' List <zsh-workers@xxxxxxx>
- Subject: PATCH: zsh_directory_name_generic fix
- Date: Mon, 14 Dec 2015 10:32:21 +0000
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- Organization: Samsung Cambridge Solution Centre
Documented behaviour: if you refer to ~[x:y:z] and the function over
zsh_directory_name_generic doesn't handle the "x" component you don't
get an error, it simply returns 1 and lets another function handle it,
whereas if it does handle the "x" but doesn't handle one of the later
components it considers itself committed and reports an error.
Owing to a typo, the current actual behaviour is you always get an error
message. Discovered this when I put a second mapper behind my git
mapper. The hook handler doesn't distinguish the two cases, in fact, so
the message is the only difference.
This behaviour could be made configurable but currently it looks like
an unnecessary complexity.
Another cosmetic typo fixed, too.
pws
diff --git a/Functions/Chpwd/zsh_directory_name_generic b/Functions/Chpwd/zsh_directory_name_generic
index 9430c95..aa4bf9b 100644
--- a/Functions/Chpwd/zsh_directory_name_generic
+++ b/Functions/Chpwd/zsh_directory_name_generic
@@ -16,7 +16,7 @@ zmodload -i zsh/parameter
zstyle -s ":zdn:${funcstack[2]}:" mapping _zdn_topvar || _zdn_topvar=zdn_top
if (( ! ${(P)#_zdn_topvar} )); then
- print -r -- "$0: $_zdn_topver is not set" >&2
+ print -r -- "$0: $_zdn_topvar is not set" >&2
return 1
fi
@@ -43,7 +43,7 @@ if [[ $1 = n ]]; then
if [[ -z $_zdn_cpt ]]; then
# If top level component, just try another expansion
- if [[ $_zdn_var != $_zdn_top ]]; then
+ if [[ $_zdn_var != $_zdn_topvar ]]; then
# Committed to this expansion, so report failure.
print -r -- "$0: no expansion for directory name \`$_zdn_name'" >&2
fi
Messages sorted by:
Reverse Date,
Date,
Thread,
Author