summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2015-09-02 15:33:22 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2015-09-03 09:17:39 +0000
commit1ba2fac03d611ca2955e1c019c9cc9189fd2920b (patch)
treef89959f675d67234ef1d7ecb7985da9f820a27d3
parent8dfdca8afd77c39a2bb6542cfd20488059de09d1 (diff)
downloadzsh-1ba2fac03d611ca2955e1c019c9cc9189fd2920b.tar.gz
zsh-1ba2fac03d611ca2955e1c019c9cc9189fd2920b.zip
36403: type -w += suffix alias
This makes 'type -w' distinguish suffix aliases from regular aliases, like bare 'type' already does. Use-case: detecting programmatically whether the command word is indeed a valid command word (see <https://github.com/zsh-users/zsh-syntax-highlighting/issues/126>)
-rw-r--r--ChangeLog5
-rw-r--r--Src/hashtable.c5
-rw-r--r--Test/A02alias.ztst3
3 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d4d061a1..bf10cbdac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-03 Daniel Shahaf <d.s@daniel.shahaf.name>
+
+ * 36403: Src/hashtable.c Test/A02alias.ztst: type -w +=
+ suffix alias
+
2015-09-02 Barton E. Schaefer <schaefer@zsh.org>
* unposted: Test/A05execution.ztst: test for 36393
diff --git a/Src/hashtable.c b/Src/hashtable.c
index 90739a882..2d1ff87cb 100644
--- a/Src/hashtable.c
+++ b/Src/hashtable.c
@@ -1234,7 +1234,10 @@ printaliasnode(HashNode hn, int printflags)
}
if (printflags & PRINT_WHENCE_WORD) {
- printf("%s: alias\n", a->node.nam);
+ if (a->node.flags & ALIAS_SUFFIX)
+ printf("%s: suffix alias\n", a->node.nam);
+ else
+ printf("%s: alias\n", a->node.nam);
return;
}
diff --git a/Test/A02alias.ztst b/Test/A02alias.ztst
index b294e65ca..389617898 100644
--- a/Test/A02alias.ztst
+++ b/Test/A02alias.ztst
@@ -91,5 +91,8 @@
0:unalias -a
alias -s foo=print
+ type bar.foo; type -w bar.foo
unalias -as
0:unalias -as
+>foo is a suffix alias for print
+>foo: suffix alias