summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2017-12-20 05:30:28 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2017-12-20 05:43:42 +0000
commit4b55c0f40c21a6e57fc8e71515c3f39df6a30f67 (patch)
tree5ca6f5375c1d7147838a3c4a2e17a6b24186723a
parenta254c1815aac155108f8729ed7929e42f6f2c8b0 (diff)
downloadzsh-4b55c0f40c21a6e57fc8e71515c3f39df6a30f67.tar.gz
zsh-4b55c0f40c21a6e57fc8e71515c3f39df6a30f67.tar.xz
zsh-4b55c0f40c21a6e57fc8e71515c3f39df6a30f67.zip
42146: type -w += global aliases
Follow-up to 36403, which did the same for suffix aliases.
-rw-r--r--ChangeLog3
-rw-r--r--Src/hashtable.c2
-rw-r--r--Test/A02alias.ztst11
3 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9bdd385cb..d63c2e513 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2017-12-20  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
+	* 42146: Src/hashtable.c, Test/A02alias.ztst: type -w +=
+	global aliases
+
 	* 42138: Completion/Unix/Command/_git: _git-revert: Complete
 	recent commits first.
 
diff --git a/Src/hashtable.c b/Src/hashtable.c
index 6ec2ed220..b7baa3142 100644
--- a/Src/hashtable.c
+++ b/Src/hashtable.c
@@ -1261,6 +1261,8 @@ printaliasnode(HashNode hn, int printflags)
     if (printflags & PRINT_WHENCE_WORD) {
 	if (a->node.flags & ALIAS_SUFFIX)
 	    printf("%s: suffix alias\n", a->node.nam);
+	else if (a->node.flags & ALIAS_GLOBAL)
+	    printf("%s: global 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 e68e93e0d..99f7aae26 100644
--- a/Test/A02alias.ztst
+++ b/Test/A02alias.ztst
@@ -137,3 +137,14 @@
   thisworks)
 0:NO_ALIAS_FUNC_DEF works if the alias is a complete definition
 >That worked
+
+ type \bar
+ type -w \bar
+ type \\bar
+ type -w \\bar
+0:type -w of alias -g
+>bar is a global alias for echo
+>bar: global alias
+>\bar is an alias for echo
+>\bar: alias
+