VOOZH about

URL: https://pkgsrc.se/shells/yash

⇱ pkgsrc.se | The NetBSD package collection


Skip to main content.
👁 https://pkgsrc.se
Useful links: www.pkgsrc.org | www.netbsd.org | www.netbsd.se
Navigation:
Home | Browse by maintainer | Search | RSS | Info | Statistics | Help | Contact
+ virtual
archivers
audio
benchmarks
biology
cad
chat
comms
converters
cross
crosspkgtools
databases
devel
doc
editors
emulators
filesystems
finance
fonts
games
geography
graphics
ham
inputmethod
lang
mail
math
mbone
meta-pkgs
misc
multimedia
net
news
parallel
pkgtools
print
regress
security
👁 pil
 shells
  👁 pil
 yash
sysutils
textproc
time
wayland
wip
wm
www
x11

* = Virtual Category
👁 new
New packages:
  Today
  Yesterday
  Last week
  Last month

Path to this page:

./shells/yash, POSIX-compliant command line shell

[ 👁 Image
CVSweb ] [ 👁 Image
Homepage ] [ 👁 Image
RSS ] [ 👁 Image
Required by ]


Branch: CURRENT, Version: 2.61, Package name: yash-2.61, Maintainer: vins

Yash, yet another shell, is a POSIX-compliant command line shell written
in C99 (ISO/IEC 9899:1999). Yash is intended to be the most POSIX -
compliant shell in the world while supporting features for daily
interactive and scripting use. Notable features are:

- Global aliases
- Arrays
- Socket redirection, pipeline redirection, and process redirection
- Brace expansion and extended globbing
- Fractional numbers in arithmetic expansion
- Prompt command and command-not-found handler
- Command line completion with predefined completion scripts for more
than 100 commands
- Command line prediction based on command history


Master sites:

Filesize: 802.305 KB

Version history: (Expand)


CVS history: (Expand)


   2026-04-20 20:36:05 by Paolo Vincenzo Olivo | Files touched by this commit (4) | 👁 Package updated
Log message:
shells/yash: update to 2.61

 # changes

 * The `configure` script now accepts the `--disable-doc` option to
 omit installing the manual pages.
 * The `configure` script now has minimal cross compilation support.
 Use the `--host=HOST` option to specify the cross-compilation
 target.
 * Fixed a bug where the `configure` script could produce false
 positive results for function checks when an optimizing compiler
 eliminates the test code. The `configure` script now uses the
 `-fno-builtin` compiler option when compiling function check
 programs.
 * The `times` built-in now uses the `getrusage` function to obtain
 resource usage statistics on systems where it is available, which
 improves precision.
 * Updated the sample initialization script (yashrc):
 The script no longer suggests moving the history file from
 `~/.yash_history` to `${XDG_STATE_HOME}/yash/history` if they
 resolve to the same file.
 * [line-editing] Fixed a bug where attempting to auto-complete
 arguments for unknown commands when the `PREFIX` variable is defined
 would result in an error message.
 * [line-editing] Added completion for `mount`, `sv`, `aria2c`,
 `mkinitcpio`, `7z`, and `hdparm`.
   2025-10-12 08:24:28 by Paolo Vincenzo Olivo | Files touched by this commit (3) | 👁 Package updated
Log message:
shells/yash: update to 2.60

* Yash 2.60 (2025-09-15)

 - Updated the sample initialization script (yashrc):
 - Redefined the `open` function for WSL to use `rundll32.exe`
 instead of `cmd.exe` for better stability.
 - `$VISUAL` is now preferred over `$EDITOR` for the default value of
 `$FCEDIT`.
 - [line-editing] The "vi-edit-and-accept" command now honors the
 `VISUAL` and `EDITOR` variables, so that you can use your favorite
 editor.
 - [line-editing] Added completion for `fd`, `dvtm`, `mw`
 (mutt-wizard), and `typst`.
 - [line-editing] Completion for `man` now supports the `-l`
 (`--local-file`) option.
 - The `export`, `readonly`, and `typeset` built-ins now print the `--`
 separator before the variable names when printing variables whose
 names begin with a hyphen (`-`), so that the output can be safely
 re-parsed by the shell. The same applies to function names.
 - Fixed a bug where the shell continued to export the previous value
 of an array even after it was updated using the `array` built-in.
 Also fixed an issue where the internal cache was not refreshed for
 the `PATH`, `CDPATH`, and `YASH_LOADPATH` variables after being
 modified via the `array` built-in.
 - Fixed a bug where single quote characters (`'`) in the `word` of
 parameter expansions of the forms `${foo+word}`, `${foo-word}`,
 `${foo=word}`, and `${foo?word}` were treated as quoting characters
 when the expansion was in double quotes.
 - Fixed a bug where tilde expansion was performed on the `word` of
 parameter expansions of the forms `${foo+word}`, `${foo-word}`,
 `${foo=word}`, and `${foo?word}` even when the expansion was in
 double quotes.
   2025-05-23 21:18:52 by Paolo Vincenzo Olivo | Files touched by this commit (3) | 👁 Package updated
Log message:
shells/yash: update to 2.59

# changes

* trap: Implement POSIX.1-2024 requirements by @magicant in #115
* read: Avoid crash in interactive shell by @magicant in #116
* history: Work around glibc's fsetpos bug by @magicant in #117
* add completion for make variant commands by @unrealapex in #110
* Update Git completion by @magicant in #120
* wait: Don't return when the target process is suspended by @magicant in #121
* Support POSIX.1-2024 read built-in behavior (except byte-wise field splitting) \ 
by @magicant in #123
* Change false, pwd, and true to substitutive built-ins by @c0d3-br3ak9r in #124
* Reject empty operand in cd built-in by @c0d3-br3ak9r in #126
* Ignore remaining commands after a foreground job stops by @magicant in #143
* Treat a job as suspended when any child process suspends by @magicant in #144
* Noglob when splitting $CDPATH at colons in cd and pushd completion by \ 
@magicant in #147
* add completion for fnf by @unrealapex in #140
* add completion for 'cmus' and 'cmus-remote' by @unrealapex in #141
* add completion for 'catgirl' by @unrealapex in #142
* Ignore SIGTSTP in process redirection subshells by @magicant in #148
* Add macOS workaround for test of suspended job by @magicant in #150
* Job control without a control terminal by @magicant in #149
* Discard remaining commands on shell errors if interactive by @magicant in #151
* Filter '.' and '..' from wglob results by @eilefsen in #152
* Report job number and PID for async commands in interactive shell by @magicant \ 
in #155
* Propagate signal exit status to parent process by @magicant in #156
* printf: Reject redundant character in numeric operand by @magicant in #157
* Reject multiple pathname expansion results in redirection operands by \ 
@magicant in #158
* Set interactive automatically even with positional parameters by @magicant in #160
* test: Reject -a, -o, and parentheses in POSIXly-correct mode by @magicant in #161
* Fix default exit status of exit built-in in trap action by @magicant in #162
* Keep empty tilde expansion from empty field removal by @magicant in #164
* Remove redundant trailing slash in tilde expansion by @magicant in #166
* Reject {n} redirection prefix by @magicant in #167
* Document hashondef and nolog options for POSIX.1-2024 by @magicant in #168
* Treatment of variables that should not be made readonly by @magicant in #169
* Reject making LINENO, OLDPWD, OPTARG, OPTIND, and PWD readonly by @magicant in #170
   2025-02-13 14:45:20 by Paolo Vincenzo Olivo | Files touched by this commit (3) | 👁 Package updated
Log message:
shells/yash: update to 2.58.1

# upstream changes (since 2.57)

2.58.1

* tests/job-y.tst: Account for root PS1. by @pghvlaans in #106
 Fixed a test case in tests/job-y.tst that was failing when run as root.
* Update NEWS & THANKS for fzy completion by @magicant in #107
 Version 2.58 added completion for fzy, but the NEWS file did not mention it.
	This has been fixed.
* Redefine Actions workflow by @magicant in #108
* share/initialization/common: create HISTFILE directory automatically
 by @unrealapex in #109
 Version 2.58 changed the default $HISTFILE location to
 ${XDG_STATE_HOME}/yash/history, but the initialization script was not
 making the containing directory. This was causing the shell to fail to save
 the history file. The initialization script now creates the directory if it
 does not exist.

2.58

* The location of the initialization files can now be configured
 using the XDG_CONFIG_HOME variable (except in POSIXly-correct
 mode).
* [line-editing] Command line prediction now works in the vi command
 mode.
* [line-editing] Added completion for fzy and git-restore.
* [line-editing] Added completion for git-merge's --continue option.
* [line-editing] The completion for the . built-in now suggests
 directory names for the first operand even before the user enters
 a slash.
* Improved POSIX.1-2024 support:

 - Case command items now can be terminated by ;& instead of ;;
 to force the shell to execute the next item.
 The non-standard terminators ;| and ;;& are also supported
 to resume pattern matching with the next item unless in the
 POSIXly-correct mode.
 - Dollar-single-quotes are now supported.
 - Declaration utility semantics is now supported. Assignment-like
 arguments to the export, local, readonly, and typeset
 - built-ins are now expanded in the same way as assignments are
 expanded.
 - The printf built-in now supports position specifiers in format
 strings as in printf '%2$s %1$s\n' foo bar.
 - The cd and pushd built-ins now support the -e option, which
 can be used to see if the $PWD variable is successfully updated.
 - The exit status of the getopts built-in is now 2 on any error.
 - After the bg built-in resumed a job, the ! special parameter
 expands to the process ID of the job.
 - An interactive shell no longer exits on an error in the exec
 built-in, even if the POSIXly-correct mode is on.
 - The shell's syntax now always allows esac as the first pattern
 of a case branch as in case esac in (esac|case) echo ok; esac.
 Previously, it was a syntax error in the POSIXly-correct mode.

* The exit statuses returned from the cd, pushd, and popd
 built-ins have been updated to make it easier to distinguish the
 reasons for failure.
* Fixed a potential crash caused by an expansion error in nested
 parameter expansion.
* Updated the sample initialization script (yashrc):

 The default $HISTFILE is now set to
 ${XDG_STATE_HOME}/yash/history unless ${HOME}/.yash_history
 exists, in which case the latter is used and a warning is
 printed. To suppress the warning and keep using the previous
 location, you can set the $HISTFILE variable before the sample
 initialization script is sourced.
 Added aliases h='fc -l' and j='jobs'.
 Added the wrapper function for doas in an attempt to remove the
 misleadin
   2024-08-22 20:02:29 by Paolo Vincenzo Olivo | Files touched by this commit (2) | 👁 Package updated
Log message:
shells/yash: update to 2.57

# Noteworthy changes

* Added support for the "$POST_PROMPT_COMMAND" variable, whose value
 is executed after reading a command line in the interactive shell.

* If the shell exits because of a shell error during the EXIT trap,
 the shell now returns the exit status of the error rather than that
 of the last command before the EXIT trap.

* [line-editing] Fixed the spurious error message printed when
 completing after git config alias. with the nounset shell option
 enabled.

* [line-editing] Completion no longer inserts a redundant backslash
 to escape a character included in the completed word
 when the cursor follows another backslash.
 Updated the sample initialization script (yashrc):

* Added setup for VS Code shell integration.
   2024-06-09 09:44:54 by Paolo Vincenzo Olivo | Files touched by this commit (3) | 👁 Package updated
Log message:
shells/yash: update to 2.56.1

# changes

* Codebase moved from OSDN to github.
* The shell can now open more file descriptors on Cygwin.
* Fixed the bug where the "typeset -fp" built-in prints parameter
 expansions of the form ${foo:/bar/baz} with a redundant # flag like
 ${foo:/#bar/baz}.
* Fixed the bug where the emacs-capitalize-word line-editing command
 misbehaves and possibly crashes the shell if there is no word following
 the cursor to be capitalized.
* Added the emacs-search-forward-current and emacs-search-backward-current
 line-editing commands. (by @vext01 in #37)
* [line-editing] Added the completion script for doas. (by @DanisDGK in #45)
   2023-08-26 21:05:31 by Paolo Vincenzo Olivo | Files touched by this commit (3)
Log message:
shells/yash: do not require asciidoc

Fixes broken build.
   2023-08-25 18:16:08 by Paolo Vincenzo Olivo | Files touched by this commit (1)
Log message:
yash: add missing USE_PKGLOCALEDIR.


This site is operated by pkgsrc.pub, Contact