From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16160 invoked by alias); 23 May 2018 18:21:33 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 42813 Received: (qmail 27745 invoked by uid 1010); 23 May 2018 18:21:33 -0000 X-Qmail-Scanner-Diagnostics: from mslow2.mail.gandi.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(217.70.178.242):SA:0(-1.9/5.0):. Processed in 3.186398 secs); 23 May 2018 18:21:33 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE, SPF_PASS,T_FILL_THIS_FORM_FRAUD_PHISH,T_FILL_THIS_FORM_SHORT autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: alexandre.rames@uop.re X-Qmail-Scanner-Mime-Attachments: |log| X-Qmail-Scanner-Zip-Files: | X-Originating-IP: 209.85.128.181 X-Gm-Message-State: ALKqPwdM2Yakxpzj5JtYePFNxt7KF/uRjRn95hasd5VaWeh3+oDAnA2u XyDxhmuOHDbwqju/X1ZlL5FCaYVLrHmMyOdsJr8= X-Google-Smtp-Source: AB8JxZrN+QRquJtE1bXR+4MiyWm/vvOpU6JBRG6M0yj4kXKFa0hiFQ4yMO/F1JPoYcSkcJT9os9KCMHlkDnpyc77aQo= X-Received: by 2002:adf:972c:: with SMTP id r41-v6mr3339120wrb.79.1527090861321; Wed, 23 May 2018 08:54:21 -0700 (PDT) MIME-Version: 1.0 From: Alexandre Rames Date: Wed, 23 May 2018 08:54:09 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Issue trying to save and restore options To: "zsh-workers@zsh.org" Content-Type: multipart/mixed; boundary="000000000000544a51056ce18c43" --000000000000544a51056ce18c43 Content-Type: multipart/alternative; boundary="000000000000544a4d056ce18c41" --000000000000544a4d056ce18c41 Content-Type: text/plain; charset="UTF-8" Hello, As part of a script, I was trying to save and restore options in a shell-agnostic way. The goal is to write ``` # Save options. set -x # Modify other options. # Do stuff. # Restore options ``` Googling, I came across this stack overflow answer , suggesting the use of `set +o`. However this gives me unexpected results % zsh --no-globalrcs --no-rcs username% zsh --version zsh 5.5.1 (x86_64-apple-darwin17.5.0) username% set +o set +o noaliases # More option lines. See full log attached. set -o zle username% OPTS=$(set +o) # Hitting Ctrl-C works as expected username% username% username% eval "$OPTS" # Hitting Ctrl-C now does not behave as expected username% ^C^C^C The same thing works in `bash` though. Does someone know if that is expected to work? Is that a known issue with zsh? Alexandre --000000000000544a4d056ce18c41 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

As part of a script, I was tryin= g to save and restore options in a shell-agnostic way. The goal is to write=

```
# Save options.
set -x
# Modify other options.
# Do stuff.
# Restore o= ptions
```

Googling, I came across=C2=A0= this stack overflow answer, s= uggesting the use of `set=C2=A0+o`.
However this gives me unexpec= ted results

% zsh --= no-globalrcs --no-rcs
username% z= sh --version
zsh 5.5.1 (x86_64-ap= ple-darwin17.5.0)
username% set += o
set +o noaliases
# More option lines. See full log attached.
set -o zle
username% OPTS=3D$(set +o)
# Hitting Ctrl-C works as expected
username%
username= %
username% eval "$OPTS"= ;
# Hitting Ctrl-C now does not b= ehave as expected
username% ^C^C^= C

The same thing works in `bash` thou= gh.
Does someone know if that is expected to work? Is that a know= n issue with zsh?

Alexandre
=
--000000000000544a4d056ce18c41-- --000000000000544a51056ce18c43 Content-Type: application/octet-stream; name=log Content-Disposition: attachment; filename=log Content-Transfer-Encoding: base64 Content-ID: <1638daeaf441a3441> X-Attachment-Id: 1638daeaf441a3441 JSB6c2ggLS1uby1nbG9iYWxyY3MgLS1uby1yY3MKdXNlcm5hbWUlIHpzaCAtLXZlcnNpb24KenNo IDUuNS4xICh4ODZfNjQtYXBwbGUtZGFyd2luMTcuNS4wKQp1c2VybmFtZSUgc2V0ICtvCnNldCAr byBub2FsaWFzZXMKc2V0ICtvIGFsaWFzZnVuY2RlZgpzZXQgK28gYWxsZXhwb3J0CnNldCArbyBu b2Fsd2F5c2xhc3Rwcm9tcHQKc2V0ICtvIGFsd2F5c3RvZW5kCnNldCArbyBhcHBlbmRjcmVhdGUK c2V0ICtvIG5vYXBwZW5kaGlzdG9yeQpzZXQgK28gYXV0b2NkCnNldCArbyBhdXRvY29udGludWUK c2V0ICtvIG5vYXV0b2xpc3QKc2V0ICtvIG5vYXV0b21lbnUKc2V0ICtvIGF1dG9uYW1lZGlycwpz ZXQgK28gbm9hdXRvcGFyYW1rZXlzCnNldCArbyBub2F1dG9wYXJhbXNsYXNoCnNldCArbyBhdXRv cHVzaGQKc2V0ICtvIG5vYXV0b3JlbW92ZXNsYXNoCnNldCArbyBhdXRvcmVzdW1lCnNldCArbyBu b2JhZHBhdHRlcm4Kc2V0ICtvIG5vYmFuZ2hpc3QKc2V0ICtvIG5vYmFyZWdsb2JxdWFsCnNldCAr byBiYXNoYXV0b2xpc3QKc2V0ICtvIGJhc2hyZW1hdGNoCnNldCArbyBub2JlZXAKc2V0ICtvIG5v YmduaWNlCnNldCArbyBicmFjZWNjbApzZXQgK28gYnNkZWNobwpzZXQgK28gbm9jYXNlZ2xvYgpz ZXQgK28gbm9jYXNlbWF0Y2gKc2V0ICtvIGNiYXNlcwpzZXQgK28gY2RhYmxldmFycwpzZXQgK28g Y2hhc2Vkb3RzCnNldCArbyBjaGFzZWxpbmtzCnNldCArbyBub2NoZWNram9icwpzZXQgK28gbm9j aGVja3J1bm5pbmdqb2JzCnNldCArbyBub2Nsb2JiZXIKc2V0ICtvIGNvbWJpbmluZ2NoYXJzCnNl dCArbyBjb21wbGV0ZWFsaWFzZXMKc2V0ICtvIGNvbXBsZXRlaW53b3JkCnNldCArbyBjb250aW51 ZW9uZXJyb3IKc2V0ICtvIGNvcnJlY3QKc2V0ICtvIGNvcnJlY3RhbGwKc2V0ICtvIGNwcmVjZWRl bmNlcwpzZXQgK28gY3NoanVua2llaGlzdG9yeQpzZXQgK28gY3NoanVua2llbG9vcHMKc2V0ICtv IGNzaGp1bmtpZXF1b3RlcwpzZXQgK28gY3NobnVsbGNtZApzZXQgK28gY3NobnVsbGdsb2IKc2V0 ICtvIG5vZGVidWdiZWZvcmVjbWQKc2V0ICtvIGR2b3JhawpzZXQgK28gZW1hY3MKc2V0ICtvIG5v ZXF1YWxzCnNldCArbyBlcnJleGl0CnNldCArbyBlcnJyZXR1cm4Kc2V0ICtvIG5vZXZhbGxpbmVu bwpzZXQgK28gbm9leGVjCnNldCArbyBleHRlbmRlZGdsb2IKc2V0ICtvIGV4dGVuZGVkaGlzdG9y eQpzZXQgK28gbm9mbG93Y29udHJvbApzZXQgK28gZm9yY2VmbG9hdApzZXQgK28gbm9mdW5jdGlv bmFyZ3plcm8Kc2V0ICtvIG5vZ2xvYgpzZXQgK28gbm9nbG9iYWxleHBvcnQKc2V0IC1vIG5vZ2xv YmFscmNzCnNldCArbyBnbG9iYXNzaWduCnNldCArbyBnbG9iY29tcGxldGUKc2V0ICtvIGdsb2Jk b3RzCnNldCArbyBnbG9ic3RhcnNob3J0CnNldCArbyBnbG9ic3Vic3QKc2V0ICtvIG5vaGFzaGNt ZHMKc2V0ICtvIG5vaGFzaGRpcnMKc2V0ICtvIGhhc2hleGVjdXRhYmxlc29ubHkKc2V0ICtvIG5v aGFzaGxpc3RhbGwKc2V0ICtvIGhpc3RhbGxvd2Nsb2JiZXIKc2V0ICtvIG5vaGlzdGJlZXAKc2V0 ICtvIGhpc3RleHBpcmVkdXBzZmlyc3QKc2V0ICtvIGhpc3RmY250bGxvY2sKc2V0ICtvIGhpc3Rm aW5kbm9kdXBzCnNldCArbyBoaXN0aWdub3JlYWxsZHVwcwpzZXQgK28gaGlzdGlnbm9yZWR1cHMK c2V0ICtvIGhpc3RpZ25vcmVzcGFjZQpzZXQgK28gaGlzdGxleHdvcmRzCnNldCArbyBoaXN0bm9m dW5jdGlvbnMKc2V0ICtvIGhpc3Rub3N0b3JlCnNldCArbyBoaXN0cmVkdWNlYmxhbmtzCnNldCAr byBub2hpc3RzYXZlYnljb3B5CnNldCArbyBoaXN0c2F2ZW5vZHVwcwpzZXQgK28gaGlzdHN1YnN0 cGF0dGVybgpzZXQgK28gaGlzdHZlcmlmeQpzZXQgK28gbm9odXAKc2V0ICtvIGlnbm9yZWJyYWNl cwpzZXQgK28gaWdub3JlY2xvc2VicmFjZXMKc2V0ICtvIGlnbm9yZWVvZgpzZXQgK28gaW5jYXBw ZW5kaGlzdG9yeQpzZXQgK28gaW5jYXBwZW5kaGlzdG9yeXRpbWUKc2V0IC1vIGludGVyYWN0aXZl CnNldCArbyBpbnRlcmFjdGl2ZWNvbW1lbnRzCnNldCArbyBrc2hhcnJheXMKc2V0ICtvIGtzaGF1 dG9sb2FkCnNldCArbyBrc2hnbG9iCnNldCArbyBrc2hvcHRpb25wcmludApzZXQgK28ga3NodHlw ZXNldApzZXQgK28ga3NoemVyb3N1YnNjcmlwdApzZXQgK28gbm9saXN0YW1iaWd1b3VzCnNldCAr byBub2xpc3RiZWVwCnNldCArbyBsaXN0cGFja2VkCnNldCArbyBsaXN0cm93c2ZpcnN0CnNldCAr byBub2xpc3R0eXBlcwpzZXQgK28gbG9jYWxsb29wcwpzZXQgK28gbG9jYWxvcHRpb25zCnNldCAr byBsb2NhbHBhdHRlcm5zCnNldCArbyBsb2NhbHRyYXBzCnNldCArbyBsb2dpbgpzZXQgK28gbG9u Z2xpc3Rqb2JzCnNldCArbyBtYWdpY2VxdWFsc3Vic3QKc2V0ICtvIG1haWx3YXJuaW5nCnNldCAr byBtYXJrZGlycwpzZXQgK28gbWVudWNvbXBsZXRlCnNldCAtbyBtb25pdG9yCnNldCArbyBub211 bHRpYnl0ZQpzZXQgK28gbm9tdWx0aWZ1bmNkZWYKc2V0ICtvIG5vbXVsdGlvcwpzZXQgK28gbm9u b21hdGNoCnNldCArbyBub25vdGlmeQpzZXQgK28gbnVsbGdsb2IKc2V0ICtvIG51bWVyaWNnbG9i c29ydApzZXQgK28gb2N0YWx6ZXJvZXMKc2V0ICtvIG92ZXJzdHJpa2UKc2V0ICtvIHBhdGhkaXJz CnNldCArbyBwYXRoc2NyaXB0CnNldCArbyBwaXBlZmFpbApzZXQgK28gcG9zaXhhbGlhc2VzCnNl dCArbyBwb3NpeGFyZ3plcm8Kc2V0ICtvIHBvc2l4YnVpbHRpbnMKc2V0ICtvIHBvc2l4Y2QKc2V0 ICtvIHBvc2l4aWRlbnRpZmllcnMKc2V0ICtvIHBvc2l4am9icwpzZXQgK28gcG9zaXhzdHJpbmdz CnNldCArbyBwb3NpeHRyYXBzCnNldCArbyBwcmludGVpZ2h0Yml0CnNldCArbyBwcmludGV4aXR2 YWx1ZQpzZXQgK28gcHJpdmlsZWdlZApzZXQgK28gcHJvbXB0YmFuZwpzZXQgK28gbm9wcm9tcHRj cgpzZXQgK28gbm9wcm9tcHRwZXJjZW50CnNldCArbyBub3Byb21wdHNwCnNldCArbyBwcm9tcHRz dWJzdApzZXQgK28gcHVzaGRpZ25vcmVkdXBzCnNldCArbyBwdXNoZG1pbnVzCnNldCArbyBwdXNo ZHNpbGVudApzZXQgK28gcHVzaGR0b2hvbWUKc2V0ICtvIHJjZXhwYW5kcGFyYW0Kc2V0ICtvIHJj cXVvdGVzCnNldCAtbyBub3JjcwpzZXQgK28gcmVjZXhhY3QKc2V0ICtvIHJlbWF0Y2hwY3JlCnNl dCArbyByZXN0cmljdGVkCnNldCArbyBybXN0YXJzaWxlbnQKc2V0ICtvIHJtc3RhcndhaXQKc2V0 ICtvIHNoYXJlaGlzdG9yeQpzZXQgK28gc2hmaWxlZXhwYW5zaW9uCnNldCArbyBzaGdsb2IKc2V0 IC1vIHNoaW5zdGRpbgpzZXQgK28gc2hudWxsY21kCnNldCArbyBzaG9wdGlvbmxldHRlcnMKc2V0 ICtvIG5vc2hvcnRsb29wcwpzZXQgK28gc2h3b3Jkc3BsaXQKc2V0ICtvIHNpbmdsZWNvbW1hbmQK c2V0ICtvIHNpbmdsZWxpbmV6bGUKc2V0ICtvIHNvdXJjZXRyYWNlCnNldCArbyBzdW5rZXlib2Fy ZGhhY2sKc2V0ICtvIHRyYW5zaWVudHJwcm9tcHQKc2V0ICtvIHRyYXBzYXN5bmMKc2V0ICtvIHR5 cGVzZXRzaWxlbnQKc2V0ICtvIG5vdW5zZXQKc2V0ICtvIHZlcmJvc2UKc2V0ICtvIHZpCnNldCAr byB3YXJuY3JlYXRlZ2xvYmFsCnNldCArbyB3YXJubmVzdGVkdmFyCnNldCArbyB4dHJhY2UKc2V0 IC1vIHpsZQp1c2VybmFtZSUgT1BUUz0kKHNldCArbykKdXNlcm5hbWUlCnVzZXJuYW1lJQp1c2Vy bmFtZSUgZXZhbCAiJE9QVFMiCnVzZXJuYW1lJSBeQ15DXkMK --000000000000544a51056ce18c43--