diff options
Diffstat (limited to 'Etc/NEWS')
-rw-r--r-- | Etc/NEWS | 599 |
1 files changed, 0 insertions, 599 deletions
diff --git a/Etc/NEWS b/Etc/NEWS deleted file mode 100644 index 0e5983b80..000000000 --- a/Etc/NEWS +++ /dev/null @@ -1,599 +0,0 @@ -------------------------------------- -CHANGES FROM PREVIOUS VERSIONS OF ZSH -------------------------------------- - -Changes since zsh version 4.2.0 -------------------------------- - -- The zftp module supports ports following the hostname in the normal suffix - notation, `host:port'. This requires IPv6 colon-style addresses to be - specified in suitably quoted square brackets, for example: - - zftp open '[f000::baaa]' - zftp open '[f000::baaa]:ftp' - - (the two are equivalent). - -- Special traps, those that don't correspond to signals, i.e. ZERR, DEBUG - and EXIT are no longer executed inside other traps. This caused - unnecessary confusion if, for example, both DEBUG and EXIT traps - were set. The new behaviour is more compatible with other shells. - -- New option TRAPS_ASYNC which if set allows traps to run while the - shell is waiting for a child process. This is the traditional zsh - behaviour; POSIX requires the option to be unset. In sh/ksh - compatibility mode the option is turned off by default and the option - letter -T turns it on, for compatibility with FreeBSD sh. - -New features between zsh versions 4.0 and 4.2 ---------------------------------------------- - -Configuration: -- upgraded to use autoconf post-2.50 -- improved compatibility with other shells through shell options, - builtin arguments and improved builtin option parsing - -Syntax and builtins: -- new printf builtin -- `+=' to append to parameters which works for scalars, arrays and (with - pairs) associative arrays. -- enhanced multiple parameter `for' loops: - for key value in key1 value1 key2 value2 ... - maintaining full compatibility with POSIX syntax. -- Suffix aliases allow the shell to run a command on a file by suffix, - e.g `alias -s ps=gv' makes `foo.ps' execute `gv foo.ps'. Supplied - function zsh-mime-setup uses existing mailcap and mime.types files - to set up suitable aliases. Supplied function pick-web-browser is - suitable for finding a browser to show .html etc. files by suffix alias. -- new option `no_case_glob' for case-insensitive globbing. - -Add-on modules and functions: -- zsh/datetime modules makes date formatting and seconds since EPOCH - available inside the shell. -- zsh/net/tcp module provides builtin interface to TCP through ztcp - builtin. Function suite for interactive and script use with expect-style - pattern matching. -- zsh/net/socket module provides zsocket builtin. -- zcalc calculator function with full line editing. -- builtin interface to pcre library -- zsh/zselect module provides zselect builtin as interface to select - system call - -Completion system: -- general improvements to command and context support, low-level functions, - display code. -- in verbose mode, matches with the same description are grouped -- highly configurable completions for values of specific parameters, - specific redirections for specific commands -- support for bash completion functions (typically zsh native functions are - more powerful where available) -- New completions provided for (some of these may be in later 4.0 - releases): valgrind, tidy, texinfo, infocmp, Java classes, larch, limit, - locale parameters, netcat, mysqldiff, mt, lsof, elinks, ant, debchange - (dch), email addresses, file system types, Perforce, xsltproc. - Plus many others. - -Line editor: -- special parameters $PREDISPLAY, $POSTDISPLAY available in function - widgets to configure uneditable text (for narrowing) -- recursive editing -- supplied widgets read-from-minibuffer, replace-string use these features - (more intuitive prompting and argument reading than 4.0) -- access to killed text via $CUTBUFFER and $killring -- supplied highly configurable word widgets forward-word-match etc., can - set what constitutes a word interactively or in startup script - (implement bash-style behaviour, replacing previous bash-* word widgets) -- interface to incremental search via $LASTSEARCH -- better handling of keymaps in zle and widgets -- better support for output from user-defined widgets while zle is active -- tetris game which runs entirely in zle -- several other contributed widgets - -Local internal improvements: -- disowned jobs are automatically restarted -- \u and \U print escapes for Unicode -- read -d <delimiter> allows a custom line ending. -- read -t <timeout>. -- line numbers in error messages and $PS4 output are more consistent -- `=prog' expands only paths, no longer aliases for consistency -- job display in prompts; `jobs' command output can be piped -- prompts: new $RPROMPT2, %^, %j, %y, enhanced %{, %}, %_. -- rand48() function in zsh/mathfunc for better randomness in arithmetic - (if the corresponding math library function is present) -- $SECONDS parameter can be made floating point via `typeset -F SECONDS' - for better timing accuracy -- improvements to command line history mechanism -- job table is dynamically sized, preventing overflow (typically seen - previously in complex completions). -- many bugfixes - - -New features in zsh version 4.0.1 ---------------------------------- - -Compared with 3.1.9, there are mostly incremental improvements to - - the new completion system --- more functions, completers, styles... - - the line editor - - handling of signals and traps - - the configuration system, particularly for modules - - Cygwin support (now essentially complete) - - arithmetic evaluation - - the zpty (pseudoterminal handling) module - - the test suite -plus various bug fixes and compatibility improvements. - -The alias modules (zle.so as an alias for zsh/zle.so, etc.) have been -removed; use `zmodload -A' to load modules under other names. This is -irrelevant if you are upgrading from 3.0. - -Compared with the 3.0 series of releases (the last stable set), the most -significant of a large number of improvements in the shell are: - - Dynamically loadable modules with hierarchical naming system - - Shell functions as editor functions, with much additional builtin support - - Incredibly rich new completion system; just needs a single - initialization command to provide completion for all sorts of commands - and contexts - - Associative arrays - - Lots of new features in parameter substitution and globbing; more - logical handling of nested parameter substitutions - - Rewritten pattern-matching (globbing) code supports approximate - and case-insensitive matching and backreferences - - Various custom modules for pty's, FTP, special parameters, etc. - - Rewrites of many internal parts of the code: execution code to - provide compilation to internal representation, pattern matching - - Floating point arithmetic and mathematical functions module - - A test suite - - Various new options for compatibility with this, that and the other -See the 3.1.x changes below for more detail. - -New features in zsh version 3.1.8 and 3.1.9 -------------------------------------------- -These are primarily bug-fix versions. There are only a few user-visible -changes. - - Array slices ${array[a,b]} with b < a now correctly have zero length. - -New features in zsh version 3.1.7 ---------------------------------- -Further enhancements to new completion system: - - Comprehensive context-sensitive configuration via `styles', which - can be set by the menu-driven front end in compinstall - - General mechanism for setting patterns to be ignored in a completion; - overriding of patterns to be matched for functions - - New completers: _prefix to complete word before cursor, _ignored - to complete using words so far ignored (like $fignore but more - powerful), _history to complete words from shell history - - Multiple use of completers with different options, similarly splitting - of different types of completion (`tags') so they are considered with - different styles - - Many more supplied completions for standard commands which work out of - the box, and better handling of command line options/arguments which - behave in the usual way - - $fpath now set up to use installed functions by default; functions - can be loaded just by `autoload -U compinit; compinit' - - Much improved handling of nested quoting and nested braces - - New LIST_PACKED and LIST_ROWS_FIRST completion options and corresponding - styles - - compctl library separated out (frozen but still supported) - - User-friendly introduction available at zsh website - http://sunsite.auc.dk/zsh/ - -Additions to complist listing library (coloured completion and menu -selection): - - Listings can be shown page by page (are by default for new completion) - - Menu selection allows full up and down scrolling of long lists - -Other editing features: - - new parameters $PENDING, $MARK, $BUFFERLINES - - Easy display of a prompt from within an editing widget - -Code parsing, storing and execution: - - Completely new system of storing code internally, greatly optimised - - Much less memory for shell functions etc. - - Can compile shell functions to .zwc `wordcode' functions for fast - loading - - Can create `digest' files of entire directories in .zwc format - -Parameters: - - Floating point support added, similar to ksh93, `typeset -F' and - `typeset -E' declare floating point variables; usual C/Fortran-like - rules for integer/float conversion - - Mathematical library zsh/mathfunc contains all the standard mathematical - functions for use in arithmetical expressions - - Improved parsing of arithmetical expressions and better error messages - - Special parameters can be made local - - `typeset -h' hides specialness of parameters, either as parameter - attribute or when declaring new local variable - - Local parameters can now be exported as in other shells; new option - GLOBAL_EXPORTS on by default provides old behaviour that `typeset -x' - referred to global parameters. - - zsh/parameter module enhanced: now needed for new completion; parameters - provided have `-h' flag set so that they are hidden by `typeset', so - that existing functions don't need to be changed - - Quotes can be stripped from parameter values with ${(Q)...}, providing - reverse of ${(q...)...} facility - -Globbing and pattern matching: - - Pattern matching rewritten for efficiency - - Supports `backreferences', i.e. extracting parenthesised chunks of - matches, e.g. - [[ $foo = (#b)(*/)[^/]* ]] - stores the part of $foo up to the last / in $match[1] and the indexes of - the match in $mbegin[1], $mend[1]. (#m) is also available to set $MATCH - to the entire match and corresponding $MBEGIN, $MEND: useful in - parameter substitutions like ${.../.../...}. - - (#s) and (#e) match start and end of pattern like ^ and $ in regular - expression, useful in complex expressions such as ((#s)|/)dirname((#e)|/) - and in parameter expressions. - - - Depth-first/last listing of recursive glob lists - -Functions etc.: - - `autoload -X' inside a function body instructs the shell to - bootstrap the function at that point - - `autoload +X fn' says load the function fn but don't execute it - - Prompt `themes' make customization of prompts easier - -Modules: - - New hierarchical naming scheme for modules; supplied modules go into - zsh subdirectory, so zle becomes zsh/zle etc.; aliases supplied for - compatibility for existing code, but the new format should be used in - future. - - zmodload is more consistent between dynamically and statically linked - shells - - zsh/zftp and its function suite support multiple sessions (zfsession - command); zftransfer allows transfer of files between two ftp sessions - with no local file; use styles for e.g. progress style; IPv6 supported; - recursive put `zfput -r' for uploads - - zsh/zpty module creates pseudoterminal and allows builtin `expect'-like - behaviour - -Other: - - Test suite, not yet complete (`make test') - - use of Linux task limits - - Many fixes including output redirection with `setopt xtrace' and - other redirection fixes; NIS+ problem. - - Better null-command behaviour in sh and csh emulation - - Internal memory usage optimisations - -New features in zsh version 3.1.6 (beta version) ------------------------------------------------- -Note also the changes for 3.0.6, which include changes between 3.1.5. and -3.1.6. - -New completion system via shell functions; massive degree of -programmability and configurability: - - ready-made function suite to use, see zshcompsys(1) - - approximate completion and spelling correction via completion - - control over matching for case-independence, partial word completion, etc. - - menu selection: choose a completion by moving the cursor - - coloured completion lists - - completion of filenames in quotes is now more reliable; splitting - quoted strings into command arguments is also possible. - -Other editing changes: - - enhancements to function/editing interface: new parameters, numeric - arguments, string argument passing, reading keys from widgets. - - the old history-search-{back,for}ward behaviour and bindings have - returned (up to minor details). - - BASH_AUTO_LIST option to show completion list only on second key press. - - the ZBEEP parameter gives a string to output instead of beeping, - allowing you to have a visual bell. - -History changes: new options HIST_NO_FUNCTIONS, HIST_EXPIRE_DUPS_FIRST, -HIST_FIND_NO_DUPS, HIST_IGNORE_ALL_DUPS, INC_APPEND_HISTORY, -HIST_SAVE_NO_DUPS, SHARE_HISTORY, allow better control of when history is -read and written and how duplicates are handled. New format for history -saves. - -Associative arrays plus enhanced parameter substitutions to retrieve keys -and values. - -Globbing changes: - - Case-insensitive and approximate globbing. - - Ordering and indexing of globbing matches, e.g. *(om[1]) picks - most recently modified file. - - General file mode qualifier with chmod(1)-like syntax, e.g. *(f:u+wx:) - -New loadable modules: - - zftp, plus associated function suite, for turning your zsh session - into an FTP session too - - parameter, for examining and altering shell hash tables via an - associative array interface. - - mapfile, for reading and writing external files via an associative - array interface. - -Debugging and prompt enhancements: - - $PS4 can contain %i for $LINENO as well as %N for script or function - names (default PS4 changed), also %_ for current shell structure - executing; - - Prompt truncation %<...< is now more flexible: it applies to a - whole section of the prompt, not just one escape. You need to put - %<< after the truncated escape to get the old behaviour. - - %20(l.yes.no) in prompts prints yes if at least 20 characters have - been output, else no (e.g. for outputting extra newlines). - -Parameter and expansion changes - - `typeset -t MYPATH mypath' creates tied path/PATH-like variables - - `typeset -g' allows operations on parameters without making them local - - New expansions - - ${(t)param} prints type information for $param - - ${(P)param} treats value of $param as the name of a param to - substitute - - ${foo:q} can quote replaced parameter text from expansion - - ${foo/old/new} substitution, like bash; also (S) flag for shortest - match - - $foo[(b.2.i)bar] starts searching $foo for bar starting at 2nd match - -Builtin and function changes - - stat module: `stat -H hash foo' gives you e.g. $hash[mtime] - - `autoload -U' autoloads functions without alias expansion. - -Other new options: - - LOCAL_TRAPS allows signal traps to be local to functions (as in ksh). - - NO_RCS can now be turned on at any point in initialization files. - - NO_GLOBAL_RCS can force /etc/z* files after /etc/zshenv to be skipped. - (Please don't use this as an excuse to stuff more into /etc/zshenv!) - - Existing MAGIC_EQUAL_SUBST option is more useful; any argument containing - ...=~...:~... will perform filename expansion on the ~ (previously, - the string before `=' had to look like a parameter name). - -Configuration changes: - - Generation of signal names should be more reliable - - Customizable installation of shell functions from distribution. - -New features in zsh version 3.0.6 ---------------------------------- - -Most of these changes are designed to improve compatibility with zsh -version 3.1.6, the latest development release. However, this release also -fixes all known Year 2000 (Y2K) bugs in zsh 3.0. - -History changes: - - whitespace between words is ignored in history searches. - - new option HIST_REDUCE_BLANKS removes extra whitespace in the stored - history. - - support for reading (but not writing) version 3.1.6 history files. - -Globbing changes: - - the a, c, and m glob qualifiers can now test time in seconds. - - globbing of number ranges behaves more like character ranges in that - it can match a prefix of a number, e.g. `<1-5>*' matches 1, 2, 3, 4, - 5, 17, 23skiddoo, 5986, etc., but not 6, 7, 8ball, 911, etc. - -Parameter and expansion changes: - - expansion of ~ and other globbing flags via ${~param} do not depend - upon EXTENDED_GLOB (bug fix). - - nested parameter substitutions require braces (this was always the - documented behavior, but previous parsers didn't enforce it). - - quote only nested expansion, e.g. ${(f)"$(<file)"} reads complete - `file', then splits lines into array. - -Builtin and function changes: - - `typeset -U' works on the colon-array version of linked parameters. - - `typeset +f' and `functions +' output the names (only) of functions. - - `emulate -L' has the effect of `setopt localoptions'. - - in fn1() { local foo; unset foo; foo=bar; }, foo is restored at local - level, whereas if the `unset foo' appeared in a nested function it - would have been restored at global level, which was presumably wrong. - - `foo=bar >&file' is a redirection, not a NULLCMD. - - any single complex command, such as `case ... esac', parses as if - semicolon-terminated (bug fix). - - the shell function `preexec', if defined, is run after parsing each - command line but before executing the command. - -Other changes: - - the option PRINT_EIGHT_BIT causes zsh to emit raw bytes in prompts - and completion lists even if the system ctype(3) package says that - those bytes are not "printable." - -Debugging enhancements: - - LINENO is now very much more useful in scripts and functions and is - reported correctly in most error messages. - - ERREXIT behavior is now consistent with newer Bourne-like shells, - e.g. with respect to `if' tests that fail. - -Configuration changes: - - Large file and 64-bit integers on 32-bit machines supported where - provided by OS. - - a few more system features, such as getpwnam/getpwuid, are tested for. - - -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 shorthand 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@)$(<builtin.pro)}:#char*}[2][(w)3]}" expands to the third -word of the second line of builtin.pro which begins with char. See -zshexpn(1) for the details. - -***/foo glob does recursive directory search following symbolic links. - -Traps defined by the trap builtin are now executed in the current shell -environment and not as a shell function. This means that $1 is not set -to the signal number. Of course the TRAPxxx functions continue working -as before. - -Traps defined by the trap builtin are reset to their default values in -subshells. - -Option names can be prefixed by `no' to unset an option. -setopt no_option_name is the same as unsetopt option_name. -This change affects the output of the setopt and unsetopt -builtins when these are invoked without arguments. See -the zshoptions manual page for more explanation. - -!, {, } and [[ are now reserved words. Things like [[-z $foo]] or {foo} -should not be used. {foo} still works if the IGNORE_BRACES option is not -set but this feature may be removed in the future. [[ -z $foo ]] and -{ foo } should be used instead. - -HOSTTYPE special parameter is removed. The new OSTYPE, MACHTYPE and -VENDOR parameters should be used instead. - -VERSION parameter is renamed to ZSH_VERSION - -exec now saves the history in interactive shells. If you do not like this -behaviour you can alias exec to 'unset HISTFILE ; exec'. - -${~spec}, ${=spec} and ${^spec} used to toggle the effect of -globsubst/shwordsplit/rcexpandparam. Now these force the corresponding -option on. ~, = or ^ can be doubled to force the relevant option off for -the substitution. - -Explicitly requested word splitting like ${=spec} or ${(s:delim:)spec} -will be executed even if the substitution is double quoted. - -The right-hand side of assignments are no longer globbed by default hence -assignment foo=* will assign '*' as a value of foo. Use the foo=( * ) -array assignment syntax to get the old behaviour. Alternatively the -GLOB_ASSIGN can be set to emulate the old behaviour but the usage of this -option is strongly discouraged and this option may be completely removed in -the future. - -foo=$bar no longer creates an array even if bar is an array. Use -foo=( $bar ) or even better, foo=( "$bar[@]" ) instead. - -When foo is an array parameter ${#foo} will always return the length of the -array even if the substitution is double quoted. ${(c)#foo} should be used -to get back the old behaviour. - -When the prompt_subst option is set prompts are fully expanded using -parameter expansion, command substitution and arithmetic expansion. -In 2.5 backquote substitution was not performed in the prompts so this -change might cause problems in some startup scripts if ` is used literally -in prompts. - -History substitution is now not performed if the history escape character -appears in a single-quoted string. This may break some interactive shell -functions which use \! in single-quoted strings. - -The UID, EUID, GID, EGID parameters can be assigned now. The assignment -executes the setuid(), seteuid(), setgid(), setegid() respectively. On -systems where setuid and seteuid is not supported these functions are -emulated using setreuid or setresuid which may result in a different -behaviour. - -Assigning the USERNAME parameter will call setuid(uid) where uid is the -user id of the specified user. - -The privileged (-p) option is automatically set on invocation if euid != uid -or egid != gid. If this option is set no user startup files are sourced. -The shell will drop privileges when this option is unset by resetting its -euid to uid and its egid to gid. - -The =number substitution for accessing the directory stack is changed to -~number to allow =command substitution when a command name begins with a -digit. - -<> 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 -<space>, <tab>, <newline>. 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. |