Note in particular the changes highlighted under "Incompatibilities since 5.9" below. See NEWS for more information. The instructions for compiling zsh are in the file INSTALL. You should also check the file MACHINES in the top directory to see if there are any special instructions for your particular architecture. Note in particular the zsh/newuser module that guides new users through setting basic shell options without the administrator's intervention. This is turned on by default. See the section AUTOMATIC NEW USER CONFIGURATION in INSTALL for configuration information. Zsh is a shell with lots of features. For a list of some of these, see the file FEATURES, and for the latest changes see NEWS. For more details, see the documentation. The line editor's default keymap is now the "emacs" keymap regardless of the value of the environment variables $VISUAL and $EDITOR. This only affects you if your $VISUAL or $EDITOR environment variable is set to a value that contains the string "vi". To get the previous behaviour, add to your .zshrc file. These snippets are compatible with previous versions of the shell. Restricted mode has been removed. This was associated with the option RESTRICTED (-r). This was an outdated way to restrict what users may do and was very difficult to apply safely. Furthermore, modern systems have better, safer and more reliable ways to confine user actions. The ERR EXIT and ERR RETURN options were refined to be more self- consistent and better aligned with the POSIX-2017 specification of set -e : Function calls or anonymous functions prefixed with ! now never trigger exit or return. Negated function calls or anonymous functions used to trigger exit or return if ERR EXIT or ERR RETURN was set and the function call or anonymous function returned a zero exit status. Example: setopt ERR EXIT f() { true } ! f echo "This is printed only since 5.10." The always command now ignores ERR EXIT and ERR RETURN, as other complex commands do, if its exit status comes from a command executed while the option is ignored. Example: setopt ERR EXIT { false && true } always { echo "This was and still is printed." } echo "This is printed only since 5.10." Function calls, anonymous functions, and the eval , . , and source builtins now never ignore ERR EXIT and ERR RETURN on their own. These commands used to ignore ERR EXIT and ERR RETURN if their result came from a complex command (if, for, ...) whose result came from a command executed while the option is ignored. Example: The vcs info git back-end now respects the get-unapplied style as documented. As a result it may omit information it previously showed during rebase and cherry-pick operations. The previous behaviour can be restored by setting the style as follows: The which and functions commands output function definitions in a format independent of the MULTI FUNC DEF option. Nul and characters greater than x77 are correctly handled by read -d . Return values of sysopen from the zsh/system module have been updated to be more similar to other commands in that module. Tied parameters created with the zsh/db/gdbm module may not be re-tied as locals in nested function scope. This prevents database corruption when a function scope ends. The typeset builtin now prints the floating-point values NaN, Inf, and -Inf using that capitalisation, which matches the capitalisation used by arithmetic expansion. (Previously they were printed in lowercase.) The zsh/zutil module's zparseopts builtin now always uses the last option name as given when storing it in an array. (Previously, options mapped with -M would sometimes be stored using the first name given.) Also, as a consequence of the zparseopts builtin now using standard argument parsing for its own options, long-option specs must be guarded using -- or similar. The zsh/zutil module's zformat builtin now interprets the sequences %% and %) differently. Previously they were implemented via implicit specs, which could lea
Excerpt from the source-code README · 48,230 chars · not written by Vinony
via Wikidata · CC0
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).