summary refs log tree commit diff
diff options
context:
space:
mode:
-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
+