summary refs log tree commit diff
path: root/Src/params.c
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@ipost.com>2021-04-18 14:26:12 -0700
committerBart Schaefer <schaefer@ipost.com>2021-04-18 14:26:12 -0700
commit71b747567e350c5f849897c424ea76fd05b34ffe (patch)
tree71ac096df68a13309adf4abffcd6a31ebcc67200 /Src/params.c
parent82ff9f24f170eea7daa935fdaa09ab75a2f277ff (diff)
downloadzsh-71b747567e350c5f849897c424ea76fd05b34ffe.tar.gz
zsh-71b747567e350c5f849897c424ea76fd05b34ffe.tar.xz
zsh-71b747567e350c5f849897c424ea76fd05b34ffe.zip
47704: POSIX export and readonly ignore "-p" when parameter names also appear
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Src/params.c b/Src/params.c
index 33bbc54f6..20dfb5b5f 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -5883,8 +5883,12 @@ printparamnode(HashNode hn, int printflags)
 	 * don't.
 	 */
 	if (printflags & PRINT_POSIX_EXPORT) {
+	    if (!(p->node.flags & PM_EXPORTED))
+		return;
 	    printf("export ");
 	} else if (printflags & PRINT_POSIX_READONLY) {
+	    if (!(p->node.flags & PM_READONLY))
+		return;
 	    printf("readonly ");
 	} else if (locallevel && p->level >= locallevel) {
 	    printf("typeset ");	    /* printf("local "); */