------------------------------------- CHANGES FROM PREVIOUS VERSIONS OF ZSH ------------------------------------- New features in zsh version 3.1 (beta version) ---------------------------------------------- On most operating systems zsh can load binary modules dynamically at run-time. ZLE and the compctl builtin are now reside in a separate module which is loaded automatically on demand. for ((expr; expr; expr)) do ... done loop syntax from AT&T ksh93 is now supported. POSIX globbing character classes ([:alnum:] etc.) are now supported. ksh's case fall-through feature (;&) is supported. ksh93's $'' quoting syntax is supported. Restricted mode is now supported. This is controlled by the new option RESTRICTED (-r). New options BARE_GLOB_QUAL, HIST_NO_FUNCTIONS (alias NO_LOG), KSH_GLOB, PRINT_EIGHT_BIT, PROMPT_BANG, PROMPT_PERCENT, RM_STAR_WAIT. Options ALWAYS_LAST_PROMPT, APPEND_HISTORY, AUTO_LIST, AUTO_MENU, AUTO_PARAM_KEYS, AUTO_PARAM_SLASH, AUTO_REMOVE_SLASH, LIST_AMBIGUOUS and LIST_TYPES are now on by default. In ZLE, arbitrarily many keymaps can be defined. Multi-character keybindings now work. Completion can be performed within a brace expansion. EMACS-like universal-argument function. New features in zsh version 3.0 ------------------------------- Trailing "/" in a glob pattern now works like in other shell thus it can no longer be used as a sorthand for "(/)". Much improved sh/ksh emulation. When zsh is invoked as sh it mostly conforms to POSIX 1003.2. Enhanced parameter expansion features: new flags: A, @, e, W, p, f, F. Expansions can be nested. For example, "${${(M)${(f@)$( is a redirection operator which opens the standard input for both reading and writing. To match a number use <->. Option letters -1 and -C for PRINT_EXIT_VALUE and NO_CLOBBER are swapped: `set -C' sets NO_CLOBBER and `set -1' sets PRINT_EXIT_VALUE. AUTO_PUSHD behaviour is changed. Now cd without arguments will always go to the $HOME directory even if AUTO_PUSHD is set and PUSHD_TO_HOME is not set. If you preferred the old behaviour you can alias cd to pushd. IFS word splitting with SH_WORD_SPLIT and the splitting of the input in the read builtin has changed in cases when IFS contains characters other than , , . See the description of IFS in the zshparam manual page for more details. New features in zsh version 2.5 ------------------------------- Greatly expanded completion possibilities. Programmable completion allows detailed control over what arguments of what commands can be completed to what. See dots/zcomp in the distribution for examples. Expand filenames with ~ and = on the right hand side of parameter assignments. New option MAGIC_EQUAL_SUBST to do it in all identifier=expression arguments. ${+name} becomes 1 or 0 if name is set or unset. ${~spec} toggles GLOB_SUBST in substitution. Parameter substitution takes lots of flags in the format ${(flags)name}. New glob qualifiers for block/character special files, times in glob qualifiers can be in months, weeks, days, hours, minutes. Qualifiers can work on links or on what they point to. Qualifiers separated by commas are or-ed. New parameter substitution modifiers (fFwW) to repeat actions. New option CSH_JUNKIE_HISTORY. New line editor functions history-beginning-search-backward, history-beginning-search-forward, expand-or-complete-prefix, push-input, push-line-or-edit. Assign to part of a string, use qualifiers on string subscription with $foo[(qual)2,5] New parameters: EGID, EUID, KEYTIMEOUT New prompt escape sequence %_ to get constructs like for and while in the secondary prompt. %E in prompt clears to end of screen. Conditional expressions in PROMPT and WATCHFMT. New options ALWAYS_LAST_PROMPT, ALWAYS_TO_END, AUTO_PARAM_KEYS, COMPLETE_ALIASES, COMPLETE_IN_WORD, CSH_JUNKIE_HISTORY, GLOB_SUBST, LIST_AMBIGUOUS, MAGIC_EQUAL_SUBST, NO_FLOW_CONTROL, PROMPT_SUBST New option -m to many builtins makes arguments subject to pattern matching. Bindkey can now bind both key sequences and prefixes of those. You can for example bind ESC and function keys sending ESC sequences. Additional options to read builtin to use in functions called by completion. New options to print to sort arguments and print them in columns. Some additional resource limits can be specified. Some editor functions now work in the minibuffer.