Oliver Kiddle
07509be51a
unposted: add test case for partial completion matching of options with arguments
2016-11-23 11:57:02 +01:00
Oliver Kiddle
ee1222454e
unposted: fix printf -v to an array without format string reuse
2016-11-23 11:52:12 +01:00
Oliver Kiddle
85ba685813
39993: Tests for 39981.
2016-11-21 05:40:09 +00:00
Oliver Kiddle
cb5f100bd3
39986, 39989: improve handling of vi-repeat-change
...
Save previous vi change and throw away a new change that fails.
Add zle -f vichange to allow shell widget to be a single change.
Fix repeat of command where numeric arguments were multiplied.
2016-11-20 23:59:48 +01:00
Peter Stephenson
368884a3aa
39995 (from 39977): Optimise string parameter assignment.
...
If setter is the standard one and string length is unchnaged we can
copy into place.
2016-11-20 19:41:52 +00:00
Daniel Shahaf
c392e6c620
39915: whence: Honor PATH_DIRS option for arguments that start with './' or '../'.
...
While here, add some docstrings.
2016-11-17 15:28:42 +00:00
Oliver Kiddle
48bdcd7713
39959: when repeating vi changes advance through the numbered killring registers
...
Also fix numeric arguments with vi-repeat-change: and argument passed
to the repeat replaces that previously saved with the change.
2016-11-17 12:28:08 +01:00
Oliver Kiddle
7d2f805008
39945: allow further tab presses to move on to menu completion even when compstate[insert] is emptied
2016-11-16 09:42:49 +01:00
Peter Stephenson
921b39ac6b
39949: Special case for "-" in directory names.
...
It can be sh-tokenized to Dash to allow for appearing in ranges
after substitution, so needs to be turned back to "-" in that case.
2016-11-15 18:01:32 +00:00
Peter Stephenson
e9dbfa8046
39947: Additional test for array subscripts.
...
This checks out-of-range multiple subscripts with and without
the (@) flag.
2016-11-15 16:01:32 +00:00
Peter Stephenson
5f1700755f
39901: No EXIT trap on LHS of pipeline.
...
There is a special case if the LHS is a shell construct.
Add unit tests for both cases.
2016-11-10 10:37:27 +00:00
Peter Stephenson
a57977d01a
39870: ensure exit trap can always run
2016-11-08 13:02:57 +00:00
Barton E. Schaefer
dee0bce7b4
unposted: tests for 39839, 39844
2016-11-05 21:37:23 -07:00
Oliver Kiddle
4b41e33cbc
39389: when printf -v is used with an array use separate elements each time the format is reused
2016-11-05 00:27:47 +01:00
Barton E. Schaefer
22e1139328
39824: test case for 39811 (commit ae4c035c
)
2016-11-03 12:03:24 -07:00
Peter Stephenson
4073a6655c
39815: Read input to end on parse error in $(...) inside a string.
...
This allows ${(z)} to output the whole string, although we can't do
word splitting from the error onwards.
2016-11-03 10:30:00 +00:00
Daniel Shahaf
33ceb8b58f
39787: Add a regression test for 39412.
2016-11-01 05:48:55 +00:00
Peter Stephenson
88c42a2ba0
39777: $() is a valid empty command substitution
2016-10-30 17:12:04 +00:00
Barton E. Schaefer
0f5e670cde
"typeset -p" uses "export" commands or the "-g" option for parameters that are not local to the current scope
2016-10-24 07:14:39 -07:00
Peter Stephenson
7e7e2d7e63
39678: metafication of printf %q argument and result
2016-10-19 10:39:58 +01:00
Martijn Dekker
31c6cfca9c
39625: case needs to reset lastval if no pattern matched
2016-10-13 10:49:02 +01:00
Oliver Kiddle
9d393f7b7d
39622: add test cases for recent _arguments fixes, exclusion lists and -A/-S
2016-10-13 10:05:18 +02:00
Peter Stephenson
8f2ce89a0c
39599: Don't reset status before "case" execution
2016-10-10 10:55:48 +01:00
Peter Stephenson
ffa6c76253
39578: Test more ERR_RETURN cases with "&&" and functions
2016-10-06 09:48:48 +01:00
Peter Stephenson
bcb52460f3
39571: Fix ERR_EXIT bug with && and function.
...
"foo && bar" inside a function could cause the code outside
the function not to perform ERR_EXIT or ERR_RETURN when needed.
2016-10-05 17:46:42 +01:00
Peter Stephenson
0854ee56bc
39568: "! <complex-command>" suppresses ERR_EXIT
2016-10-05 13:52:31 +01:00
Peter Stephenson
dc517212ca
39566: Improve usefulness of command_not_found_handler.
...
Don't behave as if command not found if return status is non-zero
as this may simply be the return status of the replacement command.
Let the function report a command not found instead.
2016-10-05 12:14:43 +01:00
Peter Stephenson
36a11804b4
39521: Refactor start of execcmd().
...
By splitting into _analyse and _exec execpline2() has easier
access to the state at the start of execution. Use this
to ensure we fork if this is a builtin with no arguments.
2016-10-03 09:59:01 +01:00
Peter Stephenson
6b2585147b
39540: "! command" should suppress ERR_EXIT and ERR_RETURN
2016-10-02 19:17:19 +01:00
Peter Stephenson
bb2bbcc944
39517: back off 39502 (WC_ASSIGN causes fork in pipe).
...
This isn't a robust fix as WC_ASSIGNs simply precede the main wordcode.
2016-09-30 11:34:15 +01:00
Peter Stephenson
6ce696f352
39502: Fork for assignment in LHS of pipeline.
...
foo=bar | stuff
left the value of foo set to bar as we didn't realise we needed to
fork.
2016-09-29 17:29:58 +01:00
Peter Stephenson
07c8fbe596
34943: Fixes for "command" with multiple options.
...
These need to combine properly, and alos "command -p" with either
-v or -V needs to search for builtins and then using the default
system path.
2016-09-29 11:01:00 +01:00
Oliver Kiddle
fbafc5b509
39332: support ksh's [[ -v varname ]] condition for checking if variables are set
2016-09-16 00:00:28 +02:00
Peter Stephenson
a4b8ee13be
zsh-users/21903: Fix ${...?...} in interactive shell.
...
On failure should abort back to top level, but we reset the error
flag around commands. Add a hard error flag that's only reset at top level.
2016-09-14 10:33:18 +01:00
Peter Stephenson
1993a3cd2a
39292: Distinguish "=" and "==" tests in output.
...
This is both in xtrace output and shell code rebuilt from
internal structures.
2016-09-13 09:42:24 +01:00
Daniel Shahaf
1b6033489b
unposted: Add tests for ${(q)} being aware of the EQUALS option.
2016-09-09 09:36:12 +00:00
Peter Stephenson
198c7bc232
39222: test math functions in modules.
...
Use zsh/system.
2016-09-08 12:15:14 +01:00
Peter Stephenson
8e329ccb0a
39141: Use zsh instead of sh in SHLVL test.
...
This removes ambiguous behaviour of sh which may or may not
increment SHLVL.
2016-08-31 11:31:55 +01:00
Stephane Chazelas
8ce98c75f5
39125: More care needed decrementing SHLVL on exec.
...
Not needed in subshell.
2016-08-31 10:21:00 +01:00
Barton E. Schaefer
fa48711e31
39115: repair forced joining when (@) and (j) are used together
2016-08-29 08:34:03 -07:00
Daniel Shahaf
7154052ebe
39046 + 39061: New :P history modifier.
2016-08-22 03:34:30 +00:00
Barton E. Schaefer
a1a58dde6a
39035: ${(A)name=word} should expand as an array even when there is only one element.
2016-08-12 16:10:26 -07:00
Barton E. Schaefer
68e14c41f2
39028: more join/split cases fixed and tested.
2016-08-12 00:55:32 -07:00
Barton E. Schaefer
4234fccef6
39019 (cf. PWS 39013): add test cases for more join/split combinations
...
Accidentally omitted from previous commit.
2016-08-11 10:08:16 -07:00
Daniel Shahaf
f026a4dc12
38991: Make 'whence -v autoloaded-function' shows the defining filename.
...
This may also fix a problem whereby the %x prompt escape evaluated to
a function name rather than a filename, since %x is also backed by
scriptfilename.
2016-08-05 12:37:26 +00:00
Peter Stephenson
72e5fe7aab
38879: Unmetafy file names for glob sort.
...
Test using Polish UTF-8 collation sequence that'w known to
cause the problems.
2016-07-18 16:57:38 +01:00
Daniel Shahaf
8468f24af4
38728: Tests: Add tests for the ':a' and ':A' modifiers.
2016-07-05 04:57:28 +00:00
Daniel Shahaf
14dbc20b02
38652: test harness: Emit unified diffs instead of context diffs
2016-06-25 16:32:27 +00:00
Peter Stephenson
954cdd77d7
38746: Fix suffix alias expansion recursion.
...
This was problematic if the expansion landed you back in
command position.
Delay marking the alias as out of use until the text that
caused the expansion is finished.
2016-06-22 13:10:22 +01:00
Peter Stephenson
016929e043
38734: fix final case clauses terminating with ;&
2016-06-21 16:12:51 +01:00