1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-06-03 05:46:03 +02:00
Commit Graph

1144 Commits

Author SHA1 Message Date
Oliver Kiddle 7cb980b536 49518: fix exclusions for mixed - and + stacked options 2021-12-14 12:30:55 +01:00
Daniel Shahaf 7acfb7dfae 49628: Add an xfail test for RPS1/RPROMPT equivalence. 2021-12-01 06:32:54 +00:00
Daniel Shahaf 884cd84722 49624: Expect the test 'All identifiers are variable references in POSIX arithmetic' to pass, as it has been passing since 49611. 2021-12-01 04:20:56 +00:00
Oliver Kiddle 78958c08bf 49601: don't create ambiguous history file entries for lines ending with a backslash 2021-11-28 20:49:30 +01:00
Daniel Shahaf 709f1057b7 47599 (tweaked): New test for '{foo,bar}' in command position
It's currently treated as a list but should perhaps be a brace expansion.
2021-11-26 08:30:08 +00:00
Dimitris Apostolou 356dcb20ce github #82: Fix typos 2021-11-12 23:54:34 +01:00
Marlon Richert c7f4634549 49572: Let _expand preserve array form w/out zstyle glob 2021-11-12 22:13:10 +01:00
Oliver Kiddle dfb7ac94bb 49561: add zformat -F option, similar to -f but ternary expressions check for existence instead of doing math evaluation 2021-11-12 20:33:52 +01:00
Oliver Kiddle 0b6e73d477 unposted (c.f. Bart: 49531): fix completion test where a typo marked it as expected to fail 2021-10-30 23:21:35 +02:00
Marlon Richert f2b6650b43 49521: Define correct behavior of || completion matchers
* Add xfail tests to show how :||= matchers should behave in order to
  provide completion features that cannot be implemented with :|=
  matchers.
* Update compwid.yo to further describe the correct behavior.
* Update compwid.yo to use completion terminology more consistently.
2021-10-26 18:44:40 +02:00
Oliver Kiddle e40938c128 49499 based on 49496 by Jun T.: fixes to option -A of _arguments 2021-10-23 18:21:24 +02:00
Bart Schaefer fa4c88ca25 49456: clean up detection of private params in nested scopes, update doc 2021-10-04 09:02:27 -07:00
Daniel Shahaf ca94d3acda unposted: Fix typos 2021-09-26 09:00:32 +00:00
Peter Stephenson db46c9cd58 49353: Fix comments in sourced file.
If the file was sourced from an interactive shell with
INTERACTIVE_COMMENTS not set, comments were not parsed.

Note there is a remaining edge case where the sourced
file is in fact entered at the comment line.
2021-09-09 20:05:39 +01:00
Bart Schaefer 3b97a36847 49386: handle separate source/build trees 2021-09-08 15:47:43 -07:00
Jun-ichi Takimoto 2a7945a900 49377: fix segfault by 'bindkey -d' with reordered keymapnamtab 2021-09-08 09:51:43 +09:00
Marlon Richert 1508dc7486 49218: run-help filters cmd_args before calling run-help-<command> 2021-09-06 13:47:10 -07:00
Bart Schaefer a31fd3077d 48888: improve doc for $$ and $PPID, add fail test for PPID readonly-ness 2021-09-06 12:46:28 -07:00
Peter Stephenson daa208e907 49269: Fix "[ ! -o ]".
This should detect "-o" as non-empty string; "-a" was alrady working.
Update the test.
2021-08-10 09:19:32 +01:00
Jun-ichi Takimoto 9b3a292410 49166: fix coredump in ${name:offset:length} with ill-formatted length 2021-07-19 09:13:03 +09:00
Marlon Richert e732073415 48864: Improve extra-verbose completion display strings for array parameter values 2021-05-21 23:45:26 +02:00
Daniel Shahaf 492c388e1d 48594 (plus an "F:" line corresponding to the question there): New tests for functions -t / functions -T 2021-05-18 01:57:06 +00:00
Bart Schaefer cae7eb7684 48560: add new test file missed on original commit 2021-05-15 13:46:20 -07:00
Bart Schaefer 34a8fecf7b 48810: fix potential name clash in test case for autoloading 2021-05-15 13:45:14 -07:00
Peter Stephenson 9e38ab8178 48787: Fix command status after failed if
If "if" had a hard error in the condition, and there was no
else clause, the command status was incorrectly cleared to zero.

Add test.
2021-05-06 10:03:27 +01:00
dana c23a0d84b0 48614: getopts: Calculate OPTIND according to POSIX_BUILTINS 2021-05-03 18:11:38 -05:00
Daniel Shahaf b0bd14035d 48606 + 48607 + unposted test: zmathfunc: Force arguments to be numbers and catch errors. 2021-04-21 22:05:00 +00:00
Daniel Shahaf e7711e37e4 unposted (cf. 48156): New test. 2021-04-21 22:01:20 +00:00
Bart Schaefer 71b747567e 47704: POSIX export and readonly ignore "-p" when parameter names also appear 2021-04-18 14:26:12 -07:00
Bart Schaefer 82ff9f24f1 48560: add TYPESET_TO_UNSET option to remove initialization of parameters
Changes typeset such that ${newparam-notset} yields "notset" and
"typeset -p newparam" does not show an assignment to the parameter.  This
is similar to the default behavior of bash and ksh, with minor differences
in typeset output.

Also add tests for some POSIX incompatibilities plus minor changes for test
harness robustness.
2021-04-18 13:58:09 -07:00
Marlon Richert 587cced35d 48513: Let extra-verbose completion show parameter values 2021-04-16 23:36:03 +02:00
Daniel Shahaf dee6e67d60 unposted (cf. 48153): Add tests for max() and min(). 2021-04-16 19:08:11 +00:00
brian m. carlson f7a417388c 47794: exec: run final pipeline command in a subshell in sh mode
zsh typically runs the final command in a pipeline in the main shell
instead of a subshell.  However, POSIX specifies that all commands in a
pipeline run in a subshell, but permits zsh's behavior as an extension.
The default /bin/sh implementations on various Linux distros and the
BSDs always use a subshell for all components of a pipeline.

Since zsh may be used as /bin/sh in some cases (such as macOS Catalina),
it makes sense to have the common sh behavior when emulating sh, so do
that by checking for being the final item of a multi-item pipeline and
creating a subshell in that case.

From the comment above execpline(), we know the following:

 last1 is a flag that this command is the last command in a shell that
 is about to exit, so we can exec instead of forking.  It gets passed
 all the way down to execcmd() which actually makes the decision.  A 0
 is always passed if the command is not the last in the pipeline. […]
 If last1 is zero but the command is at the end of a pipeline, we pass
 2 down to execcmd().

So there are three cases to consider in this code:

• last1 is 0, which means we are not at the end of a pipeline, in which
 case we should not change behavior.
• last1 is 1, which means we are effectively running in a subshell,
 because nothing that happens due to the exec is going to affect the
 actual shell, since it will have been replaced.  So there is nothing
 to do here.
• last1 is 2, which means our command is at the end of the pipeline, so
 in sh mode we should create a subshell by forking.

input is nonzero if the input to this process is a pipe that we've
opened.  At the end of a multi-stage pipeline, it will necessarily be
nonzero.

Note that several of the tests may appear bizarre, since most developers
do not place useless variable assignments directly at the end of a
pipeline.  However, as the function tests demonstrate, there are cases
where assignments may occur when a shell function is used at the end of
a command.  The remaining assignment tests simply test additional cases,
such as the use of local, that would otherwise be untested.
2021-04-10 17:56:39 -05:00
Peter Stephenson 283d2f3c27 48432 and enable test: fix quotiing of zstyle -L for zstyle -e 2021-04-09 21:01:37 +01:00
Daniel Shahaf 4ba9008ec7 48379: Make the parameter expansion subscript flags parse error message, "error in flags", identify the location of the parse error. 2021-04-08 02:19:39 +00:00
Daniel Shahaf 608e49ac19 48425: Add an XFail test for a 'zstyle -L' escaping bug (workers/48424). 2021-04-07 17:45:57 +00:00
Marlon Richert aaf619cc22 48413: Fix _expand completion test 2021-04-06 13:59:43 +02:00
Mikael Magnusson ea3351c496 48202 + 48366: Fix handling of NUL bytes in zexpandtabs multibyte version 2021-04-01 09:50:52 +02:00
Marlon Richert 07a30613f0 48214: add file types to _expand completions, so they can be colored through complist 2021-03-31 01:20:36 +02:00
dana d3906d7a2f 48216: Fix broken Y01 test from workers/48180 2021-03-28 00:22:59 -05:00
dana 78cf455871 unposted: Improve documentation and add regression test for workers/47745 2021-03-23 00:26:21 -05:00
Marlon Richert f4a248f9d3 48180: Start menu selection with select=long-list in menu style 2021-03-17 12:50:57 -05:00
Daniel Shahaf f87b73e677 48147/0002: zmathfunc: Fix bug where the exit code would be non-zero if the expression evaluted to zero. 2021-03-07 21:58:13 +00:00
Daniel Shahaf 6a2a8acf09 48147/0001: tests: Add a unit test for zmathfunc and a regression test for workers/48146 affecting it. 2021-03-07 21:58:12 +00:00
Joshua Krusell 3d6e5b6231 47905: Add leading '-' to zparseopts option parsing errors 2021-02-13 00:54:59 +01:00
Bart Schaefer 465738fc25 47895: Remove trailing spaces from "print -ac" output lines. 2021-02-04 17:52:22 -08:00
Bart Schaefer b803fbaa14 47865: More tests for globbing in restricted directories 2021-02-04 17:03:46 -08:00
Joshua Krusell 9120d1e841 47899: Improve error message from zparseopts. 2021-02-03 11:33:47 +00:00
Jun-ichi Takimoto 6e20f0e3d1 47849: do not skip tests requiring zpty on Cygwin 2021-01-20 13:49:42 +09:00
Mikael Magnusson 8773f01f2b 47494, 47495: Add -n option to strftime 2020-10-25 23:06:02 +01:00