• R/O
  • SSH

yash: List of commits

Rev. Time Author
r4013 2020-01-05 23:10:22 magicant

Test using GitHub Actions

r4012 2019-12-23 23:12:55 magicant

Revert "Remove j_nonotify"

This reverts commit e0400605ac29a42ceeed8bcf86fe628a53d67c56.

Commit e040060 mistakenly assumed that the j_nonotify flag had been used
only to prevent the job from being removed, but in reality also from
being reported when the -b shell option is enabled.

As a result of the commit, the job status was being reported redundantly
when a job exits after resumed by the "fg" built-in.

r4011 2019-12-22 22:56:00 magicant

Fork inside exec_simple_command

Previously the exec_simple_command function required the finally_exit
argument to be true when executed for CT_EXTERNALPROGRAM. I don't think
this implicit precondition very intuitive because it effectively
nullifies the finally_exit parameter.

Starting from this commit we fork inside the exec_simple_command
function to allow the parameter to be false.

r4010 2019-12-22 17:00:13 magicant

Optimize read when stdin is a regular file

POSIX requires that the shell do not read too much from the standard
input. For this reason reading from the standard input is not buffered
by default. Without buffering, the "read" syscall is called for each
byte to be read, which may degrade the performance of the shell.

After this commit, when the standard input is a regular file, the input
is buffered to improve the performance. After reading, the file
descriptor is repositioned so that it works as if there has been no

r4009 2019-12-22 01:00:14 magicant

Optimize process forking with pipefail

When the pipe-fail option is on, the shell needs to await not only the
last command of a pipeline but also other commands. Because of this, the
optimization of not forking an unnecessary process for the last command
was not applied when the option was on.

If there is only one command in the pipeline, however, the pipe-fail
option can be ignored and the optimization is applicable.

r4008 2019-12-22 01:00:13 magicant

completion/set: Describe pipefail option consistently

Previously, the description for yash's pipefail option was different
from that for other shells for no reason.

r4007 2019-12-21 23:30:23 magicant

sample yashrc: Warn on crontab -r

Some users accidentally remove their crontab by typing "crontab -r" when
they intend to edit it by "crontab -e". To prevent unrecoverable loss,
a wrapper function for the crontab command is now installed in the
sample yashrc.

r4006 2019-12-04 23:27:17 magicant

completion/git-rebase: Support Git 2.24.0

r4005 2019-11-11 23:19:28 magicant

Ignore empty key sequence in terminfo (#39741)

If an empty key sequence is in le_keycodes, the read_next function would
loop infinitely. Such a sequence should be ignored even if defined in
the terminfo database.

Patch contributed by hvdijk

r4004 2019-09-22 00:04:53 magicant

Version 2.49

r4003 2019-09-21 22:59:17 magicant

Suppress compile-time warning from clang 8

r4002 2019-09-21 22:59:16 magicant

Up version to 2.49

r4001 2019-09-21 22:59:15 magicant

Update ja.po

r4000 2019-09-21 12:41:24 magicant

Make nounset option effective in arithmetic expansion

The nounset option should reject unset variables in arithmetic expansion
as well so that the user can get an error when they mistakenly used a
misspelled variable.

This will be a next POSIX requirement:

r3999 2019-07-15 19:33:21 magicant

completion/rsync: Complete local pathnames

r3998 2019-07-15 18:23:50 magicant

completion/git: Complete remote refs correctly

r3997 2019-07-09 21:43:15 magicant

Japanese documentation for for-local option (#39372)

r3996 2019-07-09 21:43:14 magicant

completion/set: Complete the for-local option (#39372)

r3995 2019-07-09 21:43:13 magicant

Reorganize tests for for-local option (#39372)

r3994 2019-07-09 21:43:12 magicant

Document the forlocal option as for-local (#39372)

r3993 2019-07-09 21:43:10 magicant

Add the forlocal option (#39372)

Patch contributed by Martijn Dekker.

r3992 2019-06-06 00:41:45 magicant

Expand ""$* to an empty string (#39280)

The words ""$*, ""$@, $*"", and $@"" should expand to an empty string
rather than nothing when there are no positional parameters.

r3991 2019-03-16 12:46:46 magicant

run-test: Don't use function before defined

The eprintf function should be used after it is defined.

r3990 2019-02-11 23:42:10 magicant

Update test README (#38894)

r3989 2019-02-11 23:42:09 magicant

run-test: Use symlink to invoke testee as sh

We now create a symlink named "sh" that resolves to the testee shell. By
invoking the shell via the symlink, we can invoke the shell as "sh"
without depending on the non-standard "-a" option of the "exec"

r3988 2019-02-11 23:42:08 magicant

run-test: Redirect stdin to /dev/null rather than closing

For standard utilities to work as specified in POSIX, stdin should be
open even if it is unused.

r3987 2019-02-11 21:10:31 magicant

tests/input-p: Use testee to test input consumption

The "head" utility on FreeBSD seems to consume more lines than expected.

r3986 2019-02-11 20:51:03 magicant

tests/umask-p: Don't use XSI extension of ls

The "-g" and "-o" options of the "ls" utility are XSI extensions. We
should be using the more portable "-l" option.

r3985 2019-02-11 20:44:59 magicant

tests/summarize: Don't abort if no tests passed

The "grep" command returns an exit status of zero if there is no
successful test. This should not cause the "summarize.sh" script to
abort due to the "errexit" shell option.

r3984 2019-02-11 20:44:59 magicant

tests/printf-y: Succeed on FreeBSD

On FreeBSD, the "wc -l" command prints blanks before the line count,
causing a false test failure.

We now use the "grep" command to ensure the line printed by "printf" is
not empty.

Show on old repository browser