Peter Stephenson
12e5db145b
51608: Don't execute commands after "continue &&"
...
Also ! continue ||
2023-03-29 10:52:05 +01:00
Mikael Magnusson
6d40d9b63b
51602: Handle SIGIOT as an alias to SIGABRT if they are the same signal number
2023-03-28 13:00:10 +02:00
Peter Stephenson
6763f45e77
58586: print "%s" with invalid multibyte character
...
Treat each byte that is invalid or part of an incopmlete set as a single byte.
2023-03-22 10:24:11 +00:00
Bart Schaefer
4b7a9fd0ec
51573: additional "typset -p -m" fix for namespaces
...
The "-m pattern" option is supposed to enable printing namespaces, but
that didn't work when combined with -p.
The -p option could also cause an unset parameter to become set if a
named reference pointed at it.
2023-03-14 20:51:15 -07:00
Bart Schaefer
25dceb1dea
51557: Clarify availability of ksh-mode parameters, improve vi-mode detection.
2023-03-11 13:20:21 -08:00
Bart Schaefer
8d009d35a9
51510: Skip namespaces in "set"/"typeset" output, add tests, fix bug
2023-03-06 20:01:04 -08:00
Bart Schaefer
0562be0af8
51509 (+ fix typo): Add ${(!)name} for the referred-to name of a named reference
...
Extend ${!name} in ksh emulation for same
2023-03-06 19:54:48 -08:00
Bart Schaefer
ac1bf482ba
51524: dependency on zsh/zle for linkage
2023-03-06 14:54:28 -08:00
Bart Schaefer
ea0bd72dd8
51485: module for several ksh93 features, mostly enabled only in ksh emulation.
2023-03-05 14:16:31 -08:00
Bart Schaefer
4bc1f6e0d2
51484: Extend named reference handling for special parameters, improve doc.
2023-03-05 14:06:25 -08:00
Bart Schaefer
a9ba166216
51483: Enable assignment and expansion of parameters with ksh-like namespace prefixes.
2023-03-05 14:03:42 -08:00
Bart Schaefer
806d096b0e
unposted: fix memory leak flagged by coverity
2023-03-05 13:26:57 -08:00
Mikael Magnusson
86a5278f9f
51491: Check should use zlemetacs instead of zlecs
...
Coverity noticed that this first branch of the if statement has "meta"
added to all the variable names except this zlecs at the end, so change
it to match.
2023-02-28 14:56:06 +01:00
Bart Schaefer
ec4bd3169d
51460: avoid crash on bad parameter autofeature
2023-02-26 18:54:10 -08:00
Peter Stephenson
82f307bddf
Fix access to autoloaded parameter.
...
Namerefef resolution needs to happen on the parameter after autoload.
2023-02-21 12:16:40 +00:00
Bart Schaefer
d2768f2f88
51431: "typeset -p" shouldn't change parameter flags
2023-02-20 10:32:40 -08:00
Oliver Kiddle
6f4aa1d949
51447: silence compiler maybe-uninitialized warning by combining a couple of variables
2023-02-17 23:38:14 +01:00
Bart Schaefer
32cceefa95
51437: Fix incorrectly-passed test case, masked by unrelated bug.
...
A bug with zmodload when unloading/reloading a static module caused the
state of the shell options to change during K01 test. Worked around it.
Also changed warnnestedvar messages to look more like other such.
2023-02-14 17:54:42 -08:00
Peter Stephenson
7e0c4406ce
51424: $(<...) shouldn't try to open a file with NO_EXEC
2023-02-14 09:21:32 +00:00
Bart Schaefer
03887bb03f
51430: Misc. problems with typeset and $parameters
...
* Fix and test for regression of assignment when using typeset command
* Fix output of typeset +m and $parameters[ref]
* Prevent segfault in typeset
2023-02-13 18:20:11 -08:00
Bart Schaefer
f4c706f0c8
51417: Check subscripts in named reference values more rigorously.
2023-02-12 12:20:33 -08:00
Bart Schaefer
3eed6f70cd
51402: Some ksh/bash features, additional sanity checking
...
* Add "unset -n"
* Allow and enforce "typeset -n -r" for read-only references
* "can't change type via subscript reference" error
* Better checking for self-referential declarations/assignments
* Ksh-style "foo=bar; typeset -n foo" creates foo=bar reference
* Support "typeset -n ref; for ref in ..."
* Subscripted references use NO_EXEC for safety
* References assigned in called scopes reset scope at end
* Allow named references to $! $? $$ $- $0 $_
2023-02-12 11:51:41 -08:00
Bart Schaefer
3e55a135c1
51374: Expose named references in $parameters, fix substitution error.
2023-02-12 11:29:10 -08:00
Bart Schaefer
511e020c68
51360: Initial implementation of named references.
2023-02-12 11:21:23 -08:00
Bart Schaefer
d3edf31830
51404: Nullify filelist after deleting (fix segfault)
2023-02-12 09:52:39 -08:00
Oliver Kiddle
6502d05897
51320, 51383: fixes to prevent later reappearance of old attributes
...
Also associated test updates and a test fix for TERM=dumb.
2023-02-09 00:10:19 +01:00
Peter Stephenson
d6b027c3c1
51350: ${(S)...//#%...} didn't match the whole string
2023-02-06 14:16:17 +00:00
Peter Stephenson
76d095df9d
51306: error message in ${unset?error} should be expanded
2023-02-02 10:12:17 +00:00
Peter Stephenson
21baad1037
51307: Improve error on attempt to define function from aliased name
2023-02-02 10:09:21 +00:00
Bart Schaefer
f93ad02b94
51310: zle -F handlers preserve LASTWIDGET
...
Also fix email address in an old ChangeLog entry
2023-01-21 19:18:15 -08:00
Peter Stephenson
03292bceec
51278: make (i) subscript flag for zero-length string consistent
2023-01-16 11:10:02 +00:00
Oliver Kiddle
e2a39513dc
unposted: mention attributes changes, fix renumbering mistake and allow completion to offer prompt escapes for PROMPT_EOL_MARK
2023-01-11 16:05:06 +01:00
Oliver Kiddle
246b7c7505
51295: where the end of a region coincides with the end of PREDISPLAY, don't extend it to include new text
...
Also fix issue where an int was used for a copy of attributes which
breaks if int is smaller than zattr.
2023-01-11 15:58:55 +01:00
Oliver Kiddle
b513ca21c8
51292: fix dynamic updates of region_highlight to account for PREDISPLAY
2023-01-10 21:17:24 +01:00
Oliver Kiddle
be2c91bbc3
51291: support for highlighting ellipses in the line editor
2023-01-10 21:13:52 +01:00
Oliver Kiddle
498b771a82
51290: fix display of control characters with SINGLE_LINE_ZLE set
2023-01-10 21:09:54 +01:00
Oliver Kiddle
cc672f1c3b
51289: don't disable non-colour attributes in prompts for SINGLE_LINE_ZLE and remove superfluous extra escapes to disable attributes
2023-01-10 21:06:55 +01:00
Oliver Kiddle
9d99a01367
51281: keep track of attributes left on at the end of left and right prompts and reapply them explicitly as appropriate
2023-01-10 21:02:16 +01:00
Oliver Kiddle
c01479a2ed
51280: add support for italic and faint fonts in the line editor
2023-01-10 20:57:03 +01:00
Oliver Kiddle
667ead3a64
51258, 51272: refactor handling of terminal attributes, removing OFF flags in zattr
2023-01-10 20:53:17 +01:00
Daniel Shahaf
81684e334d
unposted: In a comment, replace a C variables glob pattern with its matches, for greppability.
2023-01-08 13:09:37 +00:00
Oliver Kiddle
35a2f155c3
51214: handle read -d and a delimiter that can't be decoded into a character
...
Terminate input at the raw byte value of the delimiter.
Also document and test the use of an empty string as a way to specify
NUL as the delimiter.
2022-12-17 00:37:19 +01:00
Jun-ichi Takimoto
2701ab161d
51207: fix for read -d when the delimiter is a byte >= 0x80
2022-12-17 00:35:36 +01:00
Oliver Kiddle
a73c705b0c
51212: remove STOUC() macro
...
This served as a workaround for ancient compilers where casts to
unsigned char were broken.
2022-12-16 23:28:10 +01:00
Oliver Kiddle
7fb6c133bf
51215: consume whole CSI sequences from the input
...
This affects CSI sequences that aren't explicitly bound but arrive
within the usual KEYTIMEOUT time limits. A single undefined-key widget
is run instead of unintended bindings for Escape and other characters in
the sequence.
2022-12-16 23:23:53 +01:00
Daniel Shahaf
56e7b147ad
unposted: Follow-up to the last commit: Fix a typo in a comment.
2022-12-15 21:35:45 +00:00
Daniel Shahaf
5c9713603d
unposted: zsh.h: lextok: Add an explanatory comment with a cross-reference.
2022-12-15 20:38:10 +00:00
Bart Schaefer
6d49734d46
51210: Clear errflag before calling EXIT trap
...
If this is not done, special cases such as failures in special builtins
or errors in math expressions skip the trap execution.
2022-12-13 21:11:33 -08:00
Peter Stephenson
67d4bf5bb9
51134: ! return doesn't change the return status
2022-12-12 10:30:13 +00:00
Bart Schaefer
2028539cb1
51161: correct errno after closing xtrace FD
2022-12-09 19:30:35 -08:00