Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
errors reported by Takahiro Kambe (FreeBSD) and Aleksey Cheusov (Linux).
No bump because nothing changes on NetBSD.
|
|
|
|
in previous. No user-visible changes expected.
|
|
|
|
Changes from NEWS:
--------8<--------8<--------8<--------8<--------8<--------8<--------8<
Major changes between versions 4.3.6 and 4.3.9
----------------------------------------------
The option COMBINING_CHARS has been added. When it is set, the
line editor assumes the terminal is capable of displaying zero-width
combining characters (typically accents) correctly as modifications
to the base character, and will act accordingly. Note it is not set
by default owing to vagaries of terminals. The system is reported
to work on MacOS, where this is particularly important as accented
characters in file names are stored in their decomposed form (i.e.
with base and combining characters).
The option HIST_FCNTL_LOCK has been added to provide locking of history
files using the system call fcntl(). On recent NFS implementations this
may provide better reliability.
The syntax ~[...] provides a dynamic form of directory naming,
supplementing the existing static ~name syntax. A user-defined shell
function, zsh_directory_name, is used to handle both expansion of names to
directories and contraction of directories to names.
Patterns can now be used in incremental searches with the new widgets
history-incremental-pattern-search-backward and
history-incremental-pattern-search-forward. These are not bound to
keys by default.
Highlighting and colouring of sections of the command line is now
supported, controlled by the array parameter zle_highlight and the ZLE
special parameter region_highlight.
Colouring of prompts is now supported within the shell by prompt
escapes. The prompt theme system has been updated.
Various changes have been added to make debugging of shell code easier:
- As noted in README, the option DEBUG_BEFORE_CMD is now set by default.
- In DEBUG traps, $ZSH_DEBUG_CMD gives the code for which the trap is
called as a string.
- "setopt ERR_EXIT" in a DEBUG trap causes the code not to be executed.
- $ZSH_SUBSHELL indicates the subshell level at which code is being
executed.
- The zsh/parameter module has various additional arrays similar to
the existing $funcstack and $functrace, namely $funcsourcetrace
and $funcfiletrace. The consistency and informativeness of
the output of all these arrays has been improved.
- Prompt escapes %x and %I show the source file and line number in
debug prompts (compare %N and %i which show names and line numbers
in the execution environment).
- The option NO_MULTI_FUNCDEF can turn off multiple definition of
functions at once, a rarely used feature that can cause problems
with misplaced "()".
- The "fc" builtin has been enhanced to make non-interactive use possible
and output consistent when the history is manipulated with "print -s".
The completion style accept-exact-dirs has been added. When true, this
suppresses attempts to complete non-final directory segments of a filename
path when the directory exists. (For example, /home/pws/src/zsh/<TAB>
discovers that /home/pws/src/zsh exists and leaves the directory component
alone, while /h/p/s/z/<TAB> completes to /home/pws/src/zsh/... as before.)
This should improve completion behaviour noticeably in special cases, such
as remote paths under Cygwin.
Major changes between versions 4.3.5 and 4.3.6
----------------------------------------------
cd, chdir, pushd and popd now take a -q option to suppress side effects
including printing the directory stack (for pushd and popd) and executing
the chpwd hook functions (for all four).
The parameter subscript (e) flag now forces the argument to be treated
as a string where it would previously have been treated as a pattern,
for example ${array[(ie)*]} substitutes the index of the element whose
value is "*".
Major changes between versions 4.3.4 and 4.3.5
----------------------------------------------
- The new extended globbing flag (#cN,M) behaves similarly to the extended
regular expression syntax {N,M}.
- The zsh/datetime module has been enhanced and a calendar function
system has been added along the lines of (but much enhanced from)
the traditional Unix "calendar" utility. This is still under
development. See the zshcalsys manual. (The calendar functions
were in 4.3.4 but were not listed in this file. There have been
significant enhancements since 4.3.4.)
- A new module zsh/curses provides a builtin zcurses for access to
to the curses screen manipulation package. See the entry for zsh/curses
in the zshmodules manual.
- The module system has been enhanced to support the notion of "features"
that give more control over which builtins, parameters, conditions
and math functions are loaded from a module. In particular,
"zmodload -F zsh/stat b:zstat" makes the builtin previously called
"stat" available as "zstat" (only) to avoid clashes with a system
command named "stat".
>8-------->8-------->8-------->8-------->8-------->8-------->8--------
|
|
Bump PKGREVISION for zsh and zsh-current.
|
|
(CVE-2007-6209).
|
|
|
|
|
|
|
|
files. Pointed out by Hiratsuka-san.
|
|
Several fixes of multi-byte character support.
Patch from Chris Ross, thanks.
|
|
line is defined before bsd.prefs.mk is included.
|
|
|
|
|
|
branch.
Major changes between versions 4.2 and 4.3
------------------------------------------
- There is support for multibyte character sets in the line editor,
though not the main shell. See Multibyte Character Support in INSTALL.
- The shell can now run an installation function for a new user
(one with no .zshrc, .zshenv, .zprofile or .zlogin file) without any
additional setting up by the administrator.
- The manual now has a Roadmap section (manual page zshroadmap) to
give new users an indication of the most interesting parts of the manual.
- New option PROMPT_SP, on by default, to work around the problem that the
line editor can overwrite output with no newline at the end.
- New option HIST_SAVE_BY_COPY (on by default): history is saved by
copying and renaming instead of directly overwriting.
- New redirection syntax e.g. {myfd}>file opens a new file descriptor
and stores the number in $myfd, so that >&$myfd will work. Chosen not to
break existing code (and to be compatible with proposals for the Korn
shell).
- Substitutions of the form ${var:-"$@"}, ${var:+"$@"} and similar where
word-splitting is applied to the text after the :- or :+ (in particular,
where the SH_WORD_SPLIT option is in effect for compatibility) now behave
as in other Bourne- and POSIX-compatible shells when in the appropriate
emulation mode.
- New Posix-style zsh-specific tests [[:IDENT:]], [[:IFS:]],
[[:IFSSPACE:]], [[:WORD:]] test if character can appear in identifier, is
an IFS character, is an IFS whitespace character, or is considered as part
of a word (is alphanumeric or appears in $WORDCHARS). Note the pattern
code doesn't yet handle multibyte characters.
- The idiom =(<<<...) is optimised so that the shell internally turns
the ... into the contents of a file whose name is then substituted.
- Supplied functions catch and throw provide limited support for
exception handling using the `{ ... } always { ... }' syntax.
- Signals now accept the SIG as part of the name for compatibility with
other shells.
- Editor function argument-base allows non-decimal arguments for
editor widgets.
- As always, there are many enhancements to completion functions.
|
|
to catch up with the development releases any more.
|
|
|
|
Use INSTALL_TARGET to install info files: this gives a proper
environment for USE_NEW_TEXINFO framework to work.
Fix makeinfo invocation for zsh-current via patch file so that
only _one_ info file is generated as PLIST seems to want it.
|
|
|
|
|
|
|
|
|
|
This is a development version of Zsh having more features than 4.0.x releases.
New features between zsh versions 4.0 and 4.1.1
-----------------------------------------------
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
Add-on modules and functions:
- 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.
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
Local internal improvements:
- disowned jobs are automatically restarted
- \u and \U print escapes for Unicode
- 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 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
- many bugfixes
|
|
|
|
by Masao Uebayashi.
|
|
Zsh is a UNIX command interpreter (shell) which of the standard shells
most resembles the Korn shell (ksh), although it is not completely
compatible. It includes enhancements of many types, notably in the
command-line editor, options for customising its behaviour, filename
globbing, features to make C-shell (csh) users feel more at home and
extra features drawn from tcsh (another `custom' shell).
Package provided in private mail by Masao Uebayashi <uebayasi@soum.co.jp>
as a followup to pkg/12721.
|