From 60c6bcdeae6d132c0ab770cc8491055b24f7670e Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 7 May 2015 12:10:16 +0100 Subject: 35054: readonly -p + POSIXBUILTINS fix. Now displays unset variables marekd readonly --- Src/params.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'Src/params.c') diff --git a/Src/params.c b/Src/params.c index d53b6ca7e..9eab51a34 100644 --- a/Src/params.c +++ b/Src/params.c @@ -5039,8 +5039,19 @@ printparamnode(HashNode hn, int printflags) Param p = (Param) hn; char *t, **u; - if (p->node.flags & PM_UNSET) - return; + if (p->node.flags & PM_UNSET) { + if (isset(POSIXBUILTINS) && (p->node.flags & PM_READONLY) && + (printflags & PRINT_TYPESET)) + { + /* + * Special POSIX rules: show the parameter as readonly + * even though it's unset, but with no value. + */ + printflags |= PRINT_NAMEONLY; + } + else + return; + } if (printflags & PRINT_TYPESET) printf("typeset "); -- cgit 1.4.1