about summary refs log tree commit diff
path: root/Src/options.c
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2016-03-03 13:01:08 -0800
committerBarton E. Schaefer <schaefer@zsh.org>2016-03-03 13:01:08 -0800
commit6756870a9263f510f19b395b37a29e35168f8917 (patch)
tree83c668ba4bfa79780e336733979f3a3e3c815a7b /Src/options.c
parentf7d5ff31ce8d354dd69de619e703b9c0e49f0977 (diff)
downloadzsh-6756870a9263f510f19b395b37a29e35168f8917.tar.gz
zsh-6756870a9263f510f19b395b37a29e35168f8917.tar.xz
zsh-6756870a9263f510f19b395b37a29e35168f8917.zip
38039: POSIXy behavior for "set +o"
Diffstat (limited to 'Src/options.c')
-rw-r--r--Src/options.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Src/options.c b/Src/options.c
index 17c46c311..18619c851 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -847,9 +847,10 @@ printoptionnodestate(HashNode hn, int hadplus)
     int optno = on->optno;
 
     if (hadplus) {
-        if (defset(on, emulation) != isset(optno))
-	    printf("set -o %s%s\n", defset(on, emulation) ?
-		   "no" : "", on->node.nam);
+	printf("set %co %s%s\n",
+	       defset(on, emulation) != isset(optno) ? '-' : '+',
+	       defset(on, emulation) ? "no" : "",
+	       on->node.nam);
     } else {
 	if (defset(on, emulation))
 	    printf("no%-19s %s\n", on->node.nam, isset(optno) ? "off" : "on");