about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2000-06-12 09:27:09 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2000-06-12 09:27:09 +0000
commit055d961f84fcfb430aceb40bdb7932d962b143e9 (patch)
tree75ccaf7156e47c96ffe471f7c94054f28bf7a67d /Src
parent21f6b9d14c100f0887d03422a21c57a0e327fde1 (diff)
downloadzsh-055d961f84fcfb430aceb40bdb7932d962b143e9.tar.gz
zsh-055d961f84fcfb430aceb40bdb7932d962b143e9.tar.xz
zsh-055d961f84fcfb430aceb40bdb7932d962b143e9.zip
11867: restrict typeset -H application
Diffstat (limited to 'Src')
-rw-r--r--Src/builtin.c2
-rw-r--r--Src/params.c3
-rw-r--r--Src/zsh.h1
3 files changed, 4 insertions, 2 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index 950595c72..8ea88862f 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -1598,7 +1598,7 @@ typeset_single(char *cname, char *pname, Param pm, int func,
     if (usepm) {
 	on &= ~PM_LOCAL;
 	if (!on && !roff && !value) {
-	    paramtab->printnode((HashNode)pm, 0);
+	    paramtab->printnode((HashNode)pm, PRINT_INCLUDEVALUE);
 	    return pm;
 	}
 	if ((pm->flags & PM_RESTRICTED) && isset(RESTRICTED)) {
diff --git a/Src/params.c b/Src/params.c
index f57173495..2768c273d 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -3181,7 +3181,8 @@ printparamnode(HashNode hn, int printflags)
 	    printf("exported ");
     }
 
-    if ((printflags & PRINT_NAMEONLY) || (p->flags & PM_HIDEVAL)) {
+    if ((printflags & PRINT_NAMEONLY) ||
+	((p->flags & PM_HIDEVAL) && !(printflags & PRINT_INCLUDEVALUE))) {
 	zputs(p->nam, stdout);
 	putchar('\n');
 	return;
diff --git a/Src/zsh.h b/Src/zsh.h
index 49f434691..d4f521f48 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1213,6 +1213,7 @@ struct nameddir {
 #define PRINT_TYPE		(1<<1)
 #define PRINT_LIST		(1<<2)
 #define PRINT_KV_PAIR		(1<<3)
+#define PRINT_INCLUDEVALUE	(1<<4)
 
 /* flags for printing for the whence builtin */
 #define PRINT_WHENCE_CSH	(1<<4)