diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Src/options.c | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 8498c5954..6b80b19f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2016-03-03 Barton E. Schaefer <schaefer@zsh.org> + + * 38039: Src/options.c: POSIXy behavior for "set +o" + 2016-02-26 Peter Stephenson <p.w.stephenson@ntlworld.com> * Stephane: 38020: fix problems with fractions of a second in 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"); |