1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-17 15:01:40 +02:00
Commit graph

3800 commits

Author SHA1 Message Date
Jun-ichi Takimoto
ad9f07e66f 43227: fix memory leaks in term{cap,info}.c 2018-08-01 21:36:44 +09:00
Jun-ichi Takimoto
baedd62f0d 43219 (except term{cap,info}.c): fix several memory leaks 2018-07-31 22:15:58 +09:00
Peter Stephenson
e6f2d776d3 43225: Recalculate ZLE timeout.
Needed when looping owing to having handled a special fd.
2018-07-30 15:39:51 +01:00
Peter Stephenson
3e9fc32fc3 43156, 43157: Need to allow for extra space in gethere().
The point can now increment twice per iteration.
2018-07-10 14:42:02 +01:00
Peter Stephenson
17178db1a4 users/23531: Error exit/return fixes.
Fix regression with trap on left hand side of pipe.

Fix forced return from shell structure within nested function.

Fix tests exiting too early.

Add new test case.
2018-07-09 11:07:53 +01:00
Daniel Shahaf
3d7215cc82 43091: In the (u) glob qualifier, expand and correct "unknown user" error messages. 2018-06-25 11:18:41 +00:00
Peter Stephenson
0a6cb5078d 43084: Variable warning suppression enhancements.
Add vared -g option along the lines of typeset -g.

Set reply safely in zsh_directory_name_cdr.
2018-06-25 09:31:40 +01:00
dana
394f3a47e4 43075: Support nanosecond-precision time formatting
* Teach ztrftime() %9. and %N for nanoseconds
* Update prompt expansion to pass sub-second times for time formatting
* Update zsh/stat to pass sub-second times for atime/mtime/ctime

Patch heavily based on Oliver's earlier work @ workers/24059
2018-06-20 17:29:56 -05:00
Peter Stephenson
eada7e1138 43077: Fix shift builtin status.
If the math evaulation to get the shift count failed the status
wasn't passed back from the builtin.
2018-06-20 12:09:43 +01:00
Eitan Adler
f311619e30 433029: Testing signal return type is no longer needed 2018-06-18 10:18:29 +01:00
dana
796637362a 43039: Mark functions_source (et al.) for auto-loading 2018-06-17 20:34:17 -05:00
Peter Stephenson
9408c4825b users/23472: Add $sysparams[procsubstpid] to zsh/system 2018-06-15 15:02:36 +01:00
Peter Stephenson
f37c181b29 43008: Improve code to remove privileges.
Remove warnings of unused values as we always check the finally
result later.

Put segid before setuid as the setgid could fail if UID
no longer privileged.
2018-06-15 10:27:29 +01:00
Eitan Adler
96ec8cbbf4 42938: name argument to math_func is not unused 2018-06-06 09:35:38 +01:00
Eitan Adler
6a3b23e9cc 42939: pm argument to set_registers is not unused 2018-06-06 09:33:28 +01:00
Jun-ichi Takimoto
1a97dcbed1 42870: another improvement of 'compset -q'
zlemetall need not count the 'x' added at the cursor in set_comp_sep()
2018-05-31 21:07:53 +09:00
Jun-ichi Takimoto
e5f356a95e 42809: slightly improve 'compset -q' 2018-05-25 21:11:20 +09:00
Stephane Chazelas
5ac1c6f555 42790: make [[:blank:]] match non-ASCII blanks 2018-05-17 23:42:27 +02:00
Peter Stephenson
1d2f684c9b 42793: Always define FDT_PROC_SUBST even if not needed.
This avoids proliferating #ifdef's.
2018-05-17 10:00:37 +01:00
Peter Stephenson
ee7dda7806 42785: Allow redefining math function to work silently.
Previously it failed with an error message that the function
was already defined.  This is inconsistent with most other
aspects of shell usage.
2018-05-17 09:32:26 +01:00
dana
b066cc3ea9 42297: (e) subscript flag needs extra work with scalars 2018-05-14 16:54:19 +01:00
Peter Stephenson
449f13a467 42234: Stephane: don't kill a process if not running.
This could happen when kiiling a job.  The processs might be reused.
2018-05-14 16:47:29 +01:00
Oliver Kiddle
a93abe1170 42488: test cases for 42369 and address some issues in the code 2018-05-13 10:13:42 +02:00
Oliver Kiddle
373efa085d Nelson H. F. Beebe: 19597 (rebased 42369): return Inf, NaN etc from floating point operations instead of errors to allow non-stop IEEE 754 arithmetic 2018-05-13 10:02:01 +02:00
Oliver Kiddle
f0c2cf8607 42760: move stack variable outside while loop scope as it is accessed in the while condition 2018-05-13 09:51:05 +02:00
dana
eeeba19c96 42185: safety when removing separators in completion 2018-05-11 09:33:05 +01:00
dana
805192311f 42101 (tweaked): assigning shell status to array was broken 2018-05-11 09:29:14 +01:00
Peter Stephenson
c8ceb66ba3 42751: Protect shell status in ZLE timed function handler.
Otherwise status from sched and other asynchronous functions
could escape back to the main shell.
2018-05-08 10:18:19 +01:00
Peter Stephenson
faf0035e53 unposted (branch fork_early): Fork early for pipelines.
If executing a command not at the end of a pipeline, and
not optimised in the calling code, we can fork before
"prefork" substitutions, at the same point as
for background commands.

Move fork before our preliminary scan of arguments to find
a command: in the cases of early fork
we don't need this information before forking.

Ensure we _exit if forked in execcmd_exec().

Rationalise use of forks and pipes.

Ensure we _exit instead of returning from execcmd_exec() if we
have forked.  Before the optimisation code after the fork always ran
to the check at the end, but that code is overkill for the logic
between the early fork and the existing one.

Remove old workaround to fork in caller of execcmd for current shell
constructs as no longer needed with early fork below.

Close input of newly created pipe on fork (destined for RHS of pipe
which we never execute): this replaces a workaround from
zsh-workers/32171, commit 9887fc3d7b.

Set last1 on early fork as needed by some instances of shell
constructs on LHS of pipeline to know they are exiting.
2018-05-01 10:27:35 +01:00
Ricardo Giorni
f7519811e1 47201: fix 42355 for multiple backslashes 2018-04-29 12:05:39 -07:00
Daniel Shahaf
76b5b3a504 unposted: Correct process substitution buffer size in the PATH_DEV_FD codepath. 2018-04-25 15:31:39 +00:00
Peter Stephenson
95d861d028 42708: fix for process substitution.
Don't close associated file descriptors in the closem()
tidy up function as they should remain visible to external
processes.  Override if about to exit.

Unit test for the failing case: note this relies on the
existence of /proc/self/fd or equivalent.
2018-04-24 11:48:11 +01:00
Peter Stephenson
9ad9c5cda1 42705: Another safety fix for pgrp reclaiming.
Only do this if killpg(dead_pid, 0) returns -1, indicating
the pgprp doesn't exist any more, else there is a race
if other proceses have started using it.
2018-04-23 15:11:34 +01:00
Peter Stephenson
11f18457d2 Allow short loops with "while" 2018-04-23 13:45:08 +01:00
Peter Stephenson
9e2afb9298 42684 (with extra comments): Fork early if in bg.
In execcmd the case of running the last command in a pipeline
asynchronously for the purpose of & and &! is easy to work out,
and we can avoid side effects and unnecessary execution time in
the parent shell by forking earlier.
2018-04-20 10:36:39 +01:00
Peter Stephenson
0f29b5148e 42686: Fix previous pgrp patch.
We shouldn't do any fix ups unless the process has actually
exited.
2018-04-19 13:58:10 +01:00
Peter Stephenson
3c74891fcd 42630: Improve process group handling in pipelines.
If process group leader exits, allow a newly forked process to become
process leader.  If a foreground job, reattach the shell to the
terminal until that happens.

Unblock signals when reading output for command subsitution so that
we can do this reattaching immediately.
2018-04-17 17:14:20 +01:00
Barton E. Schaefer
68d9526220 42650: fix 42156 for zero-sized terminals
Also fix harmless no-op typo from hand-applying 42636 for previous commit.
2018-04-15 11:06:43 -07:00
Barton E. Schaefer
517cda3832 42636: fix GLOB_DOTS for !(RM_STAR_SILENT)
Also fix paste-o in older log entry
2018-04-15 10:57:27 -07:00
Oliver Kiddle
65b265f3c0 42624 (plus test): avoid freeing memory that's still needed
This was occurring in a multiple function definition where a
function name is duplicated.
2018-04-12 23:15:29 +02:00
Oliver Kiddle
8e6c1d8b47 42605: properly free the vi registers hash 2018-04-07 18:52:37 +02:00
Oliver Kiddle
d8753f47bb 42601: tidy up code for set -A/+A to not increment a NULL pointer and to be more efficient 2018-04-07 18:48:00 +02:00
Oliver Kiddle
31f7220563 42607, CVE-2018-1100: check bounds on buffer in mail checking 2018-04-07 18:28:38 +02:00
Oliver Kiddle
4044d73706 42600: error paths for _values leaked the exclusion list array 2018-04-07 14:37:46 +02:00
Oliver Kiddle
90afd36922 42597: plug memory leak found by coverity 2018-04-07 14:37:46 +02:00
Oliver Kiddle
bd05c4b2de 42595: remove dead code flagged by coverity 2018-04-07 14:37:46 +02:00
Oliver Kiddle
25da576c29 42575: fix to not complete options in the argument to another option 2018-04-05 11:14:58 +02:00
Peter Stephenson
3517e4a9a5 42581(?): Fix ZLE inline history expansion.
Seen with magic-space.

If there's a parse error in command subtitution we need to complete
reading history to ensure the command line buffer is finished.
2018-04-04 18:33:00 +01:00
Oliver Kiddle
bdf09270be 42560: silence sign-compare compiler warnings 2018-03-30 12:13:59 +02:00
Oliver Kiddle
c053c6a079 42539: prevent overflow of PATH_MAX-sized buffer in spelling correction 2018-03-28 09:00:58 +02:00