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
Philippe Altherr
8086f10615
51094: consistent use of bit-manipulation for noerrexit value changes
2022-12-03 21:46:42 -08:00
Philippe Altherr
ab9c579ef9
51098: remove unreachable NOERREXIT_UNTIL_EXEC code and effects
2022-12-03 21:35:51 -08:00
Philippe Altherr
f253ea6b9d
51076: fix ERR_EXIT when used with "eval" or "source"; documentary comments
2022-12-03 21:14:26 -08:00
Philippe Altherr
259f1e944b
51071: fix ERR_RETURN for functions in conditional statements
2022-12-03 21:03:36 -08:00
Philippe Altherr
dd3ba3d599
51001: fix for ERR_EXIT following shell function; update tests
2022-12-03 20:44:10 -08:00
Philippe Altherr
d47b8480f0
51001: fix for ERR_EXIT with pipeline negation ("!"); update tests
2022-12-03 20:42:13 -08:00
Philippe Altherr
fda6fd9513
51001: fix for ERR_EXIT with "always" blocks; update tests
2022-12-03 20:35:58 -08:00
Philippe Altherr
23dc19f005
51001: Reverts 8839e969b
, most of 1ba8714a
, and d873ed60
.
...
Also correct ChangeLog
2022-12-03 20:31:42 -08:00
Jun-ichi Takimoto
41b402d36d
51080: allow multibyte chars in glob qualifier (u:uname:)
2022-12-02 19:34:55 +09:00
Jun-ichi Takimoto
1be52186b4
51079: metafy sep in array subscript flag (s:sep:)
...
this enable sep to contain \0 etc.
2022-12-02 19:32:11 +09:00
Oliver Kiddle
c4d557bb0a
50934: use OSC 52 escape sequence when copying to "* or "+ vi buffers
2022-11-17 20:05:12 +01:00
Bart Schaefer
8839e969bf
50929: fix handling of ERR_RETURN bent by 50928.
2022-11-09 21:48:46 -08:00
Bart Schaefer
1ba8714a7a
50928: fix tests for 50897, mention behavior change in NEWS
2022-11-09 21:37:56 -08:00
Bart Schaefer
61610ea4bd
50922: fix additional cases of signals for current shell jobs on the right of a pipeline.
...
Backs out part of 188c5cd5
(workers/50874). With this change, after a
new subshell is forked upon suspend of the right side of a pipeline, the
previous foreground subjob is resumed first and the new subshell remains
stopped until that job finishes.
2022-11-09 20:24:57 -08:00
Bart Schaefer
d873ed6026
50897: nonzero status of complex commands should trigger ERR_EXIT
2022-11-08 20:36:49 -08:00
Peter Stephenson
298919f43a
users/28338: command substitution with alias edge case.
...
See added regression test.
2022-11-08 14:12:01 +00:00
Bart Schaefer
188c5cd518
50874: fix handling of tty signals for jobs in the current shell when waiting for the right side of a pipeline.
...
Reverts 15bf8ace
(workers/50134). Thanks to Jun T. for debugging assistance.
Issues came down to two things:
1. update_job() may be called on a process group leader even when a
signal was NOT sent to any process in that process group. This
caused jobs to be resumed or backgrounded incorrectly or in the
wrong order.
2. When there is a current-shell complex command (in braces) on the
right side of a pipeline, external processes within it have their
own process groups, but a tty signal sent to such a process should
be treated as if received by the whole complex command.
This fixes:
* Suspend/resume of a foreground pipeline within a shell function
* Interrupt or suspend/resume of processes in a pipeline ending in { ... }
* Interrupt of such a pipeline after exit of the last process in { ... }
These affected interactive shells only (MONITOR set plus tty signals).
2022-11-06 11:25:47 -08:00
Jun-ichi Takimoto
f8d93888a8
50851: restore typtab when necessary
...
inittyptab() must be called when returning from a function with
"setopt localoptions MULTIBYTE|BANGHIST|SHSTDIN", and also in
function dosetopt() when setting these options (via $options, for
example). We intentionally did not take account of the options
EMACS/VI because these options are obsolete and their use is
not recommended.
2022-11-02 16:27:27 +09:00
Bart Schaefer
5b1c204c54
Unposted: Fix typo in comment
2022-10-23 16:28:14 -07:00
Wesley Schwengle
727b493e2b
50736: silence use-after-free warning (gcc-12.2)
2022-10-17 13:13:13 +09:00
Jun-ichi Takimoto
33938ad489
50668: treat 8bit chars correctly when multibyte is unset
...
The problem was found in character range, but may have existed in other
occasions
2022-09-27 15:20:24 +09:00
Jun-ichi Takimoto
1b421e4978
50658 + test: Enable to switch between C/UTF-8 locales in PCRE
2022-09-26 10:52:50 +09:00
Jun-ichi Takimoto
ac6257f150
50418: use setenv(3)/getenv(3) on newer macOS
2022-07-24 20:41:20 +09:00
Bart Schaefer
cb59dfb3a6
50379/50380: fix off-by-one side-effect of workers/49906 that broke $(jobs -l)
2022-06-21 18:04:45 -07:00
Bart Schaefer
f7441b4645
50368: adjust ztie'd bitflags so local variables cannot mess with database
2022-06-21 17:58:57 -07:00