[PATCH] Perform cumulative typesetting also on parameters with no value
Philippe Altherr <[email protected]> Thu, 23 Jul 2026 00:01:02 +0200
| Newsgroups | gmane.comp.shells.zsh.devel |
|---|---|
| Message-ID | <CAGdYchuivBnRFCO9LEGL_JQLLnJHhGSRd750pF74iEsXCLcd6Q@mail.gmail.com> |
--0000000000003abbf006573a478e Content-Type: multipart/alternative; boundary="0000000000003abbef06573a478c" --0000000000003abbef06573a478c Content-Type: text/plain; charset="UTF-8" Typesetting multiple times the same parameter with different flags but without changing its type should be cumulative. This currently fails for parameters declared with no value when TYPESET_TO_UNSET is enabled. % setopt TYPESET_TO_UNSET % typeset -u var1=foo var2 % typeset -p var1 var2 typeset -u var1=foo typeset -u var2 % typeset -x var1 var2 % typeset -p var1 var2 export -u var1=foo export var2 The last line should include -u, like the previous one. - Perform cumulative typesetting also on parameters with no value <https://github.com/zsh-users/zsh/compare/master...paltherr:zsh:typeset-use-pm-if-declared> Philippe --0000000000003abbef06573a478c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Typesetting multiple times the same parameter with di= fferent flags but without changing its type should be cumulative. This curr= ently fails for parameters declared with no value when=C2=A0TYPESET_TO_UNSE= T is enabled.</div><div><br></div><font face=3D"monospace">% setopt TYPESET= _TO_UNSET<br>% typeset -u var1=3Dfoo var2<br>% typeset -p var1 var2<br>type= set -u var1=3Dfoo<br>typeset -u var2<br>% typeset -x var1 var2<br>% typeset= -p var1 var2<br></font><div><font face=3D"monospace">export -u var1=3Dfoo<= br>export var2</font></div><div><br></div><div>The last line should include= -u, like the previous one.</div><div><br></div><div>-=C2=A0<a href=3D"http= s://github.com/zsh-users/zsh/compare/master...paltherr:zsh:typeset-use-pm-i= f-declared">Perform cumulative typesetting also on parameters with no value= </a></div><div><br></div><div>Philippe</div><div><br></div></div> --0000000000003abbef06573a478c-- --0000000000003abbf006573a478e Content-Type: text/plain; charset="US-ASCII"; name="typeset-use-pm-if-declared.txt" Content-Disposition: attachment; filename="typeset-use-pm-if-declared.txt" Content-Transfer-Encoding: base64 Content-ID: <f_mrwm9c3w0> X-Attachment-Id: f_mrwm9c3w0 ZGlmZiAtLWdpdCBhL1NyYy9idWlsdGluLmMgYi9TcmMvYnVpbHRpbi5jCmluZGV4IDJlM2U1NzUy YS4uNjFkMmEyNzMwIDEwMDY0NAotLS0gYS9TcmMvYnVpbHRpbi5jCisrKyBiL1NyYy9idWlsdGlu LmMKQEAgLTIwNTUsNyArMjA1NSw4IEBAIHR5cGVzZXRfc2luZ2xlKGNoYXIgKmNuYW1lLCBjaGFy ICpwbmFtZSwgUGFyYW0gcG0sIGludCBmdW5jLAogICAgICAqIFBPU0lYQlVJTFRJTlMgaG9ycm9y OiB3ZSBuZWVkIHRvIHJldGFpbiB0aGUgJ3JlYWRvbmx5JyBvciAnZXhwb3J0JwogICAgICAqIGZs YWdzIG9mIGFuIHVuc2V0IHBhcmFtZXRlci4KICAgICAgKi8KLSAgICB1c2VwbSA9IHBtICYmICgh KHBtLT5ub2RlLmZsYWdzICYgUE1fVU5TRVQpIHx8IE9QVF9JU1NFVChvcHMsICdwJykgfHwKKyAg ICB1c2VwbSA9IHBtICYmICghKHBtLT5ub2RlLmZsYWdzICYgUE1fVU5TRVQpIHx8CisJCSAgIChw bS0+bm9kZS5mbGFncyAmIFBNX0RFQ0xBUkVEKSB8fCBPUFRfSVNTRVQob3BzLCAncCcpIHx8CiAJ CSAgIChpc3NldChQT1NJWEJVSUxUSU5TKSAmJgogCQkgICAgKHBtLT5ub2RlLmZsYWdzICYgKFBN X1JFQURPTkxZfFBNX0VYUE9SVEVEKSkpKTsKIApAQCAtMjI3OSw3ICsyMjgwLDggQEAgdHlwZXNl dF9zaW5nbGUoY2hhciAqY25hbWUsIGNoYXIgKnBuYW1lLCBQYXJhbSBwbSwgaW50IGZ1bmMsCiAJ LyoKIAkgKiBLZWVwIHVuc2V0IGlmIHVzaW5nIHJlYWRvbmx5IGluIFBPU0lYIG1vZGUgdW5sZXNz IHNwZWNpZmllZCBvdGhlcndpc2UuCiAJICovCi0JaWYgKCh1c2VwbSAhPSAyKSAmJiAhKChvbiAm IFBNX1JFQURPTkxZKSAmJiBpc3NldChQT1NJWEJVSUxUSU5TKSkpCisJaWYgKCh1c2VwbSAhPSAy KSAmJiAhKChvbiAmIFBNX1JFQURPTkxZKSAmJiBpc3NldChQT1NJWEJVSUxUSU5TKSkgJiYKKwkg ICAgIShwbS0+bm9kZS5mbGFncyAmIFBNX0RFQ0xBUkVEKSkKIAkgICAgb2ZmIHw9IFBNX1VOU0VU OwogCXBtLT5ub2RlLmZsYWdzID0gKHBtLT5ub2RlLmZsYWdzIHwgKG9uICYgflBNX1JFQURPTkxZ KSkgJiB+b2ZmOwogCWlmIChvbiAmIChQTV9MRUZUIHwgUE1fUklHSFRfQiB8IFBNX1JJR0hUX1op KSB7CmRpZmYgLS1naXQgYS9UZXN0L0IwMnR5cGVzZXQuenRzdCBiL1Rlc3QvQjAydHlwZXNldC56 dHN0CmluZGV4IDMyZTc5Y2VkMi4uN2JjNDRkYmRjIDEwMDY0NAotLS0gYS9UZXN0L0IwMnR5cGVz ZXQuenRzdAorKysgYi9UZXN0L0IwMnR5cGVzZXQuenRzdApAQCAtMTc0LDYgKzE3NCwzNCBAQAog PmlubmVyCiA+b3V0ZXIKIAorIGFkZGZsYWdzKCkgeworICAgc2V0b3B0IGxvY2Fsb3B0aW9ucyB0 eXBlc2V0X3RvX3Vuc2V0CisgICBpZiAoKEFSR0MgPT0gMikpOyB0aGVuIHR5cGVzZXQgJDE9JDI7 IGVsc2UgdHlwZXNldCAkMTsgZmkKKyAgIHR5cGVzZXQgLXAgJDEKKyAgIHR5cGVzZXQgLVI1ICQx CisgICB0eXBlc2V0IC1wICQxCisgICB0eXBlc2V0IC11ICQxCisgICB0eXBlc2V0IC1wICQxCisg ICB0eXBlc2V0IC14ICQxCisgICB0eXBlc2V0IC1wICQxCisgfQorIGFkZGZsYWdzIHZhcjEgZm9v CisgYWRkZmxhZ3MgdmFyMiAiIgorIGFkZGZsYWdzIHZhcjMKKzA6VHlwZXNldHRpbmcgaXMgY3Vt dWxhdGl2ZQorPnR5cGVzZXQgdmFyMT1mb28KKz50eXBlc2V0IC1SNSB2YXIxPWZvbworPnR5cGVz ZXQgLVI1IC11IHZhcjE9Zm9vCis+bG9jYWwgLVI1IC11eCB2YXIxPWZvbworPnR5cGVzZXQgdmFy Mj0nJworPnR5cGVzZXQgLVI1IHZhcjI9JycKKz50eXBlc2V0IC1SNSAtdSB2YXIyPScnCis+bG9j YWwgLVI1IC11eCB2YXIyPScnCis+dHlwZXNldCB2YXIzCis+dHlwZXNldCAtUjUgdmFyMworPnR5 cGVzZXQgLVI1IC11IHZhcjMKKz5sb2NhbCAtUjUgLXV4IHZhcjMKKwogIGZsb2F0IGY9My4xNDE1 OQogIHR5cGVzZXQgK20gZgogIGZsb2F0IC1FMyBmCg== --0000000000003abbf006573a478e--