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

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.57, Package name: yash-2.57, 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: 753.152 KB

Version history: (Expand)


CVS history: (Expand)


   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.
   2023-08-25 17:52:52 by Paolo Vincenzo Olivo | Files touched by this commit (1)
Log message:
yash: use FORCE_C_STD instead of CFLAGS.
   2023-08-24 23:37:56 by Paolo Vincenzo Olivo | Files touched by this commit (4) | Package updated
Log message:
shells/yash: update to yash-2.55

# Changes
Yash 2.55 (2023-08-20)

  +  [line-editing] The Enter/Send key ("\et") now has a default
     binding to the command the Ctrl-M key ("\^M") is bound to in each
     mode.
  =  [line-editing] The redraw-all and clear-and-redraw-all commands
     now can be used with an argument to swap their behavior.
  *  Fixed mistranslation in the Japanese language support.
  .  Updated the sample initialization script (yashrc):
    +  Code example for binding Ctrl-L to clear-and-redraw-all.
  .  Updated completion scripts:
    +  Completion for git-switch and pass
   2023-03-02 10:01:12 by Paolo Vincenzo Olivo | Files touched by this commit (2) | Package updated
Log message:
shells/yash update to 2.54.

# CHANGES

Yash 2.54 (2023-02-25)

  +  Changing font style of command line predictions with $PS1P, etc.
  +  The '--le-trim-right' option.
  =  When the POSIXly-correct mode is active, the shell now refuses to
     execute built-ins POSIX XCU 2.9.1 lists as utilities that cause
     unspecified results. To implement the new behavior, the previous
     "semi-special" built-ins are now categorized in either of the new
     categories "mandatory" and "elective". The \ 
"command" and "type"
     built-ins now report the new categories of such built-ins.
  =  The shell now requires a corresponding external executable to
     exist in $PATH when running a built-in that works like a standard
     external utility even when the POSIXly-correct mode is inactive.
     Such built-ins are now categorized as "substitutive" built-ins.
  =  The "array" built-in is now completely ignored in the POSIXly-
     correct mode. The built-in, formerly a regular built-in, is now
     categorized as an "extension" built-in.
  =  The xtrace option is now ignored while expanding the $PS4
     variable to prevent possible infinite recursion.
  *  The allexport option was wrongly ignored in many assignment
     contexts.
  *  The errexit and errreturn options now work for assignment error
     in a for loop.
  *  The ">" redirection with the noclobber option no longer hangs
     when the operand names a symbolic link to a non-existing file.
  *  The exported value of the $DIRSTACK variable was not being
     updated correctly in the "pushd" and "popd" built-ins.
  *  The effect of "!" no longer applies to the exit status of the
     "break", "continue", and "return" built-ins.
  *  An alias value ending with a blank followed by a line
     continuation no longer subjects the next token to alias
     substitution.
  .  Updated the sample initialization script (yashrc):
    +  The "o" alias for WSL
   2022-12-19 11:57:23 by Paolo Vincenzo Olivo | Files touched by this commit (1)
Log message:
shells/yash: use C99 to support 'for' loop initial declarations.