about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2005-01-30 00:05:52 +0000
committerBart Schaefer <barts@users.sourceforge.net>2005-01-30 00:05:52 +0000
commit912826aeb6986cfb9d82291f749a7b226fccfee8 (patch)
tree7d6e3b465b8e48d9f46ccc8fdcf8781b54bd4742
parentafe0e139c8fb5acdbd1d744b9be3d7830302c144 (diff)
downloadzsh-912826aeb6986cfb9d82291f749a7b226fccfee8.tar.gz
zsh-912826aeb6986cfb9d82291f749a7b226fccfee8.tar.xz
zsh-912826aeb6986cfb9d82291f749a7b226fccfee8.zip
Patches from zsh-4.2.3-dev-1 that affect compilation or C code, excluding
any of those that introduce UTF-8 support.
-rw-r--r--ChangeLog9506
-rw-r--r--Doc/Zsh/builtins.yo888
-rw-r--r--Src/Builtins/rlimits.awk18
-rw-r--r--Src/Builtins/rlimits.c698
-rw-r--r--Src/cond.c216
-rw-r--r--configure.ac2507
6 files changed, 4604 insertions, 9229 deletions
diff --git a/ChangeLog b/ChangeLog
index 2a1d31f7f..58ced70ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9114 +1,1250 @@
-2000-03-23  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2005-01-27  Peter Stephenson  <pws@csr.com>
 
-	* Tanaka Akira: 10234, 10236: Completion/X/_xwit: _message passing.
+	* users/8433: configure.ac: Latest Cygwin hangs on FIFO test,
+	so tell it explicitly that FIFOs don't work.
 
-	* Tanaka Akira; 10232: Test/comptest, Test/ztst.zsh, ChangeLog(!):
-	minor test fixes and typo.
+2005-01-24  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 10226: Completion/Core/_path_files: quoting problem.
+	* users/8422: Src/cond.c: [[ ... -nt ... ]] and [[ ... -ot ... ]]
+	with non-existent files (or any failed state) were recorded
+	as errors, causing initialisation scripts, functions, etc., etc.
+	to exit.
 
-	* Sven: 10225: Completion/Core/_path_files: dot problems with
-	files.
+2005-01-19  Peter Stephenson  <pws@csr.com>
 
-	* Tanaka Akira: 10223: Completion/Base/_regex_arguments,
-	Completion/X/_x_colormapid, Completion/X/_xwit:
-	new X completions.
+	* 20728 (with typo fixed): configure.ac, Doc/Zsh/builtins.yo,
+	Src/Builtins/rlimits.awk, Src/Builtins/rlimits.c: Handle
+	RLIMIT_MSGQUEUE (-q), RLIMIT_SIGPENDING (-i), also use
+	-x for RLIMIT_LOCKS in ulimit.
 
-	* Bart: 10218: Src/prompt.c: possible realloc() in
-	putpromptchar().
+2005-01-13  Peter Stephenson  <pws@csr.com>
 
-2000-03-22  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+	* unposted: README, Config/version.mk, Etc/FAQ.yo:
+	release 4.2.3.
 
-	* Sven: 10215: Completion/User/_nedit: and this one.
+	* 20698: Test/ztst.zsh: improve 20692 by using tail function
+	to overcome POSIX problems.
 
-	* Sven: 10214: Completion/Builtins/_cd,
-	Completion/Builtins/_zstyle, Completion/User/_pbm,
-	Completion/User/_pspdf, Completion/User/_tiff,
-	Completion/User/_zdump: some _path_files calls now need loop for
-	tags.
+2005-01-12  Oliver Kiddle  <opk@zsh.org>
 
-	* Sven: 10210: Completion/Commands/_next_tags,
-	Completion/Core/_main_complete, Completion/Core/compinit,
-	Doc/Zsh/compsys.yo: _next_tags doesn't need to be in completer
-	list any more; $compprefuncs array does pre-completion functions.
-	
-	* Sven: 10209: Completion/Core/_loop, Completion/Core/_try:
-	missing functions form 10195.
-
-	* 10204: Completion/Base/_arguments, Completion/Base/_values,
-	Completion/Core/_alternative, Completion/Core/_tags,
-	Completion/Core/_wanted, Src/Zle/computil.c: additions to 10195.
-
-	* Sven: 10195: Completion/Base/_arguments,
-	Completion/Base/_brace_parameter, Completion/Base/_condition,
-	Completion/Base/_default, Completion/Base/_describe,
-	Completion/Base/_first, Completion/Base/_jobs,
-	Completion/Base/_math, Completion/Base/_parameter,
-	Completion/Base/_subscript, Completion/Base/_tilde,
-	Completion/Base/_values, Completion/Builtins/_arrays,
-	Completion/Builtins/_autoload, Completion/Builtins/_bindkey,
-	Completion/Builtins/_builtin, Completion/Builtins/_cd,
-	Completion/Builtins/_command, Completion/Builtins/_compdef,
-	Completion/Builtins/_echotc, Completion/Builtins/_functions,
-	Completion/Builtins/_hash, Completion/Builtins/_limits,
-	Completion/Builtins/_pids, Completion/Builtins/_popd,
-	Completion/Builtins/_sched, Completion/Builtins/_signals,
-	Completion/Builtins/_stat, Completion/Builtins/_vars,
-	Completion/Builtins/_zftp, Completion/Builtins/_zle,
-	Completion/Builtins/_zmodload, Completion/Builtins/_zpty,
-	Completion/Builtins/_zstyle, Completion/Commands/_next_tags,
-	Completion/Core/_alternative, Completion/Core/_files,
-	Completion/Core/_main_complete, Completion/Core/_multi_parts,
-	Completion/Core/_options, Completion/Core/_parameters,
-	Completion/Core/_path_files, Completion/Core/_requested,
-	Completion/Core/_sep_parts, Completion/Core/_set_options,
-	Completion/Core/_setup, Completion/Core/_tags,
-	Completion/Core/_unset_options, Completion/Core/_wanted,
-	Completion/Debian/_apt, Completion/Debian/_deb_packages,
-	Completion/Linux/_rpm, Completion/User/_archie,
-	Completion/User/_cvs, Completion/User/_dd,
-	Completion/User/_domains, Completion/User/_gcc,
-	Completion/User/_gdb, Completion/User/_getconf,
-	Completion/User/_gprof, Completion/User/_groups,
-	Completion/User/_gs, Completion/User/_hosts, Completion/User/_lp,
-	Completion/User/_mailboxes, Completion/User/_make,
-	Completion/User/_man, Completion/User/_mh, Completion/User/_mount,
-	Completion/User/_mutt, Completion/User/_mysql_utils,
-	Completion/User/_netscape, Completion/User/_nslookup,
-	Completion/User/_pbm, Completion/User/_perl_basepods,
-	Completion/User/_perl_builtin_funcs,
-	Completion/User/_perl_modules, Completion/User/_ports,
-	Completion/User/_rcs, Completion/User/_rlogin,
-	Completion/User/_socket, Completion/User/_ssh,
-	Completion/User/_stty, Completion/User/_tar,
-	Completion/User/_telnet, Completion/User/_tiff,
-	Completion/User/_urls, Completion/User/_user_at_host,
-	Completion/User/_users, Completion/User/_users_on,
-	Completion/User/_whois, Completion/User/_yp,
-	Completion/X/_x_color, Completion/X/_x_cursor,
-	Completion/X/_x_display, Completion/X/_x_extension,
-	Completion/X/_x_font, Completion/X/_x_keysym,
-	Completion/X/_x_modifier, Completion/X/_x_window,
-	Completion/X/_xmodmap, Completion/X/_xutils, Doc/Zsh/compsys.yo,
-	Doc/Zsh/mod_zutil.yo, Etc/completion-style-guide,
-	Functions/Zftp/zfcd_match, Functions/Zftp/zfget_match,
-	Src/Modules/zutil.c, Src/Zle/computil.c: implement tag aliases,
-	which allows neat tricks with styles.
-
-	* Sven: 10197: Src/exec.c, Src/init.c: %_ sometimes got cmdstack
-	wrong in source(); $(...) didn't show up at all.
-
-	* Bart: 10193: Src/prompt.c: prompttrunc() didn't track realloc()'s.
-
-	* Bart: 10181: Functions/Prompts/prompt_bart_setup: Bart's Theme
-	and Variations.
-
-	* Sven: 10178: Completion/Commands/_next_tags, Doc/Zsh/compsys.yo:
-	don't bind _next_tags by default and add some more docs.
-
-	* Sven: 10176: Src/Zle/compresult.c, Src/init.c, Src/parse.c:
-	optimize list-packed.
-
-	* Sven: 10174: Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo: tweaks on
-	completer and -V.
-
-	* Bart: 10173: Functions/Prompts/prompt_bart_setup,
-	Functions/Prompts/promptinit: Bart's Theme.
-
-	* Sven: 10172: Completion/Core/_main_complete: typo.
-
-	* Bart: 10168: Src/init.c: move hbegin() to get it right in
-	precmd.
-
-	* Oliver: 10166: Completion/X/_xt_arguments,
-	Completion/User/_nedit: new and improved.
-
-	* Bart: 10165: Doc/Zsh/builtins.yo, Doc/Zsh/compsys.yo: move doc
-	for using a completer twice; zcompile doc tweak.
-
-	* Oliver: 10162: Completion/Core/_expand: use nullglob option
-	instead of (N) so that user's qualifiers work.
-
-	* Sven: 10159: Src/Zle/compresult.c: wrong calculation of display
-	length when not using zsh/complist.
-
-	* Sven: 10156: Src/exec.c: possible invalid field in function
-	definition when loading.
-
-	* Zefram: 10152: Src/mem.c: fix ordering ambiguity ANSI wouldn't
-	have liked.
-
-	* Bart: 10150: Src/exec.c, Test/51xtrace.ztst: `one last' xtrace
-	redirection fix.
-
-	* Sven: 10149: Doc/Zsh/builtins.yo, Src/builtin.c, Src/exec.c,
-	Src/parse.c: allows native and ksh-like wordcode function styles.
-
-	* Sven: 10148: Src/Zle/comp.h, Src/Zle/compcore.c, Src/mem.c:
-	optimization for added matches where things didn't change.
-
-	* Sven: 10146: Completion/Core/_sort_tags, Completion/Core/_tags,
-	Doc/Zsh/compsys.yo: return value of function called by _tags used
-	to decide dispositions.
-
-	* Sven: 10145: Doc/Zsh/mod_zle.yo: confess to users that zle input
-	is on a stack.
-
-	* Sven: 10144: Doc/Zsh/builtins.yo, Src/Modules/parameter.c,
-	Src/builtin.c, Src/exec.c, Src/linklist.c, Src/parse.c: dump
-	functions from current shell.
-
-	* Sven: 10143: Src/init.c, Src/math.c: better ignoring of bits
-	that shouldn't get evaluated in math expressions.
-
-	* Sven: 10135: Doc/Zsh/compsys.yo, Src/Zle/computil.c: complex
-	argument handling expressions.
-
-	* Sven: 10131: Src/Modules/stat.c, Src/Modules/zpty.c,
-	Src/Modules/zutil.c, Src/Zle/compctl.c, Src/Zle/complete.c,
-	Src/Zle/computil.c, Src/Zle/zle_main.c, Src/Zle/zle_thingy.c,
-	Src/parse.c: more consistent zerrnam/zwarnnam usage.
-
-	* Sven: 10129: Doc/Zsh/builtins.yo, Src/builtin.c, Src/parse.c:
-	autoload -w can mark all functions in .zwc files for autoloading.
-
-	* Sven: 10128: Doc/Zsh/zle.yo, Src/Zle/zle_main.c, Src/init.c,
-	Src/signals.c, Src/zsh.h: zle parameters available readonly in
-	traps.
-
-	* Sven: 10127: Doc/Zsh/zle.yo, Src/Zle/compresult.c,
-	Src/Zle/iwidgets.list, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	Src/Zle/zle_refresh.c, Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c:
-	end-of-list widget to display prompt under command line, plus
-	$MARK documentation.
-
-	* Sven: 10126: Src/Zle/compcore.c: quotes in $PREFIX and $SUFFIX.
-
-	* Sven: 10125: Src/math.c, Src/params.c: restore old cruddy
-	behaviour removed in 10104, but using recursion counter.
-
-	* Sven: 10120: Src/exec.c, Src/loop.c, Src/parse.c: state not
-	tested properly in some constructs.
-
-	* Sven: 10117: Doc/Zsh/mod_zle.yo, Src/Zle/zle_params.c,
-	Src/Zle/zle_thingy.c: zle on its own returns zle status;
-	MARK parameter; disallow widgets in traps.
-
-	* Oliver: 10116: Completion/Builtins/_source: wasn't looking
-	through the path.
-
-	* Sven: 10112: Completion/Base/_condition, Src/Zle/zle_tricky.c:
-	fix up altmodische _condition; `[[ ... && ' thought it was in
-	command position for completion.
-
-	* Sven: 10108: Completion/Commands/.distfiles,
-	Completion/Commands/_next_tags, Completion/Core/_files,
-	Completion/Core/_main_complete, Completion/Core/_requested,
-	Completion/Core/_wanted, Doc/Zsh/compsys.yo,
-	Functions/Misc/.distfiles: _next_tags allows you to cycle through
-	sets of completions according to the tags.
-
-	* Sven: 10107: Doc/Zsh/compwid.yo, Src/Zle/complete.c,
-	Src/Zle/compmatch.c: ** in match spec allows matching including
-	the anchor as well.
-
-	* Sven: 10106: Functions/Misc/zrecompile, Src/exec.c, Src/parse.c,
-	Src/zsh.h: recompilation of wordcode files and related bugs.
-
-	* Sven: 10105: Src/lex.c: single exclamation marks in conditions.
-
-	* Sven: 10104: Src/math.c, Src/params.c: retrieve parameters in
-	math evaluations more directly rather than recursively calling
-	matheval(), which was kind of stupid, so stupid I could	quite
-	possible have put it in myself, but I don't think I did this time.
-
-	* Sven: 10103: Src/glob.c: bad handling of ./ and ../ in
-	closures.
-
-	* Bart: 10098: configure.in, Src/cond.c: check for AIX's
-	faccessx() and neaten configure library function tests.
-
-	* Oliver: 10088: Completion/User/_groups,
-	Completion/Base/_condition: better handling of files after
-	conditions, checking of use of NIS.
-
-	* Adam: 10087: Completion/User/_perl_modules,
-	Completion/User/_perl: new and enhanced perl completions.
-
-	* Oliver: 10073: Src/cond.c: /dev/fd emulation for access tests.
-
-	* Adam: 10072: Completion/User/_mysql_utils: new completion
-	function for something with suspcicious `SQL' bit in its name.
-
-	* Bart: 10071: Src/exec.c: xtrace output redirection problem.
-
-	* Sven: 10059: Src/builtin.c, Src/lex.c, Src/parse.c, Src/text.c,
-	Src/zsh.h: bugs found by ksh tests: typeset -Ai didn't create
-	assocs (still doesn't create ints), some heredoc difficulties, |&
-	difficulties.
-
-	* Alexandre: 10058: Completion/User/_prcs, Completion/User/_diff,
-	Completion/User/_diff_options: another solution for the GNU diff
-	completion problem.
-
-	* Bart: 10056: Etc/MACHINES: RLIM_INFINITY incompatibility with
-	some Linux/GNU libraries.
-
-	* Sven: 10044: Completion/User/_diff, Completion/User/_use_lo:
-	gdiff should use diff completion, pretty obviously.
-
-	* Sven: 10041: Doc/Zsh/builtins.yo, Doc/Zsh/files.yo,
-	Doc/Zsh/func.yo, Src/init.c, Src/parse.c: enhancements for digest
-	files including digests of sourced files.  Or maybe digestion of
-	sauce.
-
-	* Sven: 10040: Completion/User/_diff_options: can test for GNU
-	diff.
-
-	* Oliver: 10029: Src/utils.c: bad handling of '^^' in keystring
-	parsing.
-
-	* Andrej: 10028: Completion/Builtins/_cd: remove local directory
-	from cdpath.
-
-	* Sven: 10025: Functions/Misc/nslookup, Src/Modules/zpty.c:
-	optimizations for pty reads.
-
-	* Sven: 10017: Doc/Zsh/builtins.yo, Src/lex.c, Src/parse.c:
-	fix buffer problem for autoloading and unportable macro.
+	* 20701: Src/system.h: fix compilation on Mac OS X
 
-	* Oliver: 10013: Completion/Builtins/_compdef,
-	Completion/Builtins/_zpty, Completion/User/_getconf: two new
-	functions and one updated.
+2005-01-12  Peter Stephenson  <pws@csr.com>
 
-	* Andrej: 10011: Completion/User/_sudo: options for recent sudo.
+	* users/8359: Src/Zle/complete.mdd: add in Completion/Darwin
+	directories to default installation.
 
-	* Bart: 10009: Completion/Base/_subscript: didn't get arrays the
-	right length.
+	* users/8354: Doc/Zsh/options.yo: with glob_complete, completing
+	a word with a pattern does not use matching control.
 
-	* Bart: 10006: configure.in, Src/utils.c: use mktemp() if
-	available.
+	* unposted: Config/version.mk, README, Etc/FAQ.yo: release
+	zsh version 4.2.2.
 
-	* Bart: 9992: Functions/Zle/predict-on: tweaks.
+	* 20695: Src/module.c, Src/zsh.h, Src/Modules/parameter.c,
+	Src/Zle/zleparameter.c: Cygwin barfs on an attempt to
+	use a pointer to an imported variable in a compile-time
+	initialiser.
 
-	* Bart: 9990: Test/07cond.ztst: compatibility fix for chmod g+s.
+	* unposted: Fix .distfiles and .cvsignore for distribution.
 
-	* Bart: 9982: Test/53completion.ztst, Test/Makefile.in,
-	Test/comptest, Test/ztst.zsh: better handling of uninstalled
-	modules.
+	* unposted: Completion/Unix/Command/_perforce: minor comment
+	change.
 
-	* Andrej: 9981: Src/Modules/zpty.c: SYSV-related pty stuff.
+	* 20692: Test/ztst.zsh: having POSIXLY_CORRECT set makes
+	GNU tail report warning with -<NUM>.
 
-	* Bart: 9980: Src/Makefile.in: separate mymods.conf and xmods.conf
-	dependencies.
+2005-01-11  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9966: Doc/Zsh/builtins.yo, Doc/Zsh/func.yo, Src/parse.c:
-	require .zwc ending for digest files.
+	* unposted: config.guess, config.sub: update to 2004-11-12 and
+	2004-11-30, respectively.
 
-	* Bart: 9963: Test/11glob.ztst: existing globbing tests run under
-	new test harness.
+	* 20689: Etc/FAQ.yo: fix missing-word typo.
 
-	* Bart: 9961: INSTALL, Src/Makefile.in, Test/53completion.ztst,
-	Test/comptest: errors trying to load zpty for static shell in
-	tests; INSTALL didn't describe mymods.conf properly.
+	* 20657: Src/Zle/zle_tricky.c: sort completions partially based on
+	LC_COLLATE setting.
 
-	* Tanaka Akira: 9960: Test/comptest, Test/53completion.ztst: avoid
-	zpty timing problem.
+	* unposted: Completion/X/Command/_gnome-gv: move gnome-gv
+	completion from C/U/C to C/X/C.
 
-	* Sven: 9958: Src/parse.c: sharing strings made test fail with
-	new wordcode.
+2005-01-11  Peter Stephenson  <pws@csr.com>
 
-	* Tanaka Akira: 9957: Test/comptest: clear to end.
+	* 20688: Etc/FAQ.yo: add notes on Unicode/UTF-8 adapted from
+	Clint.
 
-	* Sven: 9953: Src/Zle/complist.c: was incorrectly omitting some
-	display sequences.
+	* 20687: NEWS: news for 4.2.2.
 
-	* Tanaka Akira: 9952: Test/comptest: compatibility, quoting and
-	debugging fixes.
+2005-01-11  Bart Schaefer  <schaefer@zsh.org>
 
-	* Sven: 9951: Completion/Core/_multi_parts: was producing
-	mysterious blank entries.
+	* 20666 (tweaked): Src/exec.c: In closemn(), discard the multio
+	structure when it has only one descriptor so far, to avoid
+	creating an unnecessary multio if a later redirect re-opens that
+	descriptor.
 
-	* Sven: 9948: Src/exec.c, Src/parse.c: stripkshdef() was broken.
+2005-01-10  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9947: Completion/Core/compdump, Completion/Core/compinit,
-	Doc/Zsh/builtins.yo, Doc/Zsh/func.yo, Src/builtin.c, Src/cond.c,
-	Src/exec.c, Src/glob.c, Src/lex.c, Src/loop.c, Src/math.c,
-	Src/mem.c, Src/parse.c, Src/text.c, Src/utils.c, Src/zsh.h:
-	Wordcode compilation for functions using .zwc or `digest
-	functions' in $fpath.
+	* 20665: Completion/Unix/Command/_gnome-gv,
+	Completion/Unix/Type/_pspdf: improve completion for
+	ggv/gnome-gv.
 
-	* Bart: 9946: Src/subst.c: return type in 9937.
+2005-01-10  Peter Stephenson  <pws@csr.com>
 
-	* Bart: 9945: Src/prompt.c: truncation messed up non-literal
-	parts of the prompt.
+	* 20661: Doc/Zsh/expn.yo, Src/glob.c: allow (+func) as shorthand
+	for (e:func:) in glob qualifier.
 
-	* Bart: 9942: Src/prompt.c: truncation in true part of ternary
-	expression incorrectly showed false part and closing parenthesis.
+2005-01-10  Oliver Kiddle  <opk@zsh.org>
 
-	* Sven: 9937: Src/subst.c: parsing problem with parameter
-	substitution which showed up in file completion.
+	* 20662: Completion/X/Command/_nedit: update for nedit 5.5
 
-	* Sven: 9938: Src/Modules/parameter.c: problem assigning to
-	dirstack.
+2005-01-09  Clint Adams  <clint@zsh.org>
 
-	* Tanaka Akira: 9936: Src/Zle/complist.c, Test/comptest,
-	Test/53completion.ztst: tests for completion using zpty.
+	* 20655: Completion/Debian/Type/_deb_packages:
+	_deb_packages fix from Karl Chen.
 
-	* Tanaka Akira: 9935: Test/52zregexparse.ztst: tests for
-	zregexparse.
+	* 20654: Completion/Debian/Command/_dpkg,
+	Completion/Debian/Command/_wajig,
+	Completion/Debian/Type/_deb_packages: completion for wajig, and
+	dpkg/deb_packages improvements from Karl Chen.
 
-2000-03-21  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2005-01-07  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9920: Completion/Core/.distfiles, Completion/Core/_call:
-	the function needed for 9897.
+	* 20650: Completion/Unix/Command/_mencal:
+	completion for mencal.
 
-	* Bart: 9912: Completion/User/_mailboxes: further improvements.
+	* 20649: Completion/Unix/Command/_cal:
+	completion for cal and ncal.
 
-	* Sven: 9904: Src/utils.c: getquery() and rmstarsilent.
+2005-01-05  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9902: Completion/Core/_path_files: _files -g problem.
+	* unposted: Completion/Unix/Command/_perforce: limit many
+	uses of pending changes to pending changes on the current client.
 
-	* Sven: 9900, 9903: Src/exec.c: parsing oddity in here documents.
+	* 20632: propagating signals incorrectly to current process
+	group could kill shell.
 
-	* 9897: Completion/Base/_arguments, Completion/Builtins/_pids,
-	Completion/Linux/_rpm, Completion/User/_a2ps,
-	Completion/User/_archie, Completion/User/_diff_options,
-	Completion/User/_finger, Completion/User/_groups,
-	Completion/User/_gs, Completion/User/_killall,
-	Completion/User/_lp, Completion/User/_telnet,
-	Completion/User/_users_on, Completion/User/_yp,
-	Completion/X/_x_font, Completion/X/_x_window, Doc/Zsh/compsys.yo:
-	use _call function and `command' style to override command
-	used in various completions.
+2004-12-27  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9895: Completion/Base/_combination,
-	Completion/Builtins/_zstyle, Completion/User/_telnet,
-	Doc/Zsh/compsys.yo: usage of combination styles.
+	* 20639: Completion/Unix/Command/_bogofilter:
+	improve 'bogoutil' completion for 0.93.3.1.
 
-	* Sven: 9893: Completion/Core/_multi_parts: return values.
+2004-12-25  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9892: Completion/Core/_main_complete,
-	Completion/Core/_path_files, Completion/Core/compdump,
-	Completion/Core/compinit: improved fix for 9886; typo in
-	_main_complete; compdump uses (q) flag; remove compstyle; update
-	compconf.
+	* 20637: Completion/Debian/Command/_lintian: add
+	completion for 'lintian', a Debian package checker.
 
-	* Bart: 9891: Completion/User/_cvs: kshautoload problem.
+	* 20636: Completion/Unix/Command/_bogofilter: add
+	completion for 'bogofilter' and 'bogotune' commands.
 
-	* Bart: 9889: acconfig.h, configure.in, Src/exec.c,
-	Src/prototypes.h: from 3.0.8: detect mknod(), minor redirection
-	tweaks.
+2004-12-24  Clint Adams  <clint@zsh.org>
 
-	* Bart: 9886: Completion/Core/_path_files: matcher problem.
+	* 20635: Completion/Unix/Command/_bogofilter: update
+	bogoutil completion for 0.93.3.
 
-	* Tanaka Akira: 9885: Completion/User/_dvi, Completion/User/_lynx,
-	Completion/X/_xutils: extra arguments for completion functions.
+	* 20634: Completion/Unix/Command/_postfix: completion
+	for postsuper.
 
-	* Alexandre: 9882: Completion/User/_prcs: error messages.
+2004-12-15  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9880: Completion/Core/_path_files: error message with
-	~unknown.
+	* 20626: Completion/Unix/Command/_baz: completion
+	derived from _tla by Matt Zimmerman.
 
-	* Sven: 9879: Completion/User/_tilde_files: use of magicequalsubst
-	with completion.
+	* 20627: Completion/Unix/Command/_bogofilter:
+	updated completion for newer bogoutil.
 
-	* Sven: 9877: Src/parse.c: wordcode bug in functions with failed
-	builtins.
+2004-12-10  Andrey Borzenkov  <bor@zsh.org>
 
-	* Sven: 9876: Completion/Base/_combination,
-	Completion/User/_rlogin, Completion/User/_ssh,
-	Completion/User/_user_at_host, Doc/Zsh/compsys.yo: more flexible
-	handling of separators in combinations.
+	* 20617: Completion/Linux/Command/_modutils: fix
+	completion of compressed modules on kernel 2.6; add
+	trivial insmod completion.
 
-	* Sven: 9870: Completion/Core/_path_files,
-	Completion/User/.distfiles, Completion/User/_dd,
-	Completion/User/_tilde_files, Src/Zle/compresult.c: better
-	handling of paths beginning ~ in various places.
+2004-12-09  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9865: Completion/Builtins/_zstyle,
-	Completion/Core/_main_complete, Completion/Core/_setup,
-	Doc/Zsh/compsys.yo, Src/Zle/compcore.c, Src/Zle/compresult.c:
-	implement prefer-ignored style to prefer alternative matches
-	to going on to another completer.
+	* 20613, 20614: Functions/Zle/match-words-by-style: fix
+	inconsistencies with embedded whitespace when matching by shell
+	words.
 
-	* Sven: 9863: Src/parse.c, Src/text.c: wordcode problems, using
-	old code.
+	* 20612: Doc/Zsh/contrib.yo, Functions/Zle/match-words-by-style:
+	options to match-words-by-style can override styles.
 
-	* Sven: 9861: Completion/Core/_main_complete: interaction of
-	_main_complete and _oldlist.
+2004-12-07  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9860: Src/Zle/compctl.c: storing of match and display list.
-
-	* Sven: 9855: Completion/Core/_multi_parts, Doc/Zsh/compsys.yo:
-	_multi_parts accepts -f.
-
-2000-02-23  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Sven: 9845: Functions/Zle/incremental-complete-word: another
-	context change.
-
-	* Sven: 9844: Functions/Zle/predict-on: rationalize 9837.
-
-	* Sven: 9840: config.sub: test for alphaev6 systems.
-
-	* Sven: 9839: Src/Builtins/sched.c, Src/Modules/example.c,
+	* 20605: Doc/Zsh/builtins.yo, Src/builtin.c, Src/exec.c,
+	Src/module.c, Src/params.c, Src/subst.c, Src/zsh.h,
+	Src/Modules/datetime.c, Src/Modules/langinfo.c,
 	Src/Modules/mapfile.c, Src/Modules/parameter.c,
-	Src/Modules/zftp.c, Src/Modules/zprof.c, Src/Modules/zpty.c,
-	Src/Modules/zutil.c, Src/Zle/compcore.c, Src/Zle/compctl.c,
-	Src/Zle/complete.c, Src/Zle/complist.c, Src/Zle/compresult.c,
-	Src/Zle/computil.c, Src/Zle/zle_hist.c, Src/Zle/zle_main.c,
-	Src/Zle/zle_misc.c, Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c,
-	Src/Zle/zleparameter.c, Src/builtin.c, Src/cond.c, Src/exec.c,
-	Src/glob.c, Src/hist.c, Src/init.c, Src/jobs.c, Src/lex.c,
-	Src/linklist.c, Src/loop.c, Src/main.c, Src/math.c, Src/mem.c,
-	Src/module.c, Src/params.c, Src/parse.c, Src/pattern.c,
-	Src/prompt.c, Src/signals.c, Src/subst.c, Src/utils.c, Src/zsh.h:
-	Eliminate `useheap' variable and consequent HEAPALLOC/PERMALLOC
-	usage throughout the shell (hooray!)  All memory allocation is
-	either explicitly on the heap or permanent.
-
-	* Sven: 9838: Src/Modules/parameter.c, Src/Zle/computil.c,
-	Src/Zle/zle_main.c, Src/builtin.c, Src/cond.c, Src/exec.c,
-	Src/glob.c, Src/hashtable.c, Src/init.c, Src/jobs.c, Src/lex.c,
-	Src/linklist.c, Src/loop.c, Src/params.c, Src/parse.c,
-	Src/signals.c, Src/signals.h, Src/subst.c, Src/text.c,
-	Src/version.h, Src/zsh.h: parser now emits wordcode directly; a
-	whole heap of optimisations of the execution tree.
-
-	* Sven: 9837: Completion/User/_gunzip, Functions/Zle/predict-on:
-	no. of colons in predict-on, typo in _gunzip.
-
-	* Sven: 9835: Completion/Builtins/_zstyle,
-	Completion/Core/_main_complete, Doc/Zsh/compsys.yo: document
-	single-ignored style, better handling of descriptions with
-	warnings about no matches.
-
-	* Bart: 2930: Completion/User/_ssh: basic completion for remote
-	files.
-
-2000-02-22  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Sven: 9831: Completion/Core/_multi_parts: better separator
-	removal.
-
-	* Sven: 9830: Completion/X/_x_arguments: reverse 9824, but use
-	_default instead of _files if no special arguments.
-
-	* Bart: 9828: Completion/User/_mailboxes: $i -> "$i" missed out.
-
-2000-02-21  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Clint: 9824: Completion/X/_x_arguments: `*/X11/*' was too broad
-	a definition for X commands taking standard arguments to be
-	useful.
-
-	* Clint: 9823: configure.in: open fifo read/write in test to avoid
-	possible (unconfirmed) hang.
-
-	* Bart: 9822: Completion/User/_mailboxes: add completions for mush
-	and tkrat; allow pine to complete mh folders.
-
-	* Sven: 9816: Completion/Core/_multi_parts,
-	Completion/User/_mailboxes: improved version of 9812/9815.
-
-	* Bart: 9812, 9815: Completion/User/_mailboxes,
-	Completion/User/_mutt: improved mailbox completion for all sorts
-	of types, currently only used for mutt.
-
-	* Sven: 9810: Completion/Core/_multi_parts: difficulties with
-	separator as initial character.
-
-	* Sven: 9809: Completion/Builtins/_popd,
-	Completion/Core/_approximate, Doc/Zsh/compsys.yo: documentation
-	improvements and typo fixes.
-
-	* Tanaka Akira/Sven: 9807: Completion/Core/_main_complete:
-	single-ignored style, as yet undocumented, for handling of
-	alternate match set.
-
-	* Sven: 9806: Completion/Core/_multi_parts: problems with literal
-	(parenthesised) arrays.
-
-	* Sven: 9805: Completion/Core/_path_files: difficulties with
-	suffixes when expanding paths.
-
-	* Sven: 9802: Src/utils.c: no need to quote !'s in ${(qq)...}
-	because they're not active in single quotes.
-
-	* Bart: 9799: Src/utils.c: better interpretation of typeahead when
-	querying user e.g. for spell checking.
-
-	* Adam: 9798: Doc/Makefile.in: use `texi' and `html' for targets
-	to avoid duplicated name complaint by gmake.
-
-2000-02-20  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Config/version.mk: 3.1.6-dev-19.
-
-	* Bart: 9794: Src/exec.c, Test/.distfiles, Test/51xtrace.ztst:
-	pick up some problems with 9792.
-
-2000-02-19  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Bart: 9792: Src/builtin.c, Src/cond.c, Src/exec.c, Src/init.c,
-	Src/loop.c, Src/utils.c: `xtrerr' replaces stderr for output from
-	xtrace, to avoid problems with redirection.
-
-	* Sven: 9791: Completion/X/_x_arguments: complete filenames by
-	default.
-
-	* Sven: 9790: Completion/Builtins/_zstyle,
-	Completion/Core/.distfiles, Completion/Core/_message,
-	Completion/X/_x_borderwidth, Completion/X/_x_geometry,
-	Completion/X/_x_locale, Completion/X/_x_name,
-	Completion/X/_x_resource, Completion/X/_x_selection_timeout,
-	Completion/X/_x_title, Doc/Zsh/compsys.yo: arguments problem with
-	_x_geometry; matcher-list completed in zstyle.
-
-	* Sven: 9787: Completion/Core/_expand, Src/utils.c: parameter
-	expansion problems expanding; problem quoting in backquoted
-	expressions.
-
-	* Chmouel: 9784: Completion/User/_tar,
-	Completion/User/_tar_archive: obsolete -y option for bzip2 filter.
-
-	* Chmouel: 9781: Completion/Linux/_rpm: add --freshen.
-
-2000-02-17  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Sven: 9777: Src/Zle/compctl.c, Src/Zle/zle_tricky.c, Src/exec.c,
-	Src/glob.c, Src/subst.c: yet more difficulties with completing
-	brace-expanded expressions.
-
-	* Sven: 9776: Completion/Core/_main_complete, Src/glob.c,
-	Src/params.c: substitution bugs: ${foo[1,1]...} was treated
-	incorrectly as a scalar rather than an array slice; extra
-	duplication required when performing replacement on parameter.
-
-	* Sven: 9775: Completion/Core/_path_files: extra array copy
-	required.
-
-	* Sven: 9774: Src/Zle/compresult.c: completion inserted some
-	incorrect strings.
-
-	* Sven: 9773: Completion/Core/_multi_parts,
-	Completion/User/_groups, Completion/User/_ports,
-	Completion/User/_users, Doc/Zsh/compsys.yo: remove some
-	unnecessary tags which are more logically expressed by an empty
-	tag field in the context.
-
-	* Sven: 9772: Completion/Core/_approximate,
-	Completion/Core/_description, Completion/Core/_expand,
-	Completion/Core/_list, Completion/Core/_main_complete,
-	Completion/Core/_match, Completion/Core/_menu,
-	Completion/Core/_oldlist, Completion/Core/_prefix,
-	Doc/Zsh/compsys.yo: matcher-list style replaces matcher;
-	_matcher completer is now defunct.
-
-	* Sven: 9770: Src/Zle/computil.c: bogus empty descriptions.
-
-	* Sven: 9768: Completion/Core/_path_files: completing empty
-	directories.
-
-2000-02-16  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Oliver: 9761: Completion/Core/_expand: auto-removable suffixes.
-
-	* Oliver: 9752: Completion/Core/_expand: subst-globs-only style
-	bails out if no globs expanded.
-
-	* Sven: 9765: Completion/Core/_sep_parts: problems with separators
-	with metacharacters.
-
-	* Sven: 9764: Completion/Core/_multi_parts,
-	Completion/Core/_path_files, Doc/Zsh/compsys.yo: problems with
-	_oldlist in _multi_parts; new -i option to complete _multi_parts
-	bits in one go if possible.
-
-	* Sven: 9763: Src/subst.c: addition to 9757.
-
-	* Oliver: 9761: Completion/Core/_expand: handle suffix.
-
-	* Sven: 9759: Completion/Base/_default, Doc/Zsh/compsys.yo,
-	Src/Zle/comp.h, Src/Zle/compcore.c, Src/Zle/compctl.c,
-	Src/Zle/complete.c: use-compctl style to use existing compctls;
-	on by default if zsh/compctl is loaded; extra hook needed to allow
-	compctl to clear up if invoked via new completion.
-
-	* Sven: 9757: Src/subst.c: quoting with ${(e)...}.
-
-2000-02-15  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9755: Completion/Core/_sep_parts: typo.
-
-	* Bart: 9750: Src/jobs.c, Src/signames2.awk,
-	Src/Modules/parameter.c: better handling for signals received by
-	shell which were not in the range found when configuring (e.g. if
-	OS was upgraded).
-
-	* Sven: 9749: Src/Zle/zle_tricky.c: completion in braces.
-
-	* Sven: 9746: Src/Zle/compctl.c: broken old-style completion.
-
-	* Sven: 9734: Doc/Zsh/compwid.yo: descriptions for matching.
-
-	* Sven: 9733: Completion/Core/_main_complete,
-	Completion/Core/_setup: can't set defaults ZLS_COLORS and
-	SELECTMIN inside completion functions, because they may already
-	have been set.
-
-	* Sven: 9732: Src/Zle/complist.c: bad test without
-	alwayslastprompt.
-
-	* Sven: 9731: Completion/Base/_arguments,
-	Completion/Base/_describe, Completion/Base/_jobs,
-	Completion/Base/_subscript, Completion/Base/_tilde,
-	Completion/Builtins/_pids, Completion/Builtins/_popd,
-	Completion/Builtins/_sched, Completion/Builtins/_signals,
-	Completion/Builtins/_stat, Completion/Core/_approximate,
-	Completion/Core/_files, Completion/Core/_main_complete,
-	Completion/Core/_normal, Completion/Core/_path_files,
-	Completion/Core/_setup, Completion/Core/_tags,
-	Completion/Core/compinit, Completion/Debian/_apt,
-	Completion/User/_lp, Completion/User/_socket, Doc/Zsh/compsys.yo,
-	Doc/Zsh/mod_zutil.yo, Src/Modules/zutil.c: Style defaults are now
-	hard-wired in, so all user styles take precedence without having
-	to delete existing patterns; _complete is now the default
-	completer in every context, including non-completion widgets.
-
-2000-02-14  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Sven: 9722: Completion/Commands/_expand_word,
-	Src/Zle/compcore.c, Src/Zle/complist.c: last_prompt, expansion
-	problems.
-
-	* Sven: 9713: Completion/Base/_arguments, Src/Zle/computil.c: two
-	more arguments problems.
-
-	* Sven: 9711: Completion/Commands/_complete_help: number of colons
-	in context brought up to date.
-
-	* Sven: 9710: Completion/Core/_files, Completion/Core/_path_files,
-	Src/Modules/zutil.c: a few random bugs: sorting of styles, bad
-	directory completion, globbing problems.
-
-	* Zefram: 9709: Src/mkmodindex.sh: should be global subst in 9701.
-
-	* Sven: 9705: Src/exec.c: comment esprefork, esglob.
-
-	* Sven: 9704: Completion/Core/_path_files: incorrect parameter
-	name.
-
-2000-02-13  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9701: INSTALL, configure.in, Config/defs.mk.in,
-	Src/Makefile.in, Src/mkmodindex.sh: allow --enable-omit-modules=foo,...
-	to omit a list of modules from compilation and installation.
-	
-	* Tanaka Akira: 9697: Completion/User/.distfiles,
-	Completion/User/_ps, Completion/User/_psutils: completion for all
-	psutils commands.
-
-	* Bart: 9694: Src/init.c: more portable attempt to force shell to
-	suspend if running interactively in background.
-
-	* Oliver: 9693: Src/params.c, Src/Zle/compcore.c,
-	Src/Zle/complete.c: AIX module exports.
-
-2000-02-11  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Bart: 9684: Completion/User/_mailboxes: sort of help find
-	mailboxes with + prefix.
-
-	* Bart: 2913: Completion/User/_mutt: don't set muttrc.
-
-	* pws: Config/version.mk: 3.1.6-dev-18
-
-	* Tanaka Akira: 9683: Completion/User/_diff_options: shut up error
-	messages (after other attempts from Oliver and Bart).
-
-	* Alexandre: 9681: Completion/User/_prcs: argument handling.
-
-	* Sven: 9680: Completion/Core/_files,
-	Completion/Core/_multi_parts, Completion/Core/_path_files,
-	Completion/Core/_sep_parts: use of -M option.
-
-	* Sven: 9677, 9679: Completion/Commands/_read_comp,
-	Completion/Core/_approximate, Completion/Core/_expand,
-	Completion/Core/_main_complete, Completion/Core/_match,
-	Doc/Zsh/compctl.yo, Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo,
-	Src/Zle/comp.h, Src/Zle/compcore.c, Src/Zle/compctl.c,
-	Src/Zle/complete.c: $compmatchers bites the dust, use new matcher
-	style.
-
-	* Sven: 9676: Src/Zle/computil.c: yet more argument subtleties.
-
-	* Tanaka Akira: 9674: Test/10prompt.ztst: some nameless idiot got
-	the bits of the date wrong.
-
-	* Sven: 9664: Completion/Core/_path_files: optimisation with
-	arrays.
-
-	* Sven: 9659: Doc/Zsh/compsys.yo: mention complete-in-words
-	behaviour.
-
-	* Sven: 9657: Completion/Core/_approximate,
-	Completion/Core/_description, Completion/Core/_main_complete,
-	Completion/Core/_matcher, Completion/Core/_path_files,
-	Completion/Core/_prefix, Doc/Zsh/compsys.yo, Src/Zle/complete.c
-	(plus Completion/Core/.distfiles change by hand): new _matcher
-	completer allows more control along the lines of $compmatchers.
-
-	* Johan: 9653: Functions/Misc/is-at-least,
-	Functions/Misc/.distfiles (added by hand): function to check
-	version numbers.
-
-	* Johan: 9651: Completion/User/_cvs: handle no CVS tags case better.
-
-	* Sven: 9650: Completion/User/_gunzip, Completion/User/_gzip:
-	handle .tgz files.
-
-	* Sven: 9648: Completion/Core/_files,
-	Completion/Core/_multi_parts, Completion/Core/_path_files,
-	Completion/Core/_sep_parts, Doc/Zsh/mod_zutil.yo,
-	Src/Modules/zutil.c: Bartised version of zparseopts;
-	fix _path_files -S ''.
-
-	* Bart: 9639: Doc/Zsh/options.yo, Doc/Zsh/redirect.yo: typos in
-	9625.
-
-	* Tanaka Akira: 9638: Completion/User/_cvs: _cvs_rtag had no
-	default implementation.
-
-	* Sven: 9635: Completion/Core/_description,
-	Completion/Core/_files, Completion/Core/_multi_parts,
-	Completion/Core/_path_files, Completion/Core/_sep_parts,
-	Doc/Zsh/mod_zutil.yo, Src/Modules/zutil.c, Src/Modules/zutil.mdd:
-	improved performance for completion functions; option-parsing
-	builtin.
-
-	* Akim Demaille <akim@epita.fr>: 9634: Src/builtin.c: trap '' 1
-	segfaulted.
-
-	* Sven: 9633: Src/init.c: change logic in 9591.
-
-	* Sven: 9632: Test/05command.ztst: error spotted by improved
-	autoload error checking.
-
-	* Alexandre: 9625: Src/zsh.h, Src/options.c, Src/init.c,
-	Src/exec.c, Doc/Zsh/redirect.yo, Doc/Zsh/options.yo: SHNULLCMD and
-	CSHNULLCMD options to allow better sh/csh emulation without
-	fiddling with parameters.
-
-	* Sven: 9623: Completion/Core/_path_files: another version of
-	9616.
+	Src/Modules/system.c, Src/Modules/termcap.c,
+	Src/Modules/terminfo.c, Src/Modules/zftp.c, Src/Zle/compctl.c,
+	Src/Zle/complete.c, Src/Zle/computil.c, Src/Zle/zle_params.c,
+	Src/Zle/zleparameter.c, Test/B02typeset.ztst: Use separate
+	structures for get, set and unset methods of parameters.
+	Separate width and base/precision for parameters, so that
+	justification works for integers.
 
-	* Sven: 9621: Src/Zle/computil.c: completion incorrectly adding
-	space.
+	* 20606: Test/V03mathfunc.ztst: simple verification of
+	pseudorandom numbers.
 
-	* Sven: 9619: Completion/User/_texi: completion for texinfo;
-	added Completion/User/.distfiles by hand.
+2004-12-06  Doug Kearns  <djkea2@gus.gscit.monash.edu.au>
 
-	* Sven: 9618: Src/Zle/computil.c: memory leak in caching.
+	* 20601: Completion/Unix/Command/_python: update python completion for
+	version 2.4
 
-	* Sven: 9616: Completion/Core/_path_files: bad test with a
-	pattern.
+2004-12-01  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Sven: 9615: Completion/Builtins/_zstyle, Doc/Zsh/compsys.yo:
-	rename and document some styles.
+	* 20595 (modified): Src/compat.c: some style tweaks to zchdir().
 
-	* Sven: 9614: Src/exec.c: esglob wasn't initialised properly.
+2004-12-01  Doug Kearns  <djkea2@gus.gscit.monash.edu.au>
 
-	* Alexandre: 9606: Completion/Builtins/_zstyle: two missing
-	styles.
+	* 20587: Completion/Unix/Command/_screen: update screen completion for
+	version 4.00
 
-	* Sven: 9600: Src/exec.c: wordcode problem in execpline().
+2004-11-30  Peter Stephenson  <pws@csr.com>
 
-	* Bart: 9591: Src/init.c: zsh/compctl didn't get loaded
-	automatically any more.
+	* 20599: Test/C01arith.ztst: 20592 needs consequent test change.
 
-	* Geoff: 9589: Doc/Makefile.in: put back ^A's from 9584.
+2004-11-29  Peter Stephenson  <pws@csr.com>
 
-	* Tanaka Akira: 9585: Doc/Makefile.in: possible logic problems
-	with 9584.
+	* 20591: Stephane Chazelas <Stephane_Chazelas@yahoo.fr>:
+	Src/compat.c: use of fchdir in zchdir could leak a file descriptor.
 
-	* Geoff: 9584: Doc/Makefile.in: sh problems with creating
-	modlist.yo.
+	* 20592: Src/math.c: $((##)) caused mayhem by passing null
+	string to getkeystring().  Report error instead.
 
-	* Alexandre: 9583: Functions/Misc/nslookup: fix context name for
-	new scheme.
+2004-11-24  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9390, 9394, hunk from 9396: ./Doc/Makefile.in,
-	Doc/Zsh/mod_zpty.yo, Doc/Zsh/.distfiles, Functions/Misc/nslookup,
-	Src/Modules/.distfiles, Src/Modules/zpty.c, Src/Modules/zpty.mdd,
-	Src/builtin.c, Src/init.c, Src/zsh.h: zpty module.
+	* 20583: Completion/Unix/Command/_ssh: complete "modern" options
+	such as GSSAPIAuthentication.
 
-2000-02-05  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2004-11-27  Doug Kearns  <djkea2@gus.gscit.monash.edu.au>
 
-	* Tanaka Akira: 9579: Completion/Debian/_deb_packages: was using
-	bad cache variable.
+	* 20584: Completion/Unix/Command/_screen: offer multiuser screen
+	sessions for attaching/detaching
 
-2000-02-04  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2004-11-24  Clint Adams  <clint@zsh.org>
 
-	* Sven: 9569: Completion/Core/_main_complete,
-	Completion/Core/_prefix, Doc/Zsh/compsys.yo, Src/Zle/compcore.c:
-	new complete-prefix completer _prefix; fix suffix matching
-	problems.
+	* 20578: Functions/Prompts/prompt_elite2_setup:
+	handle ttys with slashes in them.
 
-	* Sven: 9568: Src/Zle/computil.c: fix difficulties with remaining
-	arguments.
+2004-11-23  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9562: Completion/Base/_arg_compile,
-	Completion/Base/_arguments, Completion/Base/_command_names,
-	Completion/Builtins/_hash, Completion/User/_gdb,
-	Completion/User/_ssh, Completion/User/_strip, Completion/X/_xrdb,
-	Completion/X/_xutils, Src/Zle/computil.c: failure to follow links
-	completing commands; bad long option handling in some cases
+	* 20576: Src/signals.c: 20572 caused core dump when
+	trying to run a signal where the function had already
+	been removed.
 
-	* Sven: 9560 (second hunk only): Src/Zle/computil.c: more
-	argument fixes.
+2004-11-22  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9559: Doc/Zsh/compsys.yo: better documentation for `+'
-	argument handling.
+	* 20572: Doc/Zsh/builtins.yo, Src/builtin.c, Src/exec.c,
+	Src/jobs.c, Src/signals.c, Src/utils.c: Allow -CLD and -IO
+	as alternatives to -CHLD and -POLL where they are the same signal.
 
-	* Sven: 9558: Src/exec.c, Src/parse.c: trapping of autoloading
-	errors wasn't up to scratch.
+2004-11-20  Doug Kearns  <djkea2@mugca.its.monash.edu.au>
 
-	* Alexandre: 9557: Completion/User/_flex: problem handling
-	`+' argument.
+	* 20571: Completion/Unix/Command/_java: update javac completion for
+	J2SE 5.0
 
-2000-02-03  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2004-11-19  Peter Stephenson  <pws@csr.com>
 
-	* Oliver: 9547: Src/parse.c, Src/hist.c: more fixups for exporting
-	on AIX.
+	* 20568: Src/pattern.c: in debug test, checking for NULL
+	character is no longer valid.
 
-	* Sven: 9546: Completion/Base/_arguments,
-	Completion/Base/_combination, Completion/Base/_describe,
-	Completion/Base/_first, Completion/Base/_jobs,
-	Completion/Base/_subscript, Completion/Base/_tilde,
-	Completion/Base/_values, Completion/Builtins/_pids,
-	Completion/Builtins/_popd, Completion/Builtins/_sched,
-	Completion/Builtins/_signals, Completion/Builtins/_stat,
-	Completion/Builtins/_zftp, Completion/Builtins/_zstyle,
-	Completion/Commands/_complete_help,
-	Completion/Commands/_correct_word,
-	Completion/Commands/_expand_word,
-	Completion/Commands/_history_complete_word,
-	Completion/Core/_alternative, Completion/Core/_approximate,
-	Completion/Core/_complete, Completion/Core/_correct,
-	Completion/Core/_description, Completion/Core/_expand,
-	Completion/Core/_files, Completion/Core/_list,
-	Completion/Core/_main_complete, Completion/Core/_match,
-	Completion/Core/_menu, Completion/Core/_message,
-	Completion/Core/_normal, Completion/Core/_oldlist,
-	Completion/Core/_path_files, Completion/Core/_setup,
-	Completion/Core/_sort_tags, Completion/Core/_tags,
-	Completion/Core/compinit, Completion/Debian/_apt,
-	Completion/Debian/_deb_packages, Completion/User/_cvs,
-	Completion/User/_domains, Completion/User/_groups,
-	Completion/User/_hosts, Completion/User/_ports,
-	Completion/User/_socket, Completion/User/_urls,
-	Completion/User/_users, Completion/X/_x_color, Doc/Zsh/compsys.yo,
-	Etc/completion-style-guide,
-	Functions/Zle/incremental-complete-word, Functions/Zle/predict-on:
-	more consistent form for style contexts in completion system,
-	:completion:<func>:<completer>:<command>:<argument>:<tag>.
+	* 20566: Src/signames2.awk: prefer SIGCHLD to SIGCLD.
+	Also (unposted) prefer SIGPOLL to SIGIO.
 
-	* Sven: 9545: Src/Modules/zutil.c: don't use freed structs.
+2004-11-18  Clint Adams  <clint@zsh.org>
 
-	* Tanaka Akira: 9544: Src/Modules/zutil.c: handle case for
-	undefined match data in zregexparse.
+	* unposted: Completion/Unix/Command/_bogofilter: fix -w/-p typo, which was
+	noticed by Michał Politowski.
+	* unposted: Completion/Unix/Type/_pdf: complete pdf files for kpdf.
 
-	* Sven: 9542: Src/Zle/complete.c: use permanently allocated memory
-	for copied special parameters.
+2004-11-16  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9541: Src/Modules/zutil.c: zstyle looks up style names
-	first.
+	* users/8219: Doc/Zsh/params.yo, Doc/Zsh/zle.yo,
+	Src/params.c: Add $HISTCMD which gives the current history
+	line number as in bash.  Works like ${(%):-%!} except that a human
+	being could find out how to use it, too.  Note it is
+	distinct from zle's $HISTNO.
 
-2000-02-02  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+	* 20556: AIX 5.3 has a SOCKLEN_T definition, so use
+	ZSOCKLEN_T internally.
 
-	* pws: Config/version.mk: version 3.1.6-dev-17
+2004-11-12  Peter Stephenson  <pws@csr.com>
 
-	* Bart: 9533: Src/signals.c: make sure shell doesn't send itself
-	SIGHUP when exiting.
+	* Motoi Washida <a66@h8.dion.ne.jp>: 20274, 20552:
+	Completion/Darwin/Command/_fink,
+	Completion/Darwin/Command/_hdiutil,
+	Completion/Darwin/Command/_open,
+	Completion/Darwin/Type/_mac_applications,
+	Completion/Darwin/Type/_mac_files_for_application,
+	Completion/Darwin/Type/_retrieve_mac_apps: improved completion
+	for Mac.
 
-	* Sven: 9528: Completion/Core/_files: missing variable
-	initialization.
+2004-11-10  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Sven: 9527: Doc/Zsh/compsys.yo: extra description for styles.
+	* 20551: Completion/Unix/Command/_make: handle $$ when
+	expanding variables.
 
-	* Sven: 9526: Src/Zle/computil.c: missing tokenization in
-	completion listing.
+2004-11-09  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9524: Src/text.c: wordcode bug outputting function
-	definitions.
+	* Jussi Pakkanen <jpakkane@yahoo.com>: users/8189:
+	Completion/Unix/Command/_bittorrent: new completion.
 
-	* Sven: 9522: Src/utils.c: return on various conditions when
-	reading a character from the terminal.
+2004-11-05  Bart Schaefer  <schaefer@zsh.org>
 
-	* Sven: 9521: Src/exec.c: another job-waiting fix.
+	* 20546: Src/Zle/compcore.c: fix "compadd -k assoc1 assoc2".
 
-2000-02-01  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2004-11-02  Clint Adams  <clint@zsh.org>
 
-	* pws: 9518: Test/.distfiles, Test/10prompt.ztst: test for prompt
-	escapes.
+	* 20539: Completion/Unix/Command/_make: avoid problems with
+	minus signs in expandVars().
 
-	* Clint/Sven: 9500 rewritten as 9505: Src/mem.c: more graceful exit
-	after mmap() failure when used for heap allocation.
+2004-10-29  Peter Stephenson  <pws@csr.com>
 
-	* Alexandre: 9504: Completion/Builtins/_zstyle: complete name of
-	packageset style.
+	* 20528: Src/exec.c: Clint spotted that fix in 18492 to make
+	> >(...) synchronous failed in the case of an fd opened for the
+	shell's own use with an	exec.
 
-	* Sven: 9503: Src/exec.c: problem updating job entry without any
-	processes.
+2004-10-26  Peter Stephenson  <pws@csr.com>
 
-	* Alexandre: 9502: Completion/User/_urls,
-	Completion/Core/compinit, Completion/Core/_menu,
-	Completion/Core/_match, Completion/Base/_combination: fix 9463
-	to use ':completion:...' prefix with zstyle.
+	* 20522: Src/glob.c, Test/D02glob.ztst: must-match optimisation
+	was broken for pattern substitutions in parameters.
 
-2000-01-31  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2004-10-22  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Sven: 9496: Src/loop.c: failure to check for return status in
-	for loop.
+	* 20510: Borzenkov Andrey: Src/jobs.c: Fixed the arg to a call
+	to times().
 
-	* Bart: 9495: Src/exec.c: re-block after waiting for jobs.
+2004-10-22  Bart Schaefer  <schaefer@zsh.org>
 
-	* Sven: 9494: Src/Zle/computil.c: extraneous space with option
-	description.
+	* unposted (based on 20514): Completion/compinit: _comp_options
+	needs to include NO_kshtypeset.
 
-	* Bart: 9493: Test/09funcdef.ztst: regression test for function
-	definition.
+2004-10-22  Peter Stephenson  <pws@csr.com>
 
-	* Sven: 9489: Src/Zle/complist.c, Src/Zle/compresult.c: avoid menu
-	selection with no list and asking whether to list twice.
+	* 20513: Src/pattern.c, Test/D02glob.ztst: tests of zero length
+	patterns didn't work after 20500.
 
-	* Sven: 9488: Src/exec.c: remove unnecessary child_block().
+	* unposted: Src/jobs.c: trivial optimisation.
 
-	* Sven: 9487: Src/exec.c: wordcode fix: expand names in function
-	definitions.
+2004-10-20  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Sven: 9486: Doc/Zsh/compwid.yo: fix docs for compadd -1 with -J
+	* 20505: Src/utils.c, Src/builtin.c, Src/exec.c, Src/hist.c,
+	Src/Modules/zftp.c:  Added gettempfile(), which works like a
+	specialized mkstemp().
 
-2000-01-30  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+2004-10-19  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Tanaka Akira: 9476: Completion/User/_cvs,
-	Completion/User/_patch: prefer LC_ALL to LANG as the former
-	overrides the latter.
+	* 20503: Alexey Tourbin: Doc/Zsh/compsys.yo: corrected the
+	completion-cache's default value.
 
-	* Tanaka Akira: 9475: Completion/User/_telnet: simplify by using
-	(K) parameter flag.
+2004-10-18  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Tanaka Akira: 9473: Completion/User/_patch: improved support for
-	different versions of `patch'.
+	* 20499 (modified): Src/builtin.c, Src/exec.c, Src/hist.c,
+	Src/string.c, Src/utils.c, Src/Modules/zftp.c: improved gettempname(),
+	added bicat(), and used these improvements to make the history-file
+	locking better.
 
-	* Bart: 9472: Doc/Makefile.in: dependencies on texinfo files when
-	building out of source tree.
+2004-10-18  Peter Stephenson  <pws@csr.com>
 
-	* Tanaka Akira: 9470: Completion/Debian/_deb_packages: updage
-	should be update throughout.
+	* 20500: Misc/globtests, Src/glob.c, Src/pattern.c, Src/zsh.h,
+	Src/Zle/complist.c, Test/D02glob.ztst: Use unmetafied strings
+	in patterns more; improve glob.c/pattern.c interface; fix
+	minor <num-> issue; add bogus quotation from Proust (it's
+	my file and I'll do what I like with it).
 
-	* Clint: 9469: Completion/Debian/_deb_packages,
-	Completion/Debian/_dpkg, Doc/Zsh/compsys.yo: new packageset style
-	to select Debian package.
+2004-10-17  Wayne Davison  <wayned@users.sourceforge.net>
 
-2000-01-29  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Alexandre: 1684: Completion/User/.distfiles: add _diff and
-	_diff_options.
-
-	* Alexandre: 9463: Completion/User/_urls,
-	Completion/Core/compinit, Completion/Core/_menu,
-	Completion/Core/_match, Completion/Base/_combination: switch to
-	using zstyle instead of compstyle in various functions.
-
-	* Sven: 9458: Src/Zle/complete.c, Src/Zle/compresult.c: used freed
-	memory in completion; should have been using heaps all along.
-
-	* Sven: 9457: Src/params.c: tokenisation problem with patterns
-	using parameter flag (K).
-
-	* Sven: 9454: Completion/Core/_path_files: handling path prefixes
-	with patterns more cleverly.
-
-	* Sven: 9452: Completion/Base/_arguments: `--exclude=' shouldn't
-	show both argument list and completions of --exclude....
-
-	* Bart: 9448: Makefile.in: treat Test subdirectory along with
-	others in make procedures (notably distclean).
-
-	* Sven: 9442: Src/Zle/compresult.c: problems with suffixes when
-	cursor style set.
-
-	* Sven: 9441: Completion/Core/_files,
-	Completion/User/_diff_options: _files sometimes didn't use
-	ignored-patterns; use $(command diff) just in case, plus more
-	verbose descriptions.
-
-	* Alexandre: 9436: Completion/User/_prcs,
-	Completion/User/_diff_options, Completion/User/_diff: prcs
-	enhancements with builtin diff support, plus diff options for use
-	directly with GNU diff.
-
-2000-01-25  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Etc/FAQ.yo: updated from latest posted version.
-
-	* Sven: 9424: Src/Modules/parameter.c: problems with 9421 with
-	aliases and dir parameters.
-
-2000-01-24  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9421: Src/params.c: PM_REMOVABLE parameters are freeable
-	since they were created by an ordinary createparam() (fixes
-	memory leak).
-
-	* Alexandre: 9419: Src/Zle/complist.c: more problems with
-	backreferences in list-colors: aborts after failed backref,
-	nested backrefs not handled.
-
-	* Sven: 9417: Src/Zle/compcore.c: prefix code confused by matcher
-	specifications.
-
-	* Sven: 9416: Completion/Core/_setup, Src/Zle/complist.c: problems
-	using backreferences in list-colors, check zsh/complist is loaded
-	if needed.
-
-	* Sven: 9415: Doc/Zsh/mod_complist.yo: typo in pattern example.
-
-	* Sven: 9414: Completion/Core/_path_files: use _comp_ignore.
-
-	* Sven: 9413: Functions/Zftp/zfinit, Src/Modules/zutil.c,
-	Src/loop.c: cleanups for module name, new completion test,
-	compilation warnings.
-
-	* Sven: 9361: Src/exec.c: simplifty getoutput() test.
-
-2000-01-23  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Config/version.mk, Src/Modules/.distfiles: 3.1.6-dev-16;
-	zprof.mdd, zfprof.c finally added to distribution.
-
-2000-01-22  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9408: Src/pattern.c, Doc/Zsh/expn.yo: failed
-	backreferences, such as (...)# matching zero times or (|(...))
-	matching first part of branch now set match to null string and
-	indices to -1 instead of crashing the shell.
-
-	* Clint: 9405: Makefile.in: $(DESTDIR) missing in front of
-	$(sitefndir).
-
-	* Tanaka Akira: 9404: Completion/Core/_path_files: `%' missing in
-	parameter expansion.
-
-2000-01-21  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Sven: 9403: Completion/Core/_path_files, Doc/Zsh/compsys.yo:
-	brace problems with squeeze-slashes.
-
-	* Sven: 9402: Completion/Builtins/_zstyle,
-	Completion/Core/_path_files, Doc/Zsh/compsys.yo: ignore-parents
-	style for more tunable path completion.
-
-	* Sven: 9401: Src/Modules/parameter.c, Src/exec.c, Src/zsh.h: use
-	list-based instead of function-based system for shell function
-	wrappers.
-
-	* Tanaka Akira: 9400: Completion/User/.distfiles: add _finger
-
-	* Sven: 9399: Functions/Zftp/zfinit: bad reverse index.
-
-	* Sven: 9398: Functions/Zftp/zfcd_match,
-	Functions/Zftp/zfget_match: fix _description calls
-
-	* Sven: 9397: Functions/Zftp/zfinit: incorrect zmodload for
-	autoloaded builtin
-
-	* Sven: 9396: Doc/Zsh/mod_zle.yo, Src/Zle/zle_main.c: better
-	retrieval of history in vared.
-
-	* Sven: 9395: Src/exec.c, Src/parse.c, Src/text.c: problems with
-	ksh-format autoload and core dump due to bad termination in
-	function execution.
-	
-	* Sven: 9388, 9389: Completion/User/_domains: try to completion
-	host domains better.
-
-2000-01-20  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Alexandre: 9387: Doc/Zsh/compsys.yo: document brace problems
-	with 9383.
-
-	* Sven: 9386: Completion/Core/_multi_parts,
-	Completion/Core/_sep_parts: both functions support -F option.
-
-	* Alexandre: 9385: Completion/User/_prcs: tilde expansion in prcs
-	repository path.
-
-	* Alexandre: 9383: Doc/Zsh/compsys.yo, Completion/Core/_path_files,
-	Completion/Builtins/_zstyle: add squeeze-slashes style not to take
-	multiple slashes as multiple completable directories; add
-	file-patterns to zstyle completion.
-
-	* Sven: 9382: Src/Modules/parameter.c, Src/exec.c, Src/mem.c,
-	Src/parse.c, Src/text.c: fix problems with empty lists in wordcode
-	programmes and some comments.
-
-	* Sven: 9381: Src/Zle/compresult.c: don't expand parameters quite
-	so often for tests.
-
-2000-01-19  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Sven: 9373: Src/Modules/parameter.c: missing keys with special
-	parameters.
-
-	* Sven: 9371: Completion/Core/_files, Completion/Core/_path_files,
-	Doc/Zsh/compsys.yo: file-patterns style for overriding choices for
-	file completion built into completion functions.
-
-	* Sven: 9370: Src/text.c: missing tstack initialisation.
-
-	* pws: 9367: Src/cond.c, Src/parse.c, Test/04redirect.ztst,
-	Test/07cond.ztst: fixes for 9332: `[' tests didn't work, skipping
-	conditions with `&&' and `||' didn't work, always use WC_END
-	marker to terminate code.
-
-	* Tanaka Akira: 9360: Completion/User/_cvs: new -C option to cvs
-	update, better descriptions.
-
-	* Tanaka Akira: 9359: Completion/Debian/_apt,
-	Completion/Base/_regex_arguments: argument handling for apt-cache.
-
-2000-01-18  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9354: Etc/MACHINES: problems reported on SPARC.
-	
-	* Sven: 9336: Src/signals.c: addition to 9332.
-
-	* Sven: 9332: Src/Modules/example.c, Src/Modules/parameter.c,
-	Src/Modules/zftp.c, Src/Modules/zprof.c, Src/Zle/compcore.c,
-	Src/Zle/compctl.c, Src/Zle/complete.c, Src/Zle/zle_main.c,
-	Src/Zle/zle_misc.c, Src/builtin.c, Src/cond.c, Src/exec.c,
-	Src/glob.c, Src/hashtable.c, Src/init.c, Src/loop.c, Src/parse.c,
-	Src/signals.c, Src/text.c, Src/utils.c, Src/zsh.h: Use word code
-	instead of structs for passing executable chunks around.
-
-	* Sven: 9353: Completion/Base/_jobs: bad prefix test
-
-	* Sven: 9348: Src/Modules/zutil.c: various minor regex fixes
-
-	* Sven: 9345: Src/exec.c, Src/jobs.c, Src/zsh.h:
-	bug with job control when group leader exits; other problems
-	with subshells.
-
-	* Alexandre: 9340: Src/Zle/computil.c: bug with adding `=' after
-	options.
-
-	* Sven: 9335: Completion/Core/_path_files: fix special-dirs style.
-
-2000-01-17  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Clint: 9333: Completion/User/_a2ps: a2ps can take PostScript
-	input files.
-
-	* Johan Sundström: 9331: Doc/Zsh/compwid.yo: typo.
-
-	* Sven: 9330: Src/mem.c: debugging message not needed when using
-	mmap().
-
-	* Sven: 9329: Src/Modules/parameter.c, Src/Zle/complete.c,
-	Src/Zle/zleparameter.c, Src/glob.c, Src/mem.c: memory management
-	fixes for hashtables and heaps.
-
-2000-01-16  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Tanaka Akira: 9328: Completion/User/_finger,
-	Completion/User/_other_accounts: new finger completion.
-	.distfiles also updated.
-
-2000-01-15  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Tanaka Akira: 9325: Src/init.c: misspelled SITEFPATH_DIR
-
-	* Alexandre: 9324: Completion/User/_tar_archive: .tgz completion
-	didn't work.
-
-2000-01-14  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9322: INSTALL, Makefile.in, configure.in,
-	Config/defs.mk.in, Config/funcinst.mk, Config/installfns.sh,
-	Config/uninstallfns.sh, Src/init.c, Src/zsh.mdd: install.fns
-	creates site-functions, parallel to /usr/share/zsh/3.1.6-dev-15
-	or wherever; no functions.old directory saved or used; functions
-	directory is version-specific anyway, so just delete old one.
-
-	* Sven: 9318: Src/exec.c, Src/init.c, Src/zsh.h: cases where we
-	don't need to make up the job text.
-
-	* Tanaka Akira: 9317: Completion/User/_urls: don't quote bookmarks
-	when inserted.
-
-	* Tanaka Akira: 9316: Completion/User/_cvs: detects zsh/stat
-	module more carefully.
-
-	* Sven: 9315: Src/module.c: bad error status when using zmodload
-	in static shell.
-
-	* Tanaka Akira: 9311: Completion/Builtins/_zmodload,
-	Doc/Makefile.in, Test/.distfiles: missing stuff in 3.1.6-dev-15:
-	unused parameter in _zmodload, deleting too many files with clean
-	in Doc, 08traps.ztst wasn't in distribution list.
+	* 20496: Src/utils.c: made zclose() not call close() when the
+	fd arg is < 0.
 	
-2000-01-13  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9309: Completion/Core/_path_files,
-	Completion/Builtins/_zstyle: fixes for 9298: test for non-zero
-	$FIGNORE, zstyle completion for ignored-patterns.
-
-	* Sven: 9306: Doc/Zsh/mod_zle.yo, Src/Zle/zle_thingy.c: allow
-	permanent (until next return) message with zle -M.
-
-	* Sven: 9305: Src/Zle/compcore.c: sometimes failed to switch to
-	alternate match set.
-
-2000-01-12  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Config/version.mk: 3.1.6-dev-15.
-
-	* pws: 9301: configure.in: use quoted '${VERSION}' in function
-	directory to be determined at compile time, avoids having to
-	re-make config.status.
-
-	* Sven: 9298: Completion/Core/_description,
-	Completion/Core/_main_complete, Completion/Core/_path_files,
-	Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo, Src/Zle/compcore.c:
-	ignored-suffixes becomes ignored-patterns for more general
-	ignorance.
-
-	* Sven: 9297: Completion/Core/_alternative: typo.
-
-	* Sven: 9296: Src/Zle/compmatch.c: matcher ignores backslashes by
-	default.
-
-2000-01-11  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9295: Doc/Zsh/grammar.yo, Src/loop.c,
-	Src/Modules/parameter.c: problem with aliased options with
-	negative number when retrieving $options; bad test for use of
-	terminal with `select'; defective description of tests for
-	alternative forms using if ... { ... } etc.
-
-	* Sven: 9291: Completion/Core/_main_complete: insufficient care
-	with ksharrays affected _cd completion.
-
-	* Sven: 9287: Src/exec.c: unbalanced use of heaps.
-
-2000-01-10  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Sven: 9283: Src/mem.c: hrealloc() problem with mmap().
-
-	* Tanaka Akira: 9281, 9282: Completion/Builtins/_popd: too eager
-	to insert slash suffix.
-
-2000-01-09  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9280: Src/subst.c: failed to copy parameter properly using
-	${(P)...} flag.
-
-	* pws: 9279: Src/mem.c: use munmap() instead of zfree() for
-	one more heap reference.
-
-	* pws: 9278: Completion/Core/_path_files: overenthusiastic use of
-	$fignore on explicitly globbed files.
-
-	* Tanaka Akira: 9274: Completion/X/_xutils: completing options of
-	X commands didn't work.
-
-	* Tanaka Akira: 9273: Completion/User/_cvs: various tweaks.
-
-	* Bart: 9272: Src/Aliases/alias.mdd.in: file missed in 9253.
-
-	* Bart: 9270: Doc/Zsh/.cvsignore, Doc/Zsh/.distfiles,
-	Doc/Makefile.in: Doc/Zsh/manmodmenu.yo is a generated file.
-
-2000-01-08  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Tanaka Akira: 9269: Completion/User/_pack: bogus space in _pack.
-
-2000-01-07  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9267: Src/signals.c, Test/08traps.ztst, Test/50cd.ztst,
-	Test/ztst.zsh:	fix remaining(?) trap issues by simplifying
-	save/restore code; add tests for traps (with unpleasantness
-	testing trap triggering).
-
-	* pws: 9266: configure.in, INSTALL: move $ZSH_VERSION to before
-	functions, to allow other zsh versioned stuff to be collected.
-
-	* Sven: 9264 (minus `make clean' hunk): ./Doc/Makefile.in,
-	Doc/Zsh/manual.yo:  remove yodl comments to avoid makeinfo
-	problems.
-
-	* Sven: 9263: Completion/Builtins/_zmodload,
-	Completion/Core/_files, Completion/Core/_path_files: _path_files
-	handles (:r) modifier; _files handles -/g; _zmodload handles
-	hierarchical modules.
-
-	* Sven: 9262: Completion/Builtins/_hash, Completion/Linux/_rpm,
-	Completion/User/_dd, Completion/User/_gs, Completion/User/_make:
-	9260 add-on for various uses of compset.
-
-	* Sven: 9261: Completion/User/_a2ps: missing backslash.
-
-	* Sven: 9260: Completion/Core/_main_complete: completion after `='.
-
-2000-01-06  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9256: configure.in, INSTALL: add $ZSH_VERSION to default
-	function install path.
-
-	* Oliver: 9253: Src/Aliases/cap.mdd, Src/Aliases/clone.mdd,
-	Src/Aliases/compctl.mdd, Src/Aliases/complete.mdd,
-	Src/Aliases/complist.mdd, Src/Aliases/computil.mdd,
-	Src/Aliases/deltochar.mdd, Src/Aliases/example.mdd,
-	Src/Aliases/files.mdd, Src/Aliases/mapfile.mdd,
-	Src/Aliases/mathfunc.mdd, Src/Aliases/parameter.mdd,
-	Src/Aliases/rlimits.mdd, Src/Aliases/sched.mdd,
-	Src/Aliases/stat.mdd, Src/Aliases/zftp.mdd, Src/Aliases/zle.mdd,
-	Src/Aliases/zleparameter.mdd, Src/Aliases/zutil.mdd,
-	Src/linklist.c, Src/mkmakemod.sh, Src/params.c, Src/utils.c: more
-	fixes for dynamical linking on AIX.
-
-	* Tanaka Akira: 9252: Completion/User/_lp: typo in 9242.
-
-	* Sven: 9250: Src/Zle/complete.c: extend 9237 for compset.
-
-	* Sven: 9248: Completion/Core/_tags, Doc/Zsh/compsys.yo: simplify
-	undoability of 9245 and suchlike by making `!tag' valid in
-	tag-order style.
-
-	* Sven: 9245: Completion/Base/_command_names,
-	Completion/Base/_parameter: complete parameters in command
-	position (now undoable using styles).
-
-	* Sven: 9244: Completion/Builtins/_zstyle: partial word completion
-	for style names.
-
-	* Sven: 9242: Completion/User/_lp: better completion of printer
-	names.
-
-	* Alexandre: 9240: Completion/User/_urls: handle URLs from
-	bookmarks with spaces by quoting.
-
-	* Sven: 9237: Doc/Zsh/compwid.yo, Src/Zle/compcore.c: fix literal
-	handling of completion prefix/suffix.
-
-	* Sven: 9236: Src/Zle/compresult.c, Src/Zle/zle_misc.c:
-	listmatches called with bogus list, plus extra paranoia.
-
-	* Tanaka Akira: 9235: Test/07cond.ztst: chgrp to workaround
-	inherited groups.
-
-	* Tanaka Akira: 9228: Completion/Builtins/_popd: probllem listing
-	directories.
-
-	* Tanaka Akira: 9227: Test/04redirect.ztst: problem with .nfs*
-	files remaining when deleting directory.
-
-	* Tanaka Akira: 9226: Completion/User/_lp: explanation typo.
-
-	* Tanaka Akira: 9225: Completion/Core/_path_files,
-	Doc/Zsh/compsys.yo: file completion in root directory.
-
-2000-01-05  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Config/version.mk: zsh-3.1.6-dev-14 (note change of
-	string).
-
-	* Sven: 9219: Functions/Zle/predict-on: zstyle typo.
-
-	* Sven: 9217: Completion/User/_lp, Doc/Zsh/compsys.yo: additions
-	to foregoing.
-
-	* Sven: zsh-users/2830: Completion/User/.distfiles,
-	Completion/User/_lp, Completion/User/_ps: completion for printer
-	commands.
-
-	* Alexandre: 9216: Src/Zle/computil.c, Completion/User/.distfiles,
-	Completion/User/_prcs: Don't skip too many characters at start of
-	option; completion for prcs revision control.
-
-2000-01-04  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9212: Src/zsh.h, Src/Zle/zle_main.c, Src/Zle/zle_hist.c:
-	make cleaner use of flags to zleread().
-
-	* pws: 9209: Src/Makefile.in, Src/Makemod.in.in, Doc/Makefile.in:
-	rearrange 9181 to better order.
-
-	* Tanaka Akira: 9206 (+ tweaks): Src/zsh.h: use __attribute__
-	to get alignment for struct heap for gcc.
-
-	* Gene Cohler: 9200: Src/module.c: fix for dynamic linking on
-	latest HP-UX 11 systems.
-
-	* Sven: 9199: Completion/Core/_path_files, Doc/Zsh/compsys.yo:
-	allow sorting with sort style for files.
-
-	* Sven: 9198: Completion/Base/_arguments, Completion/Base/_values,
-	Completion/Core/_alternative: avoid mangling spaces with evals.
-
-	* Sven: 9197: Completion/Core/_multi_parts,
-	Completion/Core/_path_files, Completion/Core/_sep_parts:
-	tweak approximation for file completion etc.
-
-	* Sven: 9195: Src/Zle/compcore.c: PS to 9189.
-
-	* Sven: 9193: Completion/Builtins/_zstyle: fix typos etc.
-
-	* Sven: 9191: Completion/Base/_default,
-	Completion/Core/_description, Completion/Core/_path_files,
-	Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo, Src/Zle/complete.c:
-	style control of matcher specification.
-
-	* Sven: 9190: Completion/Core/compinit: tweak default completion
-	styles.
-
-	* Sven: 2826: Completion/Commands/_complete_help: help is more
-	helpful about what functions completion is in.
-
-	* Sven: 9189: Src/Zle/compcore.c: problem with not recognizing
-	prefix lengths when adding matches from patterns.
-
-	* Sven: 9188: Src/loop.c: repeat with a negative count.
-
-	* Sven: 9187: Src/Zle/computil.c: bug with :*pat: patterns
-	in styles.
-
-	* Helmut: 9186: Src/zsh.h: heaps struct was no longer properly
-	aligned.
-
-2000-01-02  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9181: Src/Makefile.in, Src/Makemod.in.in, Doc/Makefile.in:
-	add .PHONY targets to prevent GNU make creating them sometimes.
-
-2000-01-01  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Tanaka Akira: 9174: Test/ztst.zsh: missing `$'.
-
-	* Geoff: 9173: Completion/User/_tar: bogus `}'.
-
-	* Tanaka Akira: 9170: Completion/Builtins/_unhash,
-	Completion/User/_mutt: typos.
-
-	* Geoff: 9169: Completion/Builtins/_stat: bogus `fi'.
-
-1999-12-29  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Tanaka Akira: 9166: Completion/Builtins/_zstyle,
-	Doc/Zsh/compsys.yo, Doc/Zsh/mod_zutil.yo: remove unnecessary
-	cache-path tag.
-
-	* Clint: 9165: Completion/Debian/_dpkg: dpkg improvement.
-
-	* Tanaka Akira: 9164: Test/01grammar.ztst: use zsh instead of sh
-	to check - modifier.
-
-	* Tanaka Akira: 9163: Test/ztst.zsh: use absolute path for test
-	directory.
-
-1999-12-28  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9162: Completion/Base/_regex_arguments,
-	Src/Modules/zutil.c: rename regexparse to zregexparse.
-
-	* Tanaka Akira: 9161: Completion/Debian/_apt,
-	Completion/Debian/_deb_packages: improved 9160.
-
-	* Clint: 9160: Completion/Debian/_deb_packages: handle -J option.
-
-	* Vin Shelton: 9159: Test/Makefile.in, Test/ztst.zsh,
-	Test/07cond.ztst: fix testing when source and build tree are
-	separate.
-
-	* Tanaka Akira: 9158: Src/Modules/zutil.mdd: fix module
-	dependencies (showed up only in static linking).
-
-	* Tanaka Akira: 9154, 9156: Completion/Base/_regex_arguments,
-	Src/Modules/zutil.c: re-implement parsing for _regex_arguments in
-	C.
-
-1999-12-23  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Config/version.mk: zsh-3.1.6-pws-13.
-	
-	* Zefram: 9143: Util/mkdisttree.sh: same find change here.
-
-	* Andrej: 9142: Util/preconfig: work around probably find bug
-
-	* Alexandre: 9139: Functions/Zftp/zftp_chpwd, Etc/FAQ.yo:
-	kterm understands xterm sequences.
-
-	* pws: 9150: Completion/Builtins/.distfiles,
-	Completion/Builtins/_zstyle, Test/.distfiles: added _zstyle
-	for zstyle completion, also some missed .distfiles entries
-	for 9129.
-
-	* pws: 9149: Completion/Builtins/_cd, Completion/Core/_path_files:
-	_cd wouldn't complete in $cdpath and _path_files messed up
-	array entries with spaces.
-
-1999-12-22  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Tanaka Akira: 9138: Util/preconfig: problem with pattern
-	matching `.' in find.
-
-	* Tanaka Akira: 9137: Test/07cond.ztst: compatibility fixes for
-	tests in 9129.
-
-	* Clint: 9136: Completion/Debian/_dpkg: handle dpkg-deb options.
-
-	* Zefram: 9134: Src/Makefile.in, Src/mkbltnmlst.sh,
-	Src/xmods.conf, Src/zsh.mdd: aliased libraries with static
-	linking.
-
-1999-12-21  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 9129: Src/math.c, Test/04redirect.ztst,
-	Test/05command.ztst, Test/06arith.ztst, Test/07cond.ztst,
-	Test/ztst.zsh: fix bug with `(( 4 : 3 ))'; some more tests
-	for shell basics.
-
-1999-12-20  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Clint: 9121: Functions/Zftp/zfdir: some idiot messed up
-	selection of pager.
-
-	* Zefram: 9120: .distfiles, .preconfig, INSTALL, Util/.distfiles,
-	Util/preconfig: better pre-configuration support.
-
-	* Zefram: 9119: Doc/Zsh/intro.yo: zshzftpsys manual omitted.
-
-	* Zefram: 9118: Doc/Makefile.in, Doc/Zsh/builtins.yo,
-	Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo, Doc/Zsh/mod_cap.yo,
-	Doc/Zsh/mod_clone.yo, Doc/Zsh/mod_compctl.yo,
-	Doc/Zsh/mod_complete.yo, Doc/Zsh/mod_complist.yo,
-	Doc/Zsh/mod_computil.yo, Doc/Zsh/mod_deltochar.yo,
-	Doc/Zsh/mod_example.yo, Doc/Zsh/mod_files.yo,
-	Doc/Zsh/mod_mapfile.yo, Doc/Zsh/mod_mathfunc.yo,
-	Doc/Zsh/mod_parameter.yo, Doc/Zsh/mod_sched.yo,
-	Doc/Zsh/mod_stat.yo, Doc/Zsh/mod_zftp.yo, Doc/Zsh/mod_zle.yo,
-	Doc/Zsh/mod_zleparameter.yo, Doc/Zsh/mod_zprof.yo,
-	Doc/Zsh/mod_zutil.yo, Doc/Zsh/params.yo, Doc/Zsh/zftpsys.yo,
-	Doc/Zsh/zle.yo: proper names for info files.
-
-	* Zefram: 9117: Src/mkmakemod.sh: remove unnecessary blanks.
-
-	* Adam: 9109: Completion/User/_hosts: globsubst problem.
-
-	* Sven: 9107: Completion/Core/compinit: fix SELECTMIN.
-
-	* Zefram: 9105: Src/mkbltnmlst.sh: non-existent module problems.
-	
-	* Sven: 9099: Src/mem.c, Src/zsh.h: heap memory uses mmap()
-	as long as MAP_ANONYMOUS is available.
-
-	* Sven: 9098: Src/lex.c: double input buffer with inbufct as
-	maximum when more memory required.
-
-	* pws: 9123: Src/Modules/mathfunc.c, Doc/Zsh/mod_mathfunc.yo:
-	removed drem() as not present on Solaris.
-
-	* Clint: 9094: Completion/User/_tar: handle -Cf.
-
-	* Clint: 9093: Completion/User/_tar_archive: bzip2 support
-
-	* Oliver: 9088: Completion/Core/_description: failed to sort
-	listings numerically.
-
-	* Oliver: 9087: Src/module.c, Src/Modules/zutil.mdd: more
-	dependency problems with .export files.
-
-	* Sven: 9086: ./Doc/Makefile.in, Doc/Zsh/.distfiles,
-	Doc/Zsh/mod_zprof.yo: zprof doc.
-
-	* Sven: 9085: Doc/Zsh/compsys.yo: :completion missing, default tag
-	doc.
-
-	* Zefram: 9084: Src/Aliases/.cvsignore, Src/Aliases/.distfiles,
-	Src/Aliases/.exrc, Src/Aliases/.preconfig, Src/Aliases/alias.c.in,
-	Src/Aliases/alias.mdd.in, Src/xmods.conf: alias old modules to new
-	hierarchical names, zle -> zsh/zle etc.
-
-	* Zefram: 9083: Completion/User/_cvs, Doc/Makefile.in,
-	Doc/Zsh/builtins.yo, Doc/Zsh/mod_cap.yo, Doc/Zsh/mod_clone.yo,
-	Doc/Zsh/mod_compctl.yo, Doc/Zsh/mod_complete.yo,
-	Doc/Zsh/mod_complist.yo, , Doc/Zsh/mod_computil.yo,
-	Doc/Zsh/mod_deltochar.yo, Doc/Zsh/mod_example.yo,
-	Doc/Zsh/mod_files.yo, Doc/Zsh/mod_mapfile.yo,
-	Doc/Zsh/mod_mathfunc.yo, Doc/Zsh/mod_parameter.yo,
-	Doc/Zsh/mod_sched.yo, Doc/Zsh/mod_stat.yo, Doc/Zsh/mod_zftp.yo,
-	Doc/Zsh/mod_zle.yo, Doc/Zsh/mod_zleparameter.yo,
-	Doc/Zsh/mod_zutil.yo, Doc/Zsh/modules.yo, Doc/Zsh/options.yo,
-	Doc/Zsh/restricted.yo, Doc/Zsh/zftpsys.yo,
-	Etc/zsh-development-guide, Functions/Misc/zls,
-	Functions/Zftp/zfinit, Src/Builtins/rlimits.c,
-	Src/Builtins/rlimits.mdd, Src/Builtins/sched.c,
-	Src/Builtins/sched.mdd, Src/Makemod.in.in, Src/Modules/cap.c,
-	Src/Modules/cap.mdd, Src/Modules/clone.c, Src/Modules/clone.mdd,
-	Src/Modules/example.c, Src/Modules/example.mdd,
-	Src/Modules/files.c, Src/Modules/files.mdd, Src/Modules/mapfile.c,
-	Src/Modules/mapfile.mdd, Src/Modules/mathfunc.c,
-	Src/Modules/mathfunc.mdd, Src/Modules/parameter.c,
-	Src/Modules/parameter.mdd, Src/Modules/stat.c,
-	Src/Modules/stat.mdd, Src/Modules/zftp.c, Src/Modules/zftp.mdd,
-	Src/Modules/zutil.c, Src/Modules/zutil.mdd, Src/Zle/compctl.c,
-	Src/Zle/compctl.mdd, Src/Zle/complete.c, Src/Zle/complete.mdd,
-	Src/Zle/complist.c, Src/Zle/complist.mdd, Src/Zle/computil.c,
-	Src/Zle/computil.mdd, Src/Zle/deltochar.c, Src/Zle/deltochar.mdd,
-	Src/Zle/zle.mdd, Src/Zle/zle_main.c, Src/Zle/zle_thingy.c,
-	Src/Zle/zleparameter.c, Src/Zle/zleparameter.mdd, Src/init.c,
-	Src/makepro.awk, Src/mkbltnmlst.sh, Src/mkmakemod.sh,
-	Src/mkmodindex.sh, Src/module.c, Src/xmods.conf, Src/zsh.mdd,
-	Test/ztst.zsh, configure.in, Src/Modules/zprof.c,
-	Src/Modules/zprof.mdd:  Improved hierarchical naming scheme for
-	modules.
-
-	* Sven: 9019: Src/Modules/zprof.c, Src/Modules/zprof.mdd:
-	profiling module, documentation to follow.
-
-	* Zefram: 9081: Src/Modules/parameter.mdd: make sure parameter
-	jobdirs autoloads parameter module.
-
-	* Sven: 9079: Src/exec.c, Src/lex.c: memory allocation for token
-	strings and input lines changed; autoloading didn't free source
-	code; more pushing and popping of heaps; saves ca. 800KB with
-	completion loaded.
- 
-	* Sven: 9078: Completion/Commands/.distfile,
-	Completion/Commands/_verbose_list: _verbose_list is not needed any
-	more.
-
-	* Sven: 9077: Src/Zle/compresult.c, Src/Zle/computil.c,
-	Src/Zle/zle_main.c, Src/Zle/zle_tricky.c, Src/pattern.c:
-	`unitialised' warnings and unnecessary function.
-
-	* Sven: 9076: Src/Zle/compcore.c: better handling of globbing and
-	approximation together.
-
-	* Sven: 9075: Completion/Core/compinit: use ZLS_COLORS for style
-	defaults.
-
-	* Sven: 9074: Functions/Zle/predict-on: tidier 9064
-
-1999-12-15  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Config/version.mk: version 3.1.6-pws-12.
-
-	* pws: 9067: Doc/Zsh/zftpsys.yo, Functions/Zftp/zfanon,
-	Functions/Zftp/zfcd, Functions/Zftp/zfcget,
-	Functions/Zftp/zfclose, Functions/Zftp/zfcput,
-	Functions/Zftp/zfdir, Functions/Zftp/zfgcp, Functions/Zftp/zfget,
-	Functions/Zftp/zfgoto, Functions/Zftp/zfhere,
-	Functions/Zftp/zfinit, Functions/Zftp/zfls, Functions/Zftp/zfmark,
-	Functions/Zftp/zfopen, Functions/Zftp/zfparams,
-	Functions/Zftp/zfpcp, Functions/Zftp/zfput,
-	Functions/Zftp/zfsession, Functions/Zftp/zfstat,
-	Functions/Zftp/zftp_chpwd, Functions/Zftp/zftp_progress,
-	Functions/Zftp/zftransfer, Functions/Zftp/zftype,
-	Functions/Zftp/zfuget, Functions/Zftp/zfuput:  use _patcomps in
-	zfinit differently due to 9035; zfput -r does recursive put;
-	use styles instead of zfconfig entries; new styles titlebar
-	and chpwd.
-
-	* Clint: 9065: Src/builtin.c: change order of tests in 9028.
-
-	* Bart: 9064: Functions/Zle/predict-on: shouldn't use _style any
-	more.
-
-	* Sven: 9058: Completion/Base/_arguments,
-	Completion/Base/_combination, Completion/Base/_command_names,
-	Completion/Base/_jobs, Completion/Base/_tilde,
-	Completion/Builtins/_cd, Completion/Builtins/_kill,
-	Completion/Builtins/_stat, Completion/Builtins/_wait,
-	Completion/Core/_path_files, Completion/Core/_sort_tags,
-	Completion/Core/_tags, Completion/Core/compinit,
-	Doc/Zsh/compsys.yo, Src/Makemod.in: Many small cleanups, plus
-	change sort-tags to tag-order and add to syntax a bit.
-
-	* Tanaka Akira: 9054: Test/50cd.ztst: get PWD without symlinks, to
-	avoid messing up cd tests.
-
-1999-12-14  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Oliver: 9047: zsh-3.1.6-pws-11.new/Src/Zle/compcore.c,
-	zsh-3.1.6-pws-11.new/Src/Zle/compresult.c,
-	zsh-3.1.6-pws-11.new/Src/Zle/zle_thingy.c,
-	zsh-3.1.6-pws-11.new/Src/Zle/zle_tricky.c,
-	zsh-3.1.6-pws-11.new/Src/mkmakemod.sh: hack .export files to
-	be made in time for use.
-
-	* Sven: 9039: Doc/Zsh/mod_compctl.yo: description change.
-
-	* Sven: 9035: Completion/Core/_main_complete,
-	Completion/Core/_normal, Completion/Core/compdump,
-	Completion/Core/compinit: more small optimisations: _patcomps,
-	postpatcomps are assocs; avoid post-processing in _main_complete;
-	fix command name in _normal.
-
-	* Sven: 9031: Completion/Core/_path_files, Doc/Zsh/compsys.yo:
-	complete .. only for special-dirs.
-
-	* Clint: 9028: Src/builtin.c: hack to be able to change to
-	subdirectories even when the current directory is renamed.
-	Hopefully to be replaced by something more elegant eventually.
-
-	* pws: 9048: Completion/Core/_sort_tags, Completion/Core/compinit,
-	Completion/User/_mh, Doc/Zsh/compsys.yo,
-	Functions/Zle/incremental-complete-word: assorted completion
-	fixes, documentation improvement, plus sort-tags style.
-	
-1999-12-13  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Zefram: 9023: Doc/Makefile.in, Doc/Zsh/.cvsignore,
-	Doc/Zsh/.distfiles, Doc/Zsh/manual.yo, Doc/Zsh/mod_cap.yo,
-	Doc/Zsh/mod_clone.yo, Doc/Zsh/mod_compctl.yo,
-	Doc/Zsh/mod_complete.yo, Doc/Zsh/mod_complist.yo,
-	Doc/Zsh/mod_computil.yo, Doc/Zsh/mod_deltochar.yo,
-	Doc/Zsh/mod_example.yo, Doc/Zsh/mod_files.yo,
-	Doc/Zsh/mod_mapfile.yo, Doc/Zsh/mod_mathfunc.yo,
-	Doc/Zsh/mod_parameter.yo, Doc/Zsh/mod_sched.yo,
-	Doc/Zsh/mod_stat.yo, Doc/Zsh/mod_zftp.yo, Doc/Zsh/mod_zle.yo,
-	Doc/Zsh/mod_zleparameter.yo, Doc/Zsh/mod_zutil.yo,
-	Doc/Zsh/modules.yo: generate module documentation automatically
-	from a single list in the makefile.
-
-	* Sven: 9020: Completion/Core/_path_files, Doc/Zsh/compsys.yo:
-	special-dirs style allows completion of . and ..
-
-	* Sven: 9018: Completion/Builtins/_pids,
-	Completion/Core/_path_files, Completion/User/_cvs,
-	Completion/User/_pbm: completion optimisations.
-
-	* Zefram: 9013: patching file Doc/Zsh/mod_files.yo,
-	Src/Modules/files.c: use . as alternative to : for user and group
-	separator.
-
-	* Sven: 2776: Completion/Core/_path_files: handling of . and .. in
-	path.
-
-	* Felix: 1 chunk of 9008: Doc/Zsh/mod_parameter.yo: docs for $jobdirs.
-	
-	* Felix: (most of) 9007: Src/Modules/parameter.c,
-	Src/modules/parameter.mdd, mod_parameter.yo: jobdirs special assoc
-	array.
-
-	* Bart: 9005: Src/exec.c: problem backgrounding shell script.
-
-	* Tanaka Akira: 9004: Test/Makefile.in: run tests with zsh -f.
-
-	* pws: 9024: Etc/zsh-development-guide, Test/.distfiles,
-	Test/01grammar.ztst, Test/02alias.ztst, Test/03quoting.ztst,
-	Test/50cd.ztst, Test/cd.ztst, Test/ztst.zsh: new tests for basic
-	shell stuff.
-
-1999-12-10  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: 8997: Src/builtin.c, Src/exec.c, Src/params.c: exported
-	  values respect upper-/lowercase flags at the point at which they
-	  are set.
-
-	* Alexandre: 8994: Functions/Zftp/zftp_chpwd, Etc/FAQ.yo,
-	  Doc/Zsh/zftpsys.yo: extend 8993.
-
-	* Clint: 8993: Functions/Zftp/zftp_chpwd: titlebar support in more
-	  general xterm-like emulators.
-
-	* Sven: 8992: Completion/Base/_arguments,
-	  Completion/Base/_combination, Completion/Base/_describe,
-	  Completion/Base/_first, Completion/Base/_jobs,
-	  Completion/Base/_regex_arguments, Completion/Base/_subscript,
-	  Completion/Base/_tilde, Completion/Builtins/_pids,
-	  Completion/Builtins/_popd, Completion/Builtins/_sched,
-	  Completion/Builtins/_signals, Completion/Builtins/_stat,
-	  Completion/Commands/_history_complete_word,
-	  Completion/Core/_approximate, Completion/Core/_description,
-	  Completion/Core/_expand, Completion/Core/_list,
-	  Completion/Core/_main_complete, Completion/Core/_match,
-	  Completion/Core/_message, Completion/Core/_oldlist,
-	  Completion/Core/_path_files, Completion/Core/_requested,
-	  Completion/Core/_setup, Completion/Core/_tags,
-	  Completion/Core/compinit, Completion/Debian/_apt,
-	  Completion/User/_cvs, Completion/User/_groups,
-	  Completion/User/_hosts, Completion/User/_ports,
-	  Completion/User/_socket, Completion/User/_urls,
-	  Completion/User/_users, Completion/X/_x_color, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/mod_clone.yo, Doc/Zsh/mod_complete.yo,
-	  Doc/Zsh/mod_computil.yo, Doc/Zsh/mod_zutil.yo, Doc/Zsh/modules.yo,
-	  Etc/completion-style-guide,
-	  Functions/Zle/incremental-complete-word, Src/Modules/zutil.c,
-	  Src/Modules/zutil.mdd, Src/Zle/complist.c, Src/Zle/computil.c,
-	  Src/Zle/computil.mdd, Src/xmods.conf: compstyle is now
-	  implemented in terms of the new zstyle and zformat commands in
-	  the new zutil module.
-
-	* Tanaka Akira: 8990: Completion/User/_ports,
-	Completion/User/_socket: completion after `socket hosts'.
-
-1999-12-09  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Zefram: 8982: Doc/Zsh/mod_files.yo, Src/Modules/files.c,
-	  Src/Modules/files.mdd, Src/system.h, configure.in: chown and
-	  chgrp are implemented as builtins in the files module.
-
-	* Sven: 8981: Src/Zle/complist.c: don't use old list with
-	  accept-and-infer-next-history's completion form.
-
-	* Andrej: 8973: Completion/User/_sudo: revised version.
-
-	* Zefram: 8968: Config/config.mk: dependencies for rebuilding
-	  defs.mk from defs.mk.in.
-
-	* Zefram: 8966: Config/defs.mk.in, Doc/Makefile.in, Makefile.in:
-	  proper install.html.
-
-	* Sven: 8965: Completion/Core/_description,
-	  Completion/Core/_files, Completion/Core/_main_complete,
-	  Completion/Core/_multi_parts, Completion/Core/_path_files,
-	  Completion/Core/_sep_parts, Doc/Zsh/compsys.yo,
-	  Etc/completion-style-guide: doc cleanup and tweak some option
-	  passing.
-
-	* Tanaka Akira: 8962: cd to test directory before removing
-	  temporaries.
-
-	* Tanaka Akira: 8957: Completion/User/.distfiles, Src/Makefile.in:
-	  _sudo missed out of 3.1.6-pws-11, and Src/Makefile.in didn't
-	  get patched properly.
-
-1999-12-08  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Config/version.mk: version 3.1.6-pws-11.
-
-	* pws: 8955: Src/Modules/zftp.c: command name buffer wasn't large
-	  enough for "zftp session".
-
-	* pws: 8954: Makefile.in, Etc/zsh-development-guide, Test/Makefile.in:
-	  targets for testing should be `check' and `test', which are there
-	  already.
-
-	* Zefram: 8952: Util/mkdisttree.sh: portability and error handling
-	  improvements.
-
-	* Zefram: 8950: Config/defs.mk.in, Doc/.cvsignore, Doc/.distfiles,
-	  Doc/Makefile.in, Makefile.in, Src/Makefile.in: revised name
-	  transformation: nothing in the build tree and everything out of
-	  it is transformed; also fix make portability problems.
-
-	* Zefram: 8946: Makefile.in: distclean in Test; old stamp-h.in
-	  creation bug.
-
-	* Sven: 8945: Doc/Zsh/mod_complist.yo, Src/Zle/compcore.c,
-	  Src/Zle/complist.c: `mu'ltiple is now `du'plicate.
-
-	* Sven: 8944: Completion/Core/_main_complete,
-	  Completion/Core/_setup, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/mod_complist.yo: more detailed choices for when to use
-	  menu completion via menu style.  One mod_complist.yo hunk
-	  omitted due to clash with 8942.
-	
-	* Bart: 8942: Doc/Zsh/mod_complist.yo: completion doc fixes.
-
-	* Sven: 8939: Doc/Zsh/mod_complist.yo, Src/Zle/comp.h,
-	  Src/Zle/compcore.c, Src/Zle/complist.c, Src/Zle/compresult.c:
-	  menu selection with hidden entries.
-
-1999-12-07  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Clint: 8933: Doc/Makefile.in: make man pages refer to one
-	  another when transforming file name.
-
-	* Sven: 8932: Src/Zle/computil.c, Src/Zle/zle_tricky.c,
-	  Functions/Zle/incremental-complete-word, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/mod_computil.yo, Completion/Core/_approximate,
-	  Completion/Core/_description, Completion/Core/_expand,
-	  Completion/Core/_message, Completion/Core/_tags:
-	  More standard styles used in _expand and _approximate;
-	  hidden style can apply to any tag; _description does
-	  more printf-type formatting and tests a `format' tag.
-
-	* Clint: 8931: Doc/Makefile.in: sed portability.
-
-	* pws: 8936: configure.in, Etc/zsh-development-guide,
-	  Test/Makefile.in, Test/cd.ztst, Test/ztst.zsh (plus
-	  unposted Test/.cvsignore and Test/.distfiles): basis for
-	  new testing system.
-
-	* Sven: 8930: Completion/Core/_setup, Doc/Zsh/compsys.yo:
-	  _setup gets one argument and has doc.
-
-1999-12-06  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Bart: 8923: aczsh.m4, configure.in: configuration for
-	  program_transform_name.
-
-	* Bart: 8917: Doc/Makefile.in: better transforming for installed
-	  filenames.
-
-	* Clint: 8915: Doc/Makefile.in: more name transformation stuff
-	  for manual names.
-
-	* Sven: 8911: Src/Zle/comp.h, Src/Zle/compcore.c,
-	  Src/Zle/complete.c, Src/Zle/compresult.c, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/compwid.yo, Doc/Zsh/params.yo,
-	  Completion/Commands/_complete_help,
-	  Completion/Core/_approximate, Completion/Core/_expand,
-	  Completion/Core/_list, Completion/Core/_main_complete,
-	  Completion/Core/_message, Completion/Core/_setup,
-	  Completion/Core/_style: added some completion styles and
-	  some compstate keys.
-
-	* Sven: 8910: Src/Modules/parameter.c, Src/builtin.c, Src/exec.c,
-	  Src/module.c: don't try to unload modules when shell exits
-	  normally; fix bug with parameter module that old parameters
-	  didn't get removed properly.
-
-	* Sven: 8906: Completion/Core/_path_files: trailing / in vars with
-	  _path_files -W varname now optional.
-
-	* Bart: 8903, 8904, 8905: Makefile.in, configure.in, Doc/.cvsignore,
-	  Doc/.distfiles, Doc/Makefile.in, Src/Makefile.in: More
-	  consistent renaming when altering programme name.
-
-	* Adam: 8902: Completion/Commands/_history_complete_word:
-	  directions broken.
-
-1999-12-05  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Andrej/Sven/Clint: 8892: Completion/User/_sudo: completion
-	  for sudo.
-
-1999-12-03  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: unposted: Completion/User/.distfiles,
-	  Completion/Core/.distfiles: add _zdump and _setup.
-
-	* Clint: 8889: Completion/User/_zdump: completion for zdump.
-
-	* Clint: 8879: configure.in: fix some sub-makes in configure.in.
-
-	* Sven: 8876, 8883: Completion/Core/_approximate,
-	  Completion/Core/_expand, Completion/Core/_setup,
-          Doc/Zsh/compsys.yo: better grouping support in _expand and
-	  _approximate using _setup.
-
-	* Sven: 8874: Completion/Base/_arguments, Completion/User/_use_lo:
-	  fix with _arguments --.
-
-	* Sven: 8869: Completion/Builtins/_cd, Doc/Zsh/compsys.yo:
-	  local-directories and path-directories tags for cd completion.
-
-	* Sven: 8868: Src/Zle/complist.c: better memory of which colour
-	  was just used.
-
-	* Sven: 8864: Completion/Core/_description,
-	  Completion/Core/_files, Completion/Core/_main_complete,
-	  Completion/Core/compinit, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/compwid.yo, Doc/Zsh/mod_complist.yo, Src/Zle/computil.c:
-	  list-colors style sets up ZLS_COLO[U]RS appropriately.
-
-	* Clint: 8863: Makefile.in, configure.in, Doc/Makefile.in,
-	  Src/Makefile.in: only calculate basename of renamed zsh once.
-
-	* Clint: 8862: Src/builtin.c: fix problem failing to unload zle
-	  with abrupt shell termination.
-
-	* Bart: 8860: Doc/Makefile.in: fix zsh.info build with 8857.
-
-	* Bart: 8857: Doc/Makefile.in: fix zsh.yo.in reference when
-	  source and build trees are separate.
-
-	* Sven: 8852: Src/Zle/complist.c, Src/pattern.c,
-	  Doc/Zsh/mod_complist.yo: whacky colouring of different parts
-	  of listing strings.
-
-	* Sven: 8851: Src/Zle/compcore.c, Src/Zle/complist.c,
-	  Doc/Zsh/mod_complist.yo: grouping possible in ZLS_COLO[U]RS
-
-	* Zefram: 8843: Etc/zsh-development-guide, Src/.cvsignore,
-	  Src/.distfiles, Src/Builtins/.cvsignore, Src/Makefile.in,
-	  Src/Makemod.in.in, Src/Modules/.cvsignore,
-	  Src/Zle/.cvsignore, Src/Zle/.distfiles,
-	  Src/Zle/compcore.c, Src/Zle/complete.c,
-	  Src/Zle/complete.mdd, Src/Zle/compmatch.c,
-	  Src/Zle/compresult.c, Src/Zle/zle.mdd,
-	  Src/Zle/zle_bindings.c, Src/Zle/zle_keymap.c,
-	  Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_params.c, Src/Zle/zle_refresh.c,
-	  Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c,
-	  Src/Zle/zle_utils.c, Src/builtin.c, Src/compat.c,
-	  Src/cond.c, Src/exec.c, Src/glob.c, Src/hashtable.c,
-	  Src/hist.c, Src/init.c, Src/input.c, Src/jobs.c,
-	  Src/lex.c, Src/linklist.c, Src/loop.c, Src/makepro.awk,
-	  Src/math.c, Src/mem.c, Src/mkmakemod.sh, Src/module.c,
-	  Src/options.c, Src/params.c, Src/parse.c, Src/pattern.c,
-	  Src/prompt.c, Src/signals.c, Src/signames2.awk,
-	  Src/subst.c, Src/text.c, Src/utils.c, Src/zsh.h:
-	  use mod_export keyword to generate symbols in .export
-	  files automatically.
-
-	* Clint: 8842: Completion/Debian/_dupload,
-	  Completion/Debian/.distfiles: completion for dupload.
-
-	* Clint: 8841: Doc/zsh.yo.in: patch to 8827.
-
-	* Sven: 8840: Src/Zle/compcore.c, Doc/Zsh/compsys.yo,
-	  Etc/completion-style-guide, Completion/Base/_arguments,
-	  Completion/Base/_brace_parameter, Completion/Base/_describe,
-	  Completion/Base/_first, Completion/Base/_jobs,
-	  Completion/Base/_subscript, Completion/Base/_tilde,
-	  Completion/Base/_values, Completion/Builtins/_popd,
-	  Completion/Commands/_history_complete_word,
-	  Completion/Core/_alternative, Completion/Core/_description,
-	  Completion/Core/_files, Completion/Core/_parameters,
-	  Completion/Core/_path_files, Completion/Core/_requested,
-	  Completion/Core/_tags, Completion/Core/_wanted,
-	  Completion/Core/compinit, Completion/Debian/_apt,
-	  Completion/Linux/_rpm, Completion/User/_bunzip2,
-	  Completion/User/_bzip2, Completion/User/_compress,
-	  Completion/User/_dd, Completion/User/_dvi, Completion/User/_gdb,
-	  Completion/User/_gprof, Completion/User/_gs,
-	  Completion/User/_gunzip, Completion/User/_gzip,
-	  Completion/User/_mh, Completion/User/_mutt,
-	  Completion/User/_netscape, Completion/User/_nslookup,
-	  Completion/User/_pack, Completion/User/_pbm,
-	  Completion/User/_pdf, Completion/User/_ps,
-	  Completion/User/_pspdf, Completion/User/_ssh,
-	  Completion/User/_strip, Completion/User/_tar_archive,
-	  Completion/User/_tex, Completion/User/_tiff,
-	  Completion/User/_uncompress, Completion/User/_unpack,
-	  Completion/User/_users_on, Completion/X/_x_window,
-	  Completion/X/_xmodmap: tags can now be used to define groups for
-	  display.
-
-	* Zefram: 8839: Src/.cvsignore, Src/Builtins/.cvsignore,
-	  Src/Makemod.in.in, Src/Modules/.cvsignore, Src/Zle/.cvsignore,
-	  Src/Zle/compcore.c, Src/Zle/compctl.c, Src/Zle/complete.c,
-	  Src/Zle/compmatch.c, Src/Zle/compresult.c, Src/makepro.awk,
-	  Src/mkmakemod.sh, Src/zsh.mdd: separate local and global
-	  prototype files.
-
-	* Sven: 8838: Doc/Zsh/compsys.yo: colons in argument specifiers.
-
-	* Alexandre: 8836: Completion/User/_prompt: fix for _arguments
-	  use.
-
-	* Sven: 8834: Src/Zle/compcore.c, Src/Zle/complete.c: make sure
-	  grouping commands create groups.
-
-	* Zefram: 8833: Src/Modules/zftp.c: forward declaration of
-	  struct in_addr.
-
-1999-11-30  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* Clint: 8827: Makefile.in, Doc/.cvsignore, Doc/.distfiles,
-	  Doc/Makefile.in, Src/Makefile.in: partial program transform
-	  support in texinfo docs.
-
-	* Zefram: 8826: configure.in, Src/Modules/zftp.c: workaround
-	  for systems without inet_aton().
-
-	* Clint: 8824: Src/Makefile.in: use AC_ARG_PROGRAM, already set
-	  by configure.
-
-1999-11-29  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
-
-	* pws: Convig/version.mk: version 3.1.6-pws-10
-
-	* Sven: 8796: Src/Zle/computil.c, Src/utils.c: make freearray()
-	  safer w.r.t. null pointers.
-
-	* pws: 8794: Completion/User/_man: handle .bz2 files.
-
-	* pws: 8793: Src/jobs.c: matheval called incorrectly with
-	  heap allocation.
-
-1999-11-26  Peter Stephenson  <pws@supanet.com>
-
-	* Sven: 8787: Completion/Core/_approximate,
-	  Completion/Core/_correct, Completion/Core/_expand,
-	  Completion/Core/_main_complete: don't prepend completer name if
-	  there; save/restore $curcontext; typo.
-
-	* Tanaka Akira: 8786: Completion/User/_gs: ghostscript can handle
-	  PDF.
-
-	* Tanaka Akira: 8785: Completion/Debian/_apt: quoting typo.
-
-	* Bart: 8782, 8783: Src/lex.c: fix line numbers for `unmatched
-	  ...' errors.
-
-	* Clint: 8779: Src/utils.c: more compiler like error messages.
-
-	* Sven: 8777: Completion/Core/_normal, Completion/Core/_sort_tags,
-	  Doc/Zsh/compsys.yo: extra colon in ordinary argument contexts
-	  for consistency.
-
-	* Sven: 8776: Src/mkbltnmlst.sh, Src/module.c: error in static
-	  shell loading unknown module; don't use autoload stuff in
-	  static shells.
-
-1999-11-24  Peter Stephenson  <pws@supanet.com>
-
-	* Sven: 8770: Src/Builtins/rlimits.c, Src/Builtins/sched.c,
-	  Src/Modules/cap.c, Src/Modules/clone.c, Src/Modules/example.c,
-	  Src/Modules/files.c, Src/Modules/mapfile.c,
-	  Src/Modules/mathfunc.c, Src/Modules/parameter.c,
-	  Src/Modules/stat.c, Src/Modules/zftp.c, Src/Zle/compctl.c,
-	  Src/Zle/complete.c, Src/Zle/complist.c, Src/Zle/computil.c,
-	  Src/Zle/deltochar.c, Src/Zle/zle_hist.c, Src/Zle/zle_keymap.c,
-	  Src/Zle/zle_main.c, Src/Zle/zle_thingy.c,
-	  Src/Zle/zleparameter.c, Src/builtin.c, Src/exec.c, Src/init.c,
-	  Src/mkbltnmlst.sh, Src/module.c, Src/params.c, Src/zsh.h,
-	  Doc/Zsh/builtins.yo, Etc/zsh-development-guide: zmodload now
-	  behaves same for builtin as for dynamically loaded modules
-	  (need to call `zmodload' or autoload explicitly even in statically
-	  linked shells).
-
-	* Sven: 8768: Completion/Core/_complete: change the current
-	  context only if called from _main_complete.
-
-	* Sven: 8766: Src/module.c: don't try to load linked-in module.
-
-	* Zefram: 8764: Src/Modules/zftp.c, acconfig.h, configure.in:
-	  Support for IPv6 in zftp.
-
-1999-11-23  Peter Stephenson  <pws@supanet.com>
-
-	* Adam: 8756: Doc/Zsh/compsys.yo: typo.
-
-	* Sven: 8754: INSTALL: this really does remove comp1, and rewrites
-	  the instructions for systems where module symbols are not
-	  intervisible.
-
-	* Tanaka Akira: more funky telnet options.
-
-	* Sven: 8750: Completion/User/_perldoc: update.
-
-	* Sven: 8749: Src/Zle/computil.c, Completion/Base/_arguments:
-	  mixing single-letter and long options.
-
-	* Sven: 8747: INSTALL: remove comp1 references.
-
-	* Sven: 8746: Src/Zle/computil.c, Completion/Base/_arguments:
-	  (not compsys.yo hunk): escape :'s in computils; fix nesting of
-	  loops in arguments.
-
-	* Oliver: 8745: Completion/User/_mount: handles IRIX 5.3 and AIX,
-	  improves Linux.
-
-	* Sven: 8744: Src/init.c: make compctlreadptr visible after 8741.
-
-	* Sven/Alexandre: 8742: Completion/Builtins/_pids: added more
-	  matches than descriptions; also use command ps.
-
-	* Adam: 8741: Src/init.c: remove references to deleted comp1
-	  module.
-
-	* pws: 8738: Completion/Builtins/_vars, Completion/User/_make,
-	  Doc/Zsh/compsys.yo, Src/math.c, configure.in: parts missing
-	  in 3.1.6-pws-9.
-
-1999-11-22  Peter Stephenson  <pws@supanet.com>
-
-	* Alexandre: 8728: Completion/Base/_arguments: extra local.
-
-	* Oliver: 8726: Completion/User/_netscape: was broken.
-
-	* Oliver: 8725: Src/zsh.export, Src/Zle/compctl.mdd,
-	  Src/Zle/complete.export, Src/Zle/computil.mdd,
-	  Src/Zle/zle.export, Src/Zle/.distfiles: lastest changes
-	  necessary for dynamical AIX support.
-
-	* Sven: 8722: Completion/Base/_arguments,
-	  Completion/Core/_path_files, Completion/User/_telnet,
-	  Doc/Zsh/compsys.yo: ignored-suffixes style.
-
-	* Sven: 8721: Src/signals.c: null sigfuncs when being saved.
-
-	* Sven: 8720: Doc/Zsh/compsys.yo,
-	  Functions/Zle/incremental-complete-word,
-	  Functions/Zle/predict-on, Completion/Base/_combination,
-	  Completion/Base/_describe, Completion/Base/_jobs,
-	  Completion/Base/_subscript, Completion/Base/_tilde,
-	  Completion/Builtins/_pids, Completion/Builtins/_popd,
-	  Completion/Builtins/_sched, Completion/Core/_approximate,
-	  Completion/Core/_complete, Completion/Core/_correct,
-	  Completion/Core/_expand, Completion/Core/_list,
-	  Completion/Core/_main_complete, Completion/Core/_match,
-	  Completion/Core/_menu, Completion/Core/_oldlist,
-	  Completion/Core/compinit, Completion/User/_groups,
-	  Completion/User/_hosts, Completion/User/_my_accounts,
-	  Completion/User/_other_accounts, Completion/User/_ports,
-	  Completion/User/_rlogin, Completion/User/_socket,
-	  Completion/User/_ssh, Completion/User/_telnet,
-	  Completion/User/_user_at_host, Completion/User/_users: various
-	  parameters have become styles.
-
-	* Sven: 8718: Src/Zle/compcore.c: addmatches() with fignore.
-
-	* Sven: 8715: Src/Zle/complist.mdd: module depends on zle.
-
-	* Sven: 8716: Completion/Base/_arguments, Src/Zle/computil.c:
-	  option completion fixes; careful with multiple use of tags.
-
-	* Bart: 8501: configure.in: don't try testing for job control
-	  if stdin is not a terminal.
-
-1999-11-21  Peter Stephenson  <pws@supanet.com>
-
-	* pws: Configure/version.mk: 3.1.6-pws-9 made available.
-	
-	* Clint: 8702: Completion/Debian/_dpkg: typo.
-
-	* Bart: 8696: Completion/User/_cvs: `cvs watch add' failed.
-
-	* Clint: 8695: Doc/Zsh/params.yo, Src/params.c: LC_NUMERIC support.
-
-	* Clint: 8609, 8693: Src/math.c: make decimal point use
-	  independent of locale.
-	
-	* Bart: 8692: Src/Zle/computil.c: core dump in completion.
-
-	* Alexandre: 8691: Completion/User/_mount: upgrade for
-	  Solaris (tested),  OSF and Linux (not).
-
-	* Oliver: 8690: Src/makepro.awk: printf locals -> print locals
-	  avoiding buffer size limit on some systems.
-
-	* Sven: 8679: Completion/Base/_jobs, Doc/Zsh/compsys.yo: use
-	  strings style in _jobs.	  
-
-	* Tanaka Akira: 8678: Completion/User/_cvs: tag name after `cvs
-	  tag'.
-
-	* Sven: 8677: Completion/User/_killall: careful with incompatible
-	  versions.
-
-	* Sven: zsh-users/2742: Src/Makefile.in: remove comp1 from Makefile.in
-	  for building into statically linked shells.
-
-	* Sven: 8675: Completion/Builtins/_kill,
-	  Completion/Builtins/_signals, Completion/Builtins/_trap,
-	  Completion/User/_killall: better use of tags with signal
-	  handling completion.
-
-	* Bart: 8674: Src/builtin.c: make `typeset -x' equivalent to export
-	  by forcing -g.
-
-	* Adam: 8672: Functions/Prompts/.distfiles,
-	  Functions/Prompts/prompt_adam2_setup,
-	  Functions/Prompts/prompt_fire_setup,
-	  Fuanctions/Prompts/promptinit: fix $prompt_theme use; restore after
-	  preview; add distfiles.
-
-	* Sven: 8681: Completion/Builtins/.distfiles: and _signals.
-
-	* Sven: 8683: Completion/Core/.distfiles: add _funcall.
-
-	* Oliver: 8684: Prompts/prompt_off_setup,
-	  Prompts/prompt_oliver_setup, Prompts/prompt_redhat_setup,
-	  Prompts/prompt_suse_setup, Prompts/prompt_zefram_setup,
-	  Prompts/promptinit: tweaks for 8667.
-
-	* Adam: 8669: Misc/bash2zshprompt: and this one, too.
-
-	* Adam: 8667: Functions/Misc/colors,
-	  Functions/Prompts/prompt_adam1_setup,
-	  Functions/Prompts/prompt_adam2_setup,
-	  Functions/Prompts/prompt_bigfade_setup,
-	  Functions/Prompts/prompt_blue_setup,
-	  Functions/Prompts/prompt_combo_setup,
-	  Functions/Prompts/prompt_cyan_setup,
-	  Functions/Prompts/prompt_elite2_setup,
-	  Functions/Prompts/prompt_elite_setup,
-	  Functions/Prompts/prompt_fade_setup,
-	  Functions/Prompts/prompt_fire_setup,
-	  Functions/Prompts/prompt_green_setup,
-	  Functions/Prompts/prompt_magenta_setup,
-	  Functions/Prompts/prompt_off_setup,
-	  Functions/Prompts/prompt_oliver_setup,
-	  Functions/Prompts/prompt_red_setup,
-	  Functions/Prompts/prompt_suse_setup,
-	  Functions/Prompts/prompt_white_setup,
-	  Functions/Prompts/prompt_yellow_setup,
-	  Functions/Prompts/prompt_zefram_setup,
-	  Functions/Prompts/promptinit: new prompt themes with better
-	  handling of colours.
-
-	* Sven: 8665, 8664: Doc/Zsh/compsys.yo, Completion/Core/_funcall,
-	  Completion/Core/compinit, Completion/Linux/_rpm,
-	  Completion/User/_nslookup: manual clean-ups.
-
-	* Adam: 8658: Completion/Core/compinit, Doc/Zsh/compsys.yo:
-	  fix some typos.
-
-	* Tanaka Akira: 8657: Completion/Base/.distfiles,
-	  Completion/Builtins/.distfiles, Completion/Commands/.distfiles,
-	  Completion/Core/.distfiles, Completion/Debian/.distfiles,
-	  Misc/.distfiles, Src/Zle/.distfiles: new and moved files.
-
-	* Sven: 8655: Completion/Base/_arguments: for 8654.
-	
-	* Sven: 8654: Doc/Zsh/compsys.yo,
-	  Functions/Zle/incremental-complete-word,
-	  Functions/Zle/predict-on, Completion/Base/_describe,
-	  Completion/Base/_first, Completion/Base/_regex_arguments,
-	  Completion/Builtins/_echotc,
-	  Completion/Commands/_history_complete_word,
-	  Completion/Core/compinit: documentation for new tags code.
-
-	* Sven: 8648: Completion/Base/_brace_parameter,
-	  Completion/Base/_subscript, Completion/Builtins/_sched,
-	  Completion/Builtins/_stat, Completion/User/_tar: get rid of some 
-	  _requested and rationalise tag names.
-
-	* Sven: 8647: Completion/Builtins/_hash,
-	  Completion/Builtins/_sched, Completion/Builtins/_stat,
-	  Completion/Core/compinit, Completion/User/_cvs,
-	  Completion/User/_urls, Completion/User/_user_at_host,
-	  Completion/User/_whois, Completion/X/_xutils: additional fixes
-	  for latest tags code.
-
-	* Sven: 8646: Src/Zle/computil.c: add comments
-
-	* Tanaka Akira: 8645: Completion/User/_make, Doc/Zsh/compsys.yo:
-	  fixes for 8639.
-
-	* Sven: 8644: Completion/Base/_arguments, Completion/Base/_values:
-	  loop for only a few options, so don't use getopts.
-
-	* Sven: 8642: Completion/Base/_arguments, Completion/Base/_values: 
-	  don't shift OPTINDS-1.
-
-	* Sven: 8640: Completion/Commands/.distfiles: remove _verbose_list.
-
-	* Sven: 8639: Src/Zle/computil.c, Src/Zle/computil.mdd,
-	  Completion/Base/_arg_compile, Completion/Base/_arguments,
-	  Completion/Base/_brace_parameter,
-	  Completion/Base/_command_names, Completion/Base/_condition,
-	  Completion/Base/_default, Completion/Base/_describe,
-	  Completion/Base/_equal, Completion/Base/_first,
-	  Completion/Base/_jobs, Completion/Base/_math,
-	  Completion/Base/_parameter, Completion/Base/_regex_arguments,
-	  Completion/Base/_subscript, Completion/Base/_tilde,
-	  Completion/Base/_values, Completion/Builtins/_aliases,
-	  Completion/Builtins/_arrays, Completion/Builtins/_autoload,
-	  Completion/Builtins/_bindkey, Completion/Builtins/_builtin,
-	  Completion/Builtins/_cd, Completion/Builtins/_command,
-	  Completion/Builtins/_compdef, Completion/Builtins/_disable,
-	  Completion/Builtins/_echotc, Completion/Builtins/_enable,
-	  Completion/Builtins/_functions, Completion/Builtins/_hash,
-	  Completion/Builtins/_kill, Completion/Builtins/_limits,
-	  Completion/Builtins/_pids, Completion/Builtins/_popd,
-	  Completion/Builtins/_sched, Completion/Builtins/_stat,
-	  Completion/Builtins/_trap, Completion/Builtins/_unhash,
-	  Completion/Builtins/_vars, Completion/Builtins/_wait,
-	  Completion/Builtins/_which, Completion/Builtins/_zftp,
-	  Completion/Builtins/_zle, Completion/Builtins/_zmodload,
-	  Completion/Commands/_complete_help,
-	  Completion/Commands/_correct_word,
-	  Completion/Commands/_expand_word,
-	  Completion/Commands/_history_complete_word,
-	  Completion/Commands/_read_comp, Completion/Core/.distfiles,
-	  Completion/Core/_alternative, Completion/Core/_approximate,
-	  Completion/Core/_complete, Completion/Core/_correct,
-	  Completion/Core/_description, Completion/Core/_expand,
-	  Completion/Core/_files, Completion/Core/_list,
-	  Completion/Core/_main_complete, Completion/Core/_match,
-	  Completion/Core/_menu, Completion/Core/_message,
-	  Completion/Core/_normal, Completion/Core/_oldlist,
-	  Completion/Core/_options, Completion/Core/_parameters,
-	  Completion/Core/_path_files, Completion/Core/_requested,
-	  Completion/Core/_set_options, Completion/Core/_sort_tags,
-	  Completion/Core/_style, Completion/Core/_tags,
-	  Completion/Core/_unset_options, Completion/Core/_wanted,
-	  Completion/Core/compdump, Completion/Core/compinit,
-	  Completion/Core/compinstall, Completion/Debian/_apt,
-	  Completion/Debian/_deb_packages, Completion/Linux/_rpm,
-	  Completion/User/_archie, Completion/User/_cvs,
-	  Completion/User/_dd, Completion/User/_flex,
-	  Completion/User/_gcc, Completion/User/_gdb,
-	  Completion/User/_gprof, Completion/User/_groups,
-	  Completion/User/_gs, Completion/User/_hosts,
-	  Completion/User/_killall, Completion/User/_lynx,
-	  Completion/User/_mailboxes, Completion/User/_make,
-	  Completion/User/_man, Completion/User/_mh,
-	  Completion/User/_mount, Completion/User/_mutt,
-	  Completion/User/_netscape, Completion/User/_nslookup,
-	  Completion/User/_pbm, Completion/User/_perl_basepods,
-	  Completion/User/_perl_builtin_funcs,
-	  Completion/User/_perl_modules, Completion/User/_ports,
-	  Completion/User/_rcs, Completion/User/_rlogin,
-	  Completion/User/_socket, Completion/User/_ssh,
-	  Completion/User/_stty, Completion/User/_tar,
-	  Completion/User/_telnet, Completion/User/_tiff,
-	  Completion/User/_urls, Completion/User/_use_lo,
-	  Completion/User/_user_at_host, Completion/User/_users,
-	  Completion/User/_users_on, Completion/User/_wget,
-	  Completion/User/_whois, Completion/User/_yp,
-	  Completion/X/_x_arguments, Completion/X/_x_color,
-	  Completion/X/_x_cursor, Completion/X/_x_display,
-	  Completion/X/_x_extension, Completion/X/_x_font,
-	  Completion/X/_x_keysym, Completion/X/_x_modifier,
-	  Completion/X/_x_window, Completion/X/_xmodmap,
-	  Completion/X/_xt_arguments, Completion/X/_xutils,
-	  Doc/Zsh/compsys.yo, Doc/Zsh/mod_computil.yo,
-	  Etc/completion-style-guide: contexts extended to multiple levels;
-	  tags and styles replace configuration keys; _complete_help (C-xh)
-	  shows context and accepted tags.
-
-	* Bart: 8638: Completion/Base/.distfiles,
-	  Completion/Builtins/.distfiles: mv _vars from Base to _Builtins.
-	
-	* Sven: 8633: Doc/Zsh/compsys.yo: documentation for -O options
-	  to _arguments and _values.o
-
-	* Sven: 8632: Completion/User/_telnet: remove set -x
-
-	* Sven: 8630: Src/Zle/computil.c, Doc/Zsh/compsys.yo,
-	  Completion/Base/_arguments, Completion/Base/_brace_parameter,
-	  Completion/Base/_command_names, Completion/Base/_condition,
-	  Completion/Base/_default, Completion/Base/_describe,
-	  Completion/Base/_equal, Completion/Base/_jobs,
-	  Completion/Base/_math, Completion/Base/_parameter,
-	  Completion/Base/_subscript, Completion/Base/_tilde,
-	  Completion/Base/_values, Completion/Base/_vars,
-	  Completion/Builtins/_aliases, Completion/Builtins/_arrays,
-	  Completion/Builtins/_autoload, Completion/Builtins/_bindkey,
-	  Completion/Builtins/_builtin, Completion/Builtins/_cd,
-	  Completion/Builtins/_command, Completion/Builtins/_compdef,
-	  Completion/Builtins/_disable, Completion/Builtins/_echotc,
-	  Completion/Builtins/_enable, Completion/Builtins/_functions,
-	  Completion/Builtins/_hash, Completion/Builtins/_kill,
-	  Completion/Builtins/_limits, Completion/Builtins/_pids,
-	  Completion/Builtins/_popd, Completion/Builtins/_sched,
-	  Completion/Builtins/_stat, Completion/Builtins/_trap,
-	  Completion/Builtins/_unhash, Completion/Builtins/_wait,
-	  Completion/Builtins/_which, Completion/Builtins/_zftp,
-	  Completion/Builtins/_zle, Completion/Builtins/_zmodload,
-	  Completion/Core/_alternative, Completion/Core/_complete,
-	  Completion/Core/_files, Completion/Core/_main_complete,
-	  Completion/Core/_message, Completion/Core/_normal,
-	  Completion/Core/_options, Completion/Core/_parameters,
-	  Completion/Core/_requested, Completion/Core/_set_options,
-	  Completion/Core/_sort_tags, Completion/Core/_style,
-	  Completion/Core/_tags, Completion/Core/_unset_options,
-	  Completion/Core/compinit, Completion/Debian/_apt,
-	  Completion/Linux/_rpm, Completion/User/_archie,
-	  Completion/User/_flex, Completion/User/_gcc,
-	  Completion/User/_gprof, Completion/User/_groups,
-	  Completion/User/_gs, Completion/User/_hosts,
-	  Completion/User/_lynx, Completion/User/_mount,
-	  Completion/User/_mutt, Completion/User/_netscape,
-	  Completion/User/_nslookup, Completion/User/_pbm,
-	  Completion/User/_ports, Completion/User/_rlogin,
-	  Completion/User/_socket, Completion/User/_ssh,
-	  Completion/User/_telnet, Completion/User/_tiff,
-	  Completion/User/_urls, Completion/User/_user_at_host,
-	  Completion/User/_users, Completion/User/_users_on,
-	  Completion/User/_wget, Completion/User/_whois,
-	  Completion/User/_yp, Completion/X/_x_color,
-	  Completion/X/_x_cursor, Completion/X/_x_display,
-	  Completion/X/_x_extension, Completion/X/_x_font,
-	  Completion/X/_x_keysym, Completion/X/_x_modifier,
-	  Completion/X/_x_window, Completion/X/_xmodmap: tags rewrite.
-
-	* Bart: 8617: Src/signals.c: warning, not error, if jobs running
-	  at exit.
-
-	* Akim Demaille <akim@epita.fr>, Tanaka Akira: 8612, 8615:
-	  Completion/User/_make: avoid empty branch in awk pattern by
-	  using `?'.
-
-	* Clint: 8611: Completion/Debian/_apt: complete package to show.
-
-	* Sven: 8607: Src/builtin.c, Src/math.c: initialize mathevall()
-	  return value, but not hunk reset errflag in zexit() (except
-	  kept braces).
-
-	* Sven: 8604: Src/Builtins/.cvsignore, Src/Modules/.cvsignore,
-	  Src/Zle/.cvsignore: ignore so_locations.
-
-	* Sven: 8603: Completion/Base/_arguments, Completion/Base/_describe,
-	  Completion/Base/_values, Completion/Builtins/_kill,
-	  Completion/Builtins/_wait, Completion/Core/_alternative,
-	  Completion/Core/_files, Completion/Core/_main_complete,
-	  Completion/Core/_requested, Completion/Core/_style,
-	  Completion/Core/_tags, Completion/Core/compinit: simplified tags 
-	  mechanism and new style mechanism.
-
-	* Bart: 8601: Src/Zle/compcore.c: add DPUTS for 8599.
-
-	* Sven: 8599: Src/Zle/compcore.c: fix problems with quoting
-
-	* Adam: 8598: Misc/make-zsh-urls: perl script for creating URLs to
-	  complete.
-
-	* Tanaka Akira: 8597: Completion/User/_whois: handle fwhois.
-
-	* Clint: 8594: Completion/Debian/_bug: improvements.
-
-	* Sven: 8591: Src/Zle/zle_main.c: fix up vared in subshell by
-	  re-opening file
-
-	* Sven: 8590: Src/Zle/zle.h, Src/Zle/zle_tricky.c,
-	  Src/Zle/zle_utils.c, Completion/Core/_path_files: keeping
-	  track of prefixes and suffixes in file completion and tracking
-	  cursor position for undo.
-
-	* Sven: 8588, 8589: Src/Zle/comp.h, Src/Zle/compcore.c,
-	  Src/Zle/compctl.c, Src/Zle/complete.c, Src/Zle/compmatch.c,
-	  Src/Zle/compresult.c, Src/Zle/computil.c, Src/Zle/computil.mdd,
-	  Src/Zle/zle_tricky.c, Src/params.c, Doc/Zsh/compwid.yo,
-	  Doc/Zsh/mod_computil.yo, Completion/Core/_path_files: mega patch
-	  for nested quotes in completion.
-
-	* Clint: 8585: Src/Zle/compresult.c: count mismatch displaying lines
-
-	* Clint: 8576: configure.in: fix up options descriptions
-
-	* Clint: 8575: Completion/Debian.new/_bug: handle reportbug
-
-	* Sven: 8573: Src/utils.c: more careful quoting re-inserted ~, too.
-
-	* Sven: 8569: Src/utils.c: 8565 after colon.
-
-	* Sven: 8566: Completion/Core/_tags: local var is $ttags, not $tags.
-
-	* Sven: 8565: Src/utils.c, Completion/Core/_expand: don't quote =
-	  in normal argument except at start.
-
-1999-11-19  Peter Stephenson  <pws@supanet.com>
-
-	* Sven: 8562: Completion/Core/_path_files: handle noglobdots but
-	  still find explicitly typed dotfiles.
-
-	* Sven: 8560: Src/Zle/complete.export, Src/Zle/compresult.c,
-	  Src/Zle/zle.export, Src/Zle/zle_tricky.c, Src/zsh.export: move
-	  functions around.
-
-	* Bart: 8558: Completion/Builtins/.distfiles: update
-
-	* Oliver: 8547: zle.export, complete.export, zsh.export
-
-	* Clint: 8545, 7546: Functions/Misc/run-help: .->dot and :->colon;
-	  check $HELPDIR and english, don't invoke man if not necessary.
-
-	* Bart: 8541: configure.in, Completion/Base/.distfiles,
-	  Completion/Builtins/.distfiles, Completion/Core/.distfiles,
-	  Completion/Debian/.distfiles: fix getpwent() test and update
-	  .distfiles.
-
-	* Clint: 8540: Completion/Debian/_bug: completion for Debian `bug'.
-
-	* Sven: 8537: Completion/Base/_describe, Completion/Base/_values,
-	  Completion/Builtins/_kill, Completion/Builtins/_pids,
-	  Completion/Builtins/_wait, Completion/Core/_tags,
-	  Completion/User/_gdb: _pids to complete PIDs; -i option to _tags.
-
-	* Sven: 8536: Src/lex.c: don't try to balance parentheses in
-	  parameter expressions inside math evals.
-
-	* Sven: 8535: Src/Zle/compcore.c, Src/Zle/complist.c,
-	  Src/Zle/zle_tricky.c: drop back to ordinary completion to query
-	  user for listing when in menu-select.	
-
-	* Sven: 8533: Completion/Base/_arguments, Completion/Base/_describe,
-	  Completion/Base/_values, Completion/Builtins/_kill,
-	  Completion/Builtins/_wait, Completion/Core/_files,
-	  Completion/Core/_main_complete, Completion/Core/_tags: remove
-	  prios parameters by using $funcstack.
-
-	* Clint: 8532: Completion/Debian/_dpkg,
-	  Completion/Debian/_dpkg-source: new support for Debian package
-	  management functions.
-
-	* 8520: Completion/Base/_arguments, Completion/Base/_describe,
-	  Completion/Base/_values, Completion/Builtins/_kill,
-	  Completion/Builtins/_wait, Completion/Core/_files,
-	  Completion/Core/_main_complete, Completion/Core/_tags,
-	  Completion/Core/compinit: add _tags functionality
-
-	* Sven: 8519: Src/Zle/complist.c: don't use old list after a menu
-	  selction.
-
-	* Sven: 8518: Src/Modules/parameter.c, Src/Modules/parameter.mdd,
-	  Completion/Base/_command_names, Completion/Builtins/_aliases,
-	  Completion/Builtins/_enable, Completion/Builtins/_unhash,
-	  Completion/Builtins/_which, Doc/Zsh/builtins.yo,
-	  Doc/Zsh/mod_parameter.yo: dis* parameter keys are now all
-	  dis_*.
-
-	* Sven: 8517: Src/Zle/zleparameter.c: when to calculate values
-	  for zle parameters (update to 8474).
-
-	* Sven: 8515: Src/Zle/comp.h, Src/Zle/compctl.h, Src/builtin.c,
-	  Src/module.c, Doc/Zsh/builtins.yo,
-	  Completion/Base/_command_names, Completion/Builtins/_bg_jobs,
-	  Completion/Builtins/_fg_jobs, Completion/Builtins/_hash,
-	  Completion/Builtins/_jobs, Completion/Builtins/_kill,
-	  Completion/Builtins/_wait, Completion/User/_gdb,
-	  Completion/User/_perldoc: completion file headers;
-	  zmodload in static shells; changes in job control
-	  completion.
-
-	* Bart: 8512: Completion/Core/compinit: workaround zmodload -i
-	  unavailibity in statically linked shell.
-
-1999-11-03  Bart Schaefer  <schaefer@zsh.org>
-
-	* Config/version.mk: Set version string to 3.1.6-bart-8.
-
-	* Doc/Zsh/Makefile.in, Src/Zle/zle.mdd: The comp1 module is obsolete.
-
-1999-11-02  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/Zle/comp1.c, Src/Zle/comp1.export, Src/Zle/comp1.mdd: Sven:
-	8424: These files are obsolete now.
-
-	* Src/Zle/compcore.c: Sven: 8495: The wrong cline struct was being
-	tested, causing improper auto-suffix-removal behavior.
-
-	* Completion/Core/_path_files: Sven: 8494: Fix up prefix/suffix
-	manipulations.
-
-	* Completion/Base/_value: Tanaka: 8491: Call _value after
-	redefining it.
-
-	* Src/Zle/compcore.c, Src/Zle/compresult.c, Src/Zle/computil.c:
-	Sven: 8490: Fix display bugs and a fencepost error.
-
-	* Src/Modules/parameter.c: Sven: 8490: Use the correct scan for
-	disabled aliases.
-
-	* Completion/User/_urls: Sven: 8490: Don't use "hosts" as a local
-	paramter name, _hosts wants to see the global when it gets called
-	later.
-
-	* Src/exec.c: Sven: 8488: Pass a copy of the function name to
-	module wrappers in case the function undefines/redefines itself.
-
-	* Completion/Base/_value: Tanaka: 8487: Completions after
-	parameter assignments.
-
-	* Completion/User/_make: Tanaka: 8486: Some BSD-variant special cases.
-
-	* Completion/Debian/_apt, Completion/User/_archie: Tanaka: 8485:
-	Fix typos and minor omissions.
-
-	* Completion/User/_cvs, Completion/User/_whois,
-	Completion/Core/compinit, Completion/Base/_combination: Sven:
-	8484: Use parameter module for testing function existence; fix a
-	couple of small bugs.
-
-	* Src/Modules/parameter.c: Sven: 8482: Make sure special AA param
-	keys are set when needed.
-
-	* Src/Zle/compcore.c, Src/Zle/compmatch.c: Sven: 8481: An empty
-	string in compmatchers means try global match specs.
-
-	* Doc/Zsh/mod_parameter.yo, Src/Modules/parameter.c,
-	Src/Modules/parameter.mdd, Completion/Core/compinit: Sven: 8480:
-	Add funcstack parameter.
-
-	* Completion/Core/_path_files: Sven: 8479: Use globdots throughout.
-
-	* Completion/Base/_first: Sven: 8479: Fix example code (in comment).
-
-	* Doc/Zsh/expn.yo, Src/glob.c: Sven: zsh-users/2713: Qualifier (n)
-	sets numeric-glob-sort for current glob.
-
-	* Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c, Doc/Zsh/compctl.yo,
-	Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo, Doc/Zsh/intro.yo,
-	Doc/Zsh/manual.yo, Doc/Zsh/mod_complete.yo, Doc/Zsh/modules.yo,
-	Doc/Zsh/zle.yo, Src/Zle/comp.h, Src/Zle/compcore.c,
-	Src/Zle/complete.c, Src/Zle/complete.mdd, Src/Zle/complist.c,
-	Src/Zle/compmatch.c, Src/Zle/compresult.c, Src/Zle/zle.h,
-	Src/Zle/zle_main.c, Src/Zle/zle_misc.c, Doc/zsh.yo: Sven: 8478 (as
-	described in 8475 and 8476): Continue the re-modularization of the
-	new completion system, moving some doc into new sections and
-	moving most of the completion code from zle_tricky.c into three
-	new files.
-
-	* Completion/Core/compinit: Sven: 8475: Call zmodload on parameter
-	and zleparameter.  This may not be necessary, as it wasn't
-	included in the correction in 8478.
-
-	* Src/Modules/parameter.c: Sven: 8474: Fix computation from
-	previous patch for whether values are needed.
-
-	* Src/hashtable.c: Sven: 8474: Fall back on getpwent() if NIS
-	and/or NIS+ don't find anything.
-
-	* Src/signals.c: Sven: 8473: Reset sigtrapped[] during dosavetrap().
-
-	* Src/Modules/parameter.c, Src/Zle/zleparameter.c: Sven: 8472:
-	Don't calculate values for special parameters unless needed.
-
-	* Functions/Zle/predict-on: Use a "repeat 1" instead of "while
-	true" for a dummy loop.  (Unposted.)
-
-	* Completion/Builtins/_functions, Completion/Builtins/_unhash,
-	Completion/Builtins/_which, Completion/Builtins/_zle,
-	Completion/Builtins/_zmodload, Doc/Zsh/mod_parameter.yo,
-	Doc/Zsh/mod_zleparameter.yo, Src/Modules/parameter.c,
-	Src/Modules/parameter.mdd, Src/Zle/zleparameter.c,
-	Src/Zle/zleparameter.mdd, Completion/Base/_command_names,
-	Completion/Base/_equal, Completion/Builtins/_aliases,
-	Completion/Builtins/_bindkey, Completion/Builtins/_builtin,
-	Completion/Builtins/_disable, Completion/Builtins/_enable: Sven:
-	8471: Split some paramters into enabled and disabled variants.
-
-	* Functions/Zle/predict-on: Sven: 8470: Test list_max of 0 as a
-	special case.
-
-	* configure.in: Zefram: 8459: More places to hunt for signals and
-	resources.
-
-	* Completion/Core/compinit, Doc/Zsh/compsys.yo, Src/xmods.conf:
-	Sven: 8440: Auto-autoload the parameter modules, because
-	completion won't work without them.
-
-	* Src/Zle/zle_tricky.c: Sven: 8439: Completion lists respect
-	NUMERIC_GLOB_SORT.
-
-	* Src/Zle/zle_tricky.c: Sven: 8438: Force recompute of completion
-	list in listlist().
-
-	* Src/Zle/complist.c, Src/Zle/zle_tricky.c: Sven: 8437: Fix crash
-	in menu-select and remove old ref to ZLS_SELECT param.
-
-	* Src/Zle/compctl.mdd, Src/Zle/complete.c, Src/Zle/complete.mdd,
-	Src/Zle/complist.c, Src/Zle/complist.mdd, Src/Zle/computil.mdd,
-	Src/Zle/zle.h, Src/Zle/zle_keymap.c, Src/Zle/zle_main.c,
-	Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c,
-	Src/Zle/zleparameter.c, Src/Zle/zleparameter.mdd,
-	Doc/Zsh/compwid.yo, Doc/Zsh/expn.yo, Doc/Zsh/manual.yo,
-	Doc/Zsh/mod_clone.yo, Doc/Zsh/mod_compctl.yo,
-	Doc/Zsh/mod_complete.yo, Doc/Zsh/mod_computil.yo,
-	Doc/Zsh/mod_parameter.yo, Doc/Zsh/mod_zle.yo,
-	Doc/Zsh/mod_zleparameter.yo, Doc/Zsh/modules.yo,
-	Src/Modules/parameter.c, Src/Modules/parameter.mdd,
-	Src/Zle/comp.h, Src/Zle/compctl.h, Src/hashtable.c, Src/module.c,
-	Src/params.c, Src/subst.c, Src/xmods.conf, Completion/User/_cvs,
-	Completion/User/_gdb, Completion/User/_man, Completion/User/_mh,
-	Completion/User/_nslookup, Completion/User/_tar,
-	Completion/User/_urls, Completion/User/_users,
-	Completion/User/_whereis, Completion/User/_whois,
-	Completion/X/_x_font, Completion/X/_x_window,
-	Completion/X/_xmodmap, Doc/Makefile.in, Doc/Zsh/compctl.yo,
-	Doc/Zsh/compsys.yo, Completion/Debian/_apt,
-	Completion/Core/_approximate, Completion/Core/_main_complete,
-	Completion/Core/_normal, Completion/Core/_options,
-	Completion/Core/_parameters, Completion/Core/_path_files,
-	Completion/Core/compinit, Completion/Commands/_bash_completions,
-	Completion/Commands/_history_complete_word,
-	Completion/Commands/_read_comp, Completion/Builtins/_aliases,
-	Completion/Builtins/_arrays, Completion/Builtins/_bg_jobs,
-	Completion/Builtins/_bindkey, Completion/Builtins/_builtin,
-	Completion/Builtins/_cd, Completion/Builtins/_command,
-	Completion/Builtins/_compdef, Completion/Builtins/_disable,
-	Completion/Builtins/_enable, Completion/Builtins/_fc,
-	Completion/Builtins/_functions, Completion/Builtins/_hash,
-	Completion/Builtins/_jobs, Completion/Builtins/_kill,
-	Completion/Builtins/_set, Completion/Builtins/_stat,
-	Completion/Builtins/_trap, Completion/Builtins/_unhash,
-	Completion/Builtins/_wait, Completion/Builtins/_which,
-	Completion/Builtins/_zle, Completion/Builtins/_zmodload,
-	Completion/Base/_arguments, Completion/Base/_brace_parameter,
-	Completion/Base/_command_names, Completion/Base/_describe,
-	Completion/Base/_equal, Completion/Base/_first,
-	Completion/Base/_job, Completion/Base/_regex_arguments,
-	Completion/Base/_tilde, Completion/Base/_values: Sven: 8424:
-	Rearrange completion code to make the new function-based system
-	the default and begin separating zle_tricky, the old compctl
-	stuff, and the new system into better-segregated modules.
-
-	* Src/Zle/compctl.c: Port from zle_tricky.c my local stubbornness
-	patch to use short job names, not whole job listings, in job
-	completions.
-
-	* Src/Zle/compctl.c: Sven: 8424: Rearrange completion code to make
-	the new function-based system the default and begin separating
-	zle_tricky, the old compctl stuff, and the new system into
-	better-segregated modules.
-
-1999-10-27  Bart Schaefer  <schaefer@zsh.org>
-
-	* Functions/Zle/predict-on: Better handling of automenu, and don't
-	generate a listing if nmatches is so big that it would generate a
-	"do you wish ...?" prompt.
-
-	* Functions/Zle/predict-on, Doc/Zsh/compsys.yo: Sven: 8442: "Pour
-	some compconfig over" predict-on.
-
-1999-10-26  Bart Schaefer  <schaefer@zsh.org>
-
-	* Functions/Zle/predict-on: As per Sven's suggestion, use a
-	comppostfuncs function to suppress the "do you wish to see all
-	possibilities?" message on long listings.
-
-1999-10-25  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/Zle/complist.c: Alexandre Duret-Lutz: 8413: Tweak 8412 to
-	extend the menu-selection highlight to the full width of the
-	column.
-
-	* Src/Zle/complist.c, Doc/Zsh/mod_complist.yo: Sven: 8412: Add
-	separate colorings for the file-type-marker and for background
-	spaces, to be able to more closely copy GNU color-ls.
-
-	* Src/Modules/parameter.c: Bart: 8404: Implement "autoload -X" and
-	change the value of "$functions" to fit.  Also fix a crash-bug
-	when unloading this module.
-
-	* Src/builtin.c, Src/exec.c, Src/hashtable.c, Doc/Zsh/builtins.yo,
-	Doc/Zsh/func.yo: Bart: 8404: Implement "autoload -X" and change the
-	output of "functions" to fit.
-
-	* Doc/Zsh/zle.yo: Sven: 8400: BLINES -> BUFFERLINES
-
-1999-10-24  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/zsh.mdd: Don't forcibly rebuild zshpaths.h; instead make it
-	depend on the usual configuration-related makefile fragments.
-
-	* Src/parse.c: Fix function-body parsing bug introduced by earlier
-	optimizations.
-
-1999-10-22  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/Modules/stat.c: Alexandre Duret-Lutz: 8371: Make "stat -g"
-	correspond to the doc for it.
-
-	* Src/hist.c: Alexandre Duret-Lutz: 8376: !# history expansion now
-	works during completion, as it has in 3.0 since June 1, 1997.
-
-	* Src/main.c, Src/params.c, Src/system.h, INSTALL, acconfig.h,
-	configure.in: Zefram: 8372: Configure option to disable
-	setlocale() support, and also do a linkage test for it rather than
-	simply test for the LC_ALL constant.
-
-	* Functions/Zle/predict-on: Back out Sven's suggested compmatchers
-	for now; turn off prediction when a delete-char-or-list is
-	performed.
-
-1999-10-21  Bart Schaefer  <schaefer@zsh.org>
-
-	* Functions/Zle/predict-on: Refine, and improve commentary.
-
-	* Completion/Builtins/_cd, Completion/Builtins/_popd: Oliver:
-	8361: Factor out handling of +/- dirstack offsets from _cd to make
-	completer for _popd; fix _cd handling of directory names that
-	actually do begin with a + or -.
-
-	* Src/Zle/computil.c: Sven: 8360: Still more parsing fixes.
-
-	* Completion/User/_bison: Sven: 8360: Improved option recognition.
-
-	* Completion/Base/_arguments, Completion/Base/_values: Sven: 8360:
-	More computil-related tweaking.
-
-	* Completion/Builtins/_sched: Oliver: 8359: Complete scheduled
-	jobs for removal.
-
-	* Src/Zle/computil.c: Sven: 8357: More options-parsing tweaks.
-
-	* Functions/Prompts/promptinit,
-	Functions/Prompts/prompt_oliver_setup: Oliver: 8353: Simplified
-	handling of prompt_opts.
-
-	* Src/Zle/computil.c: Sven: 8352: Fix parsing bugs.
-
-	* Completion/User/_bison: Sven: 8352: Complete .y files as well.
-
-	* Completion/Base/_arguments: Sven: 8352: Delay calling _message
-	so it won't confuse compstate[insert].
-
-	* Src/Zle/zle_tricky.c: Sven: 8350: Fixes to cline handling of
-	position of braces and of cursor following completion in nested
-	braces.
-
-	* Functions/Zle/predict-on: If history-beginning-search-backward
-	fails, attempt complete-word.
-
-	* Completion/Core/_path_files: Sven: 8350: Fix prefix/suffix settings.
-
-	* configure.in: Clint Adams: 8346: Fix typos.
-
-	* Src/Zle/computil.c: Sven: 8340: Fix memory management bugs and
-	confusion about word ranges when restricting compwords.
-
-	* Completion/Core/_path_files: Sven: 8340: Fix completion on empty
-	string.
-
-1999-10-20  Bart Schaefer  <schaefer@zsh.org>
-
-	* Functions/Prompts/promptinit: Oliver: 8335: Provide the
-	prompt_opts assoc. array to specify what options are needed by a
-	given prompt theme, and arrange to set them by putting the
-	localoptions-affected guts of the prompt function into set_prompt
-	and then calling setopt after it finishes.  (Tweaked to avoid
-	reindentation.)
-
-1999-10-19  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/Zle/comp.h, Src/Zle/complist.c, Src/Zle/zle_tricky.c: Sven:
-	8333: Handle completion in nested brace-expressions.
-
-	* Src/Builtins/rlimits.c: Display the sockbufsize and maxpthreads
-	limits in "ulimit -a" output.
-
-	* Src/Builtins/rlimits.awk, Doc/Zsh/builtins.yo: Add the
-	"maxpthreads" limit as reported by Albert Chin.
-
-	* Src/Zle/comp1.export, Src/Zle/compctl.export,
-	Src/Zle/zle.export: Oliver: 8323: Declarations needed to build
-	shared objects on AIX.
-
-	* Src/Zle/zle_tricky.c: Sven: 8322: Fix overeager slash-addition
-	and suffix-elimination.
-
-	* Completion/Core/_path_files: Sven: 8322: Complete directories up
-	to a trailing slash even if there are no further subdirectories,
-	but continue to make any subdirectories candidates for further
-	completion when a trailing slash is present.
-
-	* Src/Builtins/rlimits.awk, Doc/Zsh/builtins.yo: Rename
-	"sktbuffersize" as "sockbufsize".
-
-	* Src/cond.c: Sven: 8321: Fix bug in new cmpile-once "case" handling.
-
-1999-10-18  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/Builtins/rlimits.awk, Src/Builtins/rlimits.c,
-	Src/Builtins/rlimits.mdd: Zefram: 8320: Sort the resource list for
-	"limit", rename "sbsize" to "sktbuffersize", fix problems handling
-	memory type limits vs pure numeric vs time spans.
-
-	* Doc/Zsh/builtins.yo: Zefram: 8320: Sort the resource list for
-	"limit", rename "sbsize" to "sktbuffersize".
-
-	* Src/cond.c, Src/loop.c, Src/parse.c, Src/pattern.c, Src/utils.c,
-	Src/zsh.h: Sven: 8319: Compile patterns in "case" statements on
-	demand, then keep them in the parse tree so they only have to be
-	compiled once.
-
-	* Src/Zle/zle_tricky.c: Sven: 8317: Reset state so that a leading
-	"~" isn't assumed to be part of an extendedglob pattern.
-
-	* Completion/Base/_tilde: Sven: 8317: Use _users.
-
-	* Src/Zle/computil.c: Sven: 8316: Report when arguments are not
-	allowed at a position.
-
-	* Completion/Base/_arguments: Sven: 8316: Extraneous "break".
-
-	* Src/Zle/computil.c: Sven: 8315: Save and restore parser state
-	around "restricting rest-argument-definitions".
-
-	* Src/Zle/zle_tricky.c: Sven: 8313: Try harder to use match specs
-	correctly, even when `globcomplete'.
-
-	* Doc/Zsh/compsys.yo, Completion/Core/_path_files: Sven: 8313:
-	conconfig[path_expand] now has "prefix" and "suffix" choices.
-
-	* Completion/Core/compinit: Sven: 8313: Minor cleanup of "funcall".
-
-	* Completion/Core/_main_complete: Sven: 8313: A warning message
-	should be printed only when the last global match spec was tried.
-
-	* Completion/Core/_main_complete: Sven: 8312: Missing "local" decl.
-
-	* Doc/Zsh/builtins.yo: Document the `sbsize' limit.
-
-	* Src/Builtins/rlimits.awk: Jos Backus: 8309: FreeBSD has an
-	SBSIZE limit.
-
-1999-10-17  Bart Schaefer  <schaefer@zsh.org>
-
-	* Completion/User/_man: Oliver: 8139: Use the "manpath" command if
-	available, splitting at colons.
-
-	* Src/Modules/mathfunc.c: Oliver: 8138: Remove excess comma that
-	causes picky compilers to choke.
-
-	* Src/builtin.c, Src/options.c, Src/zsh.h, Doc/Zsh/options.yo:
-	Bart: 8308: The `CHECK_JOBS' option, based on Clint Adams' 8109,
-	with sense reversed as suggested by Zefram in 8111, and adapted
-	doc from PWS in 8110.
-
-	* Doc/Zsh/compsys.yo, Completion/Commands/_history_complete_word:
-	Adam: 8028,8063,8070; and PWS: 8098: Revised history completion.
-
-	* Src/.cvsignore: Ignore .pro files only if they begin with
-	alphanumerics, to keep .indent.pro.
-
-1999-10-16  Bart Schaefer  <schaefer@zsh.org>
-
-	* Config/version.mk: Set version string to 3.1.6-bart-7.
-
-	* Completion/User/_whois: Tanaka: 8296: New completion for "whois".
-
-	* Completion/User/_archie: Tanaka: 8295: New completion for "archie".
-
-1999-10-15  Bart Schaefer  <schaefer@zsh.org>
-
-	* Completion/Debian/_apt, Completion/Base/_regex_arguments:
-	Tanaka: 8289: Misc. cleanup.
-
-	* Completion/User/_pbm: Tanaka: 8287: Add missing
-	continuation-line backslashes.
-
-	* Completion/User/_urls: Tanaka: 8286: Misc. cleanup.
-
-	* Misc/bash2zshprompt: Adam: 8278: Emit "setopt promptsubst".
-
-	* Completion/User/_urls: Oliver: 8276: More autoremoval fixes.
-
-	* Src/Zle/zle_tricky.c: Sven: 8283: Fix bug in tracking number of
-	matches added.
-
-	* Doc/Zsh/compctl.yo, Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo:
-	Sven: 8283: Improve documentation about match-specs.
-
-	* Completion/Core/compinit: Sven: 8273: "compconf -L" sorts its
-	output.
-
-	* Completion/Core/compinit, Src/Zle/computil.c,
-	Src/Zle/computil.mdd, Src/xmods.conf: Sven: 8272: The computil
-	module is now auto-autoloaded; minor bugfix.
-
-	* Doc/Zsh/mod_complist.yo, Doc/Zsh/mod_computil.yo,
-	Doc/Zsh/mod_deltochar.yo, Doc/Zsh/modules.yo: Sven: 8272: Assorted
-	computil documentation.
-
-	* Completion/Base/_describe, Completion/Base/_values: Sven: 8272:
-	Clean-up related to usages of new computil functions.
-
-	* Src/Zle/computil.c, Completion/Base/_arguments: Sven: 8270:
-	Assorted computil debugging.
-
-	* Src/math.c: Sven: 8267: Fix core dump caused by bad error handling.
-
-	* Completion/User/_urls: Tanaka: 8263: Avoid bad autoremove behavior.
-
-	* Completion/User/_killall, Completion/User/_pack,
-	Completion/User/_unpack, Completion/User/_whereis: Oliver: 8262:
-	More new completers.
-
-	* Completion/User/_uncompress, Completion/User/_users,
-	Completion/User/_gzip, Completion/User/_hosts: Oliver: 8262: Fix
-	misc. minor omissions.
-
-	* Completion/Builtins/_nothing: Oliver: 8262: Use this for the
-	"whoami" command.
-
-	* Src/zsh.h, Src/params.c: Sven: 8254: Implement (k) and (K)
-	subscript modifiers.
-
-	* Doc/Zsh/params.yo: Sven: 8254: Document the new (k) and (K)
-	subscript modifiers.
-
-	* Functions/Prompts/prompt_adam2_setup,
-	Functions/Prompts/prompt_fire_setup,
-	Functions/Prompts/prompt_redhat_setup,
-	Functions/Prompts/promptinit: Fix a few bugs, mostly involving
-	`setopt promptsubst'.
-
-	* Functions/Prompts/promptinit: Sven: 8251: Tweak to properly
-	expand the $fpath array.
-
-	* Src/Zle/compctl.c, Src/Zle/compctl.mdd: Sven: 8249: Add the
-	"compmatchers" array.
-
-	* Doc/Zsh/compctl.yo, Doc/Zsh/compsys.yo: Sven: 8249: Clarify
-	documentaion of declarations needed by some completers; document a
-	couple of new features.
-
-	* Completion/Core/_description, Completion/Core/_files,
-	Completion/Core/_main_complete, Completion/Core/_message,
-	Completion/Core/_multi_parts, Completion/Core/_path_files,
-	Completion/Core/_sep_parts: Sven: 8249: Accept standard compadd
-	arguments, fix a few bugs, use the new compconfig[warning_format],
-	etc.
-
-	* Completion/Builtins/_nothing: Sven: 8249: A completer which just
-	prints a warning that the current context does not expect any
-	words at all (e.g., a command that takes no arguments).
-
-1999-10-14  Bart Schaefer  <schaefer@zsh.org>
-
-	* Completion/Core/_main_complete, Completion/Core/compinit: Sven:
-	8256: Missing hunks of 8227.
-
-	* Src/Zle/zle_tricky.c: Sven: 8247: When completing with a match
-	spec, don't insert anchors if there are characters missing to the
-	left of them.
-
-	* Src/Zle/zle_tricky.c: Sven: 8244: Fix failure to list ambiguous
-	matches completing after a quote.
-
-	* configure.in: Tanaka: 8241: Test for a gcc 2.95 bug.
-
-	* Src/Builtins/rlimits.awk, Src/Builtins/rlimits.c,
-	Doc/Zsh/builtins.yo: Zefram: 8229: Support for the AIO_OPS and
-	AIO_MEM resource limits.
-
-1999-10-13  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/Zle/compctl.c, Src/Zle/computil.c, Src/Zle/computil.mdd,
-	Src/Zle/zle_tricky.c, Doc/Zsh/compsys.yo,
-	Completion/Core/compinit, Completion/Base/_arguments,
-	Completion/Base/_describe, Completion/Base/_values: Sven: 8219:
-	Add and make use of the "computil" module, which moves several of
-	the operations previously done by shell functions into C code.
-
-	* Completion/User/_netscape: Oliver: 8230: Better browser and url
-	completion.
-
-	* Completion/User/_tiff: Sven: 8132: Change "options" to "opt_args".
-
-	* Src/Zle/zle_tricky.c: Sven: 8231: Remove unnecessary tokenization.
-
-	* Src/utils.c: Sven: 8231: Don't attempt to use a null name in
-	zwarnnam().
-
-	* Doc/Zsh/compsys.yo, Completion/X/_xmodmap,
-	Completion/User/_flex, Completion/User/_gcc,
-	Completion/User/_gprof, Completion/User/_gs,
-	Completion/User/_lynx, Completion/User/_mount,
-	Completion/User/_nslookup, Completion/User/_rlogin,
-	Completion/User/_socket, Completion/User/_ssh,
-	Completion/User/_telnet, Completion/User/_urls,
-	Completion/User/_wget, Completion/User/_yp, Completion/Linux/_rpm:
-	Sven: 8231,8232: Rename "options" as "opt_args" in a lot of places
-	to avoid conflicts with the parameters module.
-
-	* Completion/User/_urls, Completion/User/_webbrowser,
-	Doc/Zsh/compsys.yo: Oliver: 8230: Better browser and url
-	completion.
-
-	* Functions/Zle/incremental-complete-word, Doc/Zsh/compsys.yo,
-	Doc/Zsh/compwid.yo, Doc/Zsh/zle.yo, Src/Zle/comp.h,
-	Src/Zle/comp1.c, Src/Zle/compctl.c, Src/Zle/complist.c,
-	Src/Zle/zle_main.c, Src/Zle/zle_params.c, Src/Zle/zle_tricky.c:
-	Sven: 8227: Compute the list of matches more frequently and
-	earlier so that compstate[nmatches] is accurate more often;
-	replace compstate[normal_nmatches] with
-	compstate[alternate_nmatches] as a consequence; add
-	compstate[list_lines] and BUFFERLINES for testing how big a screen
-	is needed to edit; add an array comppostfuncs to hold callback
-	shell functions run during completion; fix a display bug.
-
-	* Src/Zle/zle_tricky.c: Sven: 8222: More cursor position
-	heuristics: prefer to place the cursor in the matched portion of
-	an ambiguous word, rather than in a prefix or suffix.
-
-	* Completion/Core/_approximate, Completion/Core/_complete,
-	Completion/Core/_expand, Completion/Core/_list,
-	Completion/Core/_main_complete, Completion/Core/_match,
-	Completion/Core/_path_files, Completion/Base/_default: Sven: 8217:
-	Remove large comments that are now redundant with the compsys
-	manual; misc other cleanup.
-
-	* Src/Zle/zle_tricky.c: Sven: 8216: Improve code readability.
-
-	* Src/Zle/zle_tricky.c: Sven: 8215: Fix problem with
-	accept-and-menu-complete.
-
-	* Functions/Misc/nslookup: A space is required between "read -k"
-	and the number of bytes to read.
-
-	* Doc/Zsh/builtins.yo: Document vagaries of "read -k" argument
-	parsing.
-
-1999-10-12  Bart Schaefer  <schaefer@zsh.org>
-
-	* config.sub: Handle newer flavors of hppa2.0 as computed by
-	configure.
-
-1999-10-11  Bart Schaefer  <schaefer@zsh.org>
-
-	* Completion/Core/_path_files: Sven: 8206: Fix setting of PREFIX
-	when there's a leading slash.
-
-	* Src/Zle/zle_tricky.c: Sven: 8205: Misc. fixes involving uninit'd
-	variables, ragged alignment of output in calclist(), etc.
-
-	* Completion/User/_yodl: Sven: 8204: Handle .yo file-suffix as
-	well as .yodl.
-
-	* Completion/Builtins/_cd, Completion/Base/_tilde: Oliver: 8181:
-	Clean up directory stack handling.
-
-1999-10-10  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/options.c: Zefram: 8152: A batch of tweaks to emulation
-	behavior (exec change omitted).
-
-	* Doc/Zsh/options.yo, Src/options.c: Zefram: 8154: Change default
-	behavior of shortloops (extendedglob change omitted).
-
-	* Src/exec.c: Add the coproc descriptors to those that can't be
-	copied by redirection.
-
-	* Doc/Zsh/redirect.yo: Zefram: 8186: More accurate redirection doc.
-
-	* Src/exec.c: Tweak 8187 to test the fdtable[] array rather than
-	simply > 9.
-
-	* Src/glob.c, Src/exec.c: Zefram: 8187: Don't permit redirection
-	to grab zsh's internal descriptors.
-
-	* Doc/Zsh/redirect.yo: Document the "&>" redirection and the use
-	of multi-digit numbers on the RHS of "<&" and ">&" redirections.
-
-	* Src/lex.c: Fix parsing of the "&>" redirection.
-
-	* Src/exec.c: Plug lead of a copy of the coproc input descriptor.
-
-1999-10-07  Bart Schaefer  <schaefer@zsh.org>
-
-	* Completion/User/_urls: Oliver K: 8155: Handle "file:" urls.
-
-	* Src/Zle/zle_tricky.c: Tweak last patch slightly to avoid the
-	possibility of returning NULL.
-
-	* Src/Zle/zle_tricky.c: Don't prematurely free/recreate the cached
-	value of $compstate[ambiguous].
-
-	* Functions/Prompts/promptinit: This function requires extendedglob.
-
-1999-10-06  Bart Schaefer  <schaefer@zsh.org>
-
-	* Functions/Misc/colors:
-	Adam: 8147: Use $'...' rather than $(echo -n '...').
-
-	* Misc/bash2zshprompt: Adam: 8144: Small fix.
-
-	* Misc/bash2zshprompt, Functions/Prompts/prompt_adam1_setup,
-	Functions/Prompts/prompt_adam2_setup,
-	Functions/Prompts/prompt_blue_setup,
-	Functions/Prompts/prompt_combo_setup,
-	Functions/Prompts/prompt_cyan_setup,
-	Functions/Prompts/prompt_elite2_setup,
-	Functions/Prompts/prompt_elite_setup,
-	Functions/Prompts/prompt_fire_setup,
-	Functions/Prompts/prompt_green_setup,
-	Functions/Prompts/prompt_magenta_setup,
-	Functions/Prompts/prompt_off_setup,
-	Functions/Prompts/prompt_red_setup,
-	Functions/Prompts/prompt_redhat_setup,
-	Functions/Prompts/prompt_suse_setup,
-	Functions/Prompts/prompt_white_setup,
-	Functions/Prompts/prompt_yellow_setup,
-	Functions/Prompts/promptinit, Functions/Misc/colors,
-	Completion/User/_prompt: Adam: 8129: "Themed prompts" system
-	copied (and translated) from bash.
-
-	* INSTALL, configure.in: Adam: 8145: Install the themed-prompt stuff.
-
-	* Src/Modules/stat.c, Src/system.h: Zefram: 8137: Support for
-	Solaris "doors".
-
-	* Src/jobs.c: Reattach the tty and resize the terminal after a
-	foreground job is stopped.
-
-1999-10-04  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/Zle/zle_refresh.c: Geoff: 8126: Fix infinite loop in
-	tc_rightcurs().
-
-1999-10-03  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/builtin.c, Doc/Zsh/builtins.yo: PWS: 8093: Back out 8084.
-
-	* Src/prompt.c: Use zcalloc() to allocate the buffer in
-	promptexpand(), so as not to leave garbage beyond the end of the
-	prompt after expansion.
-
-	* Src/builtin.c: When computing the new directory for $PWD, don't
-	duplicate a trailing slash.
-
-	* Etc/FAQ.yo: PWS: zsh-announce/100: Latest FAQ changes.
-
-1999-10-02  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/exec.c: Start the path search over from the beginning, not
-	from where it was last left off, after removing a bad element at
-	attempted-execute-time.
-
-1999-09-30  Bart Schaefer  <schaefer@zsh.org>
-
-	* Doc/Zsh/compsys.yo, Completion/Commands/_bash_completions: PWS:
-	8108: Completions for bash equivalence.
-
-	* Doc/Makefile.in: Adam: 8106: Use $(DESTDIR) when installing
-	info, too.
-
-	* Completion/User/_my_accounts, Completion/User/_other_accounts,
-	Completion/User/_user@host, Completion/User/_user_at_host: Adam:
-	8101: Change @ to _at_ in file names.
-
-	* Completion/User/_perl_modules, Completion/User/_perldoc: Adam:
-	8100: Small bugfix, whitespace cleanup.
-
-	* Completion/Core/compinit, Doc/Zsh/compsys.yo: PWS: 8098: Add
-	"compdef -K" to map multiple widgets to the same function.
-
-	* Doc/Zsh/guide.yo: PWS: 8097: Renamed to manual.yo.
-
-	* Doc/Zsh/guide.yo, Doc/Zsh/intro.yo, Doc/Zsh/manual.yo,
-	Doc/Makefile.in, Doc/zsh.yo, Doc/ztexi.yo: PWS: 8097: Rename
-	"guide" to "manual" as PWS is working on another "guide."
-
-	* Completion/User/_a2ps: Alexandre Duret-Lutz: 8094: Update for
-	newer versions of a2ps.
-
-	* Src/params.c: Don't use tokenized strings as associative array keys.
-
-	* Src/exec.c: PWS: 8086: Don't singsub() the LHS of assignments at
-	exec time.
-
-	* Src/Zle/complist.c: PWS: 8072: Fix allocation state bug (massive
-	reindentation but no other real changes).
-
-	* Doc/Zsh/builtins.yo: PWS: 8084: Reset $PWD in the "pwd" builtin
-	if unable to stat(pwd).  This leaves the dirstack in an
-	inconsistent state and needs more looking-at.
-
-	* Src/exec.c: Be a little smarter about fixing up the command
-	table when we find a bad element at attempted-execute-time.
-
-1999-09-28  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/builtin.c: PWS: 8084: Reset $PWD in the "pwd" builtin if
-	unable to stat(pwd).  This leaves the dirstack in an inconsistent
-	state and needs more looking-at.
-
-	* Completion/User/_man: Tanaka: 8082: Fix PWS's silly thinko.
-
-1999-09-27  Bart Schaefer  <schaefer@zsh.org>
-
-	* Completion/User/_user@host: Adam: 8065: Add forgotten file used
-	by _my_accounts and _other_accounts.
-
-	* Doc/Zsh/compsys.yo: Adam: 8064: Documentation for _my_accounts
-	and _other_accounts usages.
-
-	* Completion/User/_my_accounts, Completion/User/_other_accounts:
-	Adam: 8064,8065,8066: Assorted fixes and documentation.
-
-	* Completion/User/_man: Adam: 8062: Fix to handle colon-delimited
-	"manpath" output (as corrected by PWS: 8067.)
-
-1999-09-26  Bart Schaefer  <schaefer@zsh.org>
-
-	* Src/signals.c: PWS: 8056: Wrap getiparam() in HEAPALLOC block
-	for math evaluation reasons.
-
-1999-09-26  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: Config/version.mk: 3.1.6-pws-6
-
-	* pws: 8051: Completion/User/_users_on: typos.
-
-	* pws: 8050: Src/utils.c: getkeystring() used in ##<char>
-	  (formally #\<char>) should return unsigned char.
-
-	* pws: 8049: Src/math.c: use HEAPALLOC for math evals.
-
-	* Adam: 8048: Completion/User/_my_accounts,
-	  Completion/User/_other_accounts, Completion/User/_rlogin,
-	  Completion/User/_ssh, Completion/User/_users_on: use
-	  my_accounts and other_accounts for ssh and friends;
-	  user users for write and potentially elsewhere.
-	
-	* Adam: 8047: Completion/User/_users: lasts uses _users.
-
-	* Tanaka Akira: 8044: Completion/Base/_regex_arguments,
-	  Completion/Debian/_apt: remove NULs from cache files,
-	  fix some typos.
-
-	* Tanaka Akira: 8042: Doc/Zsh/expn.yo, Src/subst.c, Src/utils.c:
-	  ${(qqqq)...} now does $'...' quotation; rejigging unprintable
-	  characters is now ${(V)...}.
-
-1999-09-24  Peter Stephenson  <pws@ibmth.df.unipi.it>
-	* Tanaka Akira: 8039: Src/utils.c: quoting of backslashes inside
-	  ${(qqq)...}.
-
-	* pws: 8038: Completion/User/_tar: wouldn't use tar archives
-	  beginning with a ~.
-
-1999-09-23  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 8033: Src/math.c: use '##' to get code for literal
-	  character as less error-prone than `#\'.
-
-	* Sven: 8030: Src/utils.c: 8019 needed to expand the buffer
-	  even more.
-
-	* pws: 8026: Src/math.c: idiotically made buffer too short
-	  for error message.
-
-	* Sven: 8023: Src/subst.c, Src/utils.c, Doc/Zsh/expn.yo:
-	  ${(qqqq)...} quotes unprintables in bindkey fashion.
-
-	* pws: 8022: Src/Zle/zle_misc.c: digit argument with metafied
-	  digits didn't work.
-
-	* Sven: 8021: Src/Zle/complist.c: keep better track of cursor
-	  position when moving in a menu selection.
-
-	* Vin Shelton and pws: 8020: Src/Zle/deltochar.c,
-	  Doc/Zsh/mod_deltochar.yo: new zap-to-char, uses deltochar()
-	  function but doesn't delete last occurrence (replaces 8010).
-
-	* Sven: 8019: Src/utils.c: buffer overflow quoting newlines.
-
-	* Sven: 8015: Completion/Commands/_history_complete_word,
-	  Src/Zle/zle_tricky.c:  bug without history_stop in
-	  _history_complete_word; go backwards on line when scanning
-	  history words.
-
-	* pws: 8014: Src/math.c: arguments after the first in math
-	  function skipped first character.
-
-	* Sven: 8013: Completion/X/_x_keysym, Completion/X/_x_modifier,
-	  Completion/X/_xmodmap: completion for keys and modifiers
-	  in xmodmap.
-
-	* Sven: 8012: Doc/Zsh/compsys.yo: document
-	  incremental-complete-word configuration keys.
-
-	* Sven: 8011: Src/Zle/comp.h, Src/Zle/complist.c,
-	  Src/Zle/zle_tricky.c: better menu insertion with braces.
-
-1999-09-22  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 8004: Src/Zle/complist.c, Src/Zle/zle_tricky.c,
-	  Doc/Zsh/compctl.yo, Doc/Zsh/compwid.yo: crash in selecting;
-	  documentation for 8001.
-
-	* Sven: 8001: Src/Zle/comp.h, Src/Zle/compctl.c,
-	  Src/Zle/zle_tricky.c, Doc/Zsh/compctl.yo, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/compwid.yo, Completion/Core/_description: -1 and -2
-	  flags to completion commands allow removal of consecutive and
-	  non-consecutive duplicates.
-
-	* pws: 7999, 8000: Doc/Makefile.in, Doc/Zsh/guide.yo,
-	  Doc/Zsh/mod_mapfile.yo, Doc/Zsh/mod_mathfunc.yo,
-	  Doc/Zsh/modules.yo, Doc/Zsh/mod_parameter.yo,
-	  Src/Modules/mathfunc.c, Src/Modules/mathfunc.mdd, Src/math.c:
-	  mathfunc module, contains 46 functions for use in math
-	  evaluations; make function arguments behave like normal mathevals.
-
-	* Sven: 7998: Src/Zle/comp.h, Src/Zle/complist.c,
-	  Src/Zle/zle_tricky.c, Src/options.c, Src/zsh.h,
-	  Doc/Zsh/options.yo: Display column sizes can be different
-	  for different completion groups; LIST_PACKED and LIST_ROWS_FIRST
-	  options change listing display behaviour; clean functions up.
-
-	* pws: 7995: Completion/Builtin/_zmodload: when looking for module,
-	  restrict to *.s[ol].
-
-	* Tanaka Akira: 7989: Completion/Base/_combination,
-	  Completion/Debian/_apt, Completion/Base/_regex_arguments,
-	  Doc/Zsh/compsys.yo: document _combination and _regex_arguments,
-	  clean up relevant completion functions.
-
-1999-09-21  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7985: Src/Zle/zle_tricky.c: crash in old completion
-	  with non-existent file.
-
-	* pws: 7983: Src/hist.c: bug that hungetc() blindly went
-	  ahead after keyboard interrupt fixed by testing for errflag
-	  in hungetc().
-
-	* pws: 7981, 7982: Src/math.c, Src/zsh.h: use dupstring()
-	  instead of lvalue stack; better ternary expression parsing;
-	  old `unbalanced stack' messages shouldn't show up so become
-	  debugging messages; arithmetical errors in unevaluated
-	  portions don't cause shell errors.
-
-	* Sven: 7978: Src/exec.c, Src/init.c, Src/utils.c: grow and shrink
-	  underscore parameters properly.
-
-	* Sven: 7976, 7977: Src/builtin.c, Src/math.c, Src/mkbltnmlst.sh,
-	  Src/mkmakemod.sh, Src/module.c, Src/zsh.h, Src/Modules/example.c,
-	  Src/Modules/example.mdd, Doc/Zsh/arith.yo, Doc/Zsh/builtins.yo,
-	  Etc/zsh-development-guide: system for loading math functions
-	  for use in math evals.
-
-	* Sven: 7974: Src/Zle/zle_tricky.c: remove duplicates.
-
-	* Bart: 7968: Completion/User/_mailboxes: mutt fixes.
-
-1999-09-20  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7963: Src/math.c, Src/subst.c: better error checking
-	  for math evals; don't pass surrounding parentheses down for
-	  $(( ... )).
-
-	* Adam: 7961: Completion/User/_mailboxes: fun with variables and
-	  elm.
-
-	* Sven: 7960: Src/Zle/zle_tricky.c: too much deleted in path
-	  completion.
-
-	* Sven: 7959: Completion/Core/_path_files, Doc/Zsh/compsys.yo:
-	  fixes from previous patches which missed 3.1.6-pws-5.
-
-	* pws: 7957: Src/module.c: `zmodload -e modname' in statically
-	  linked shell didn't work.
-
-	* pws: Config/version.mk: version 3.1.6-pws-5
-
-	* Sven: 7953: Completion/Commands/_expand_word,
-	  Completion/Core/_expand, Doc/Zsh/compsys.yo: expand_completions
-	  configuration key.
-
-	* pws: 7952: Completion/X/_xutils: xrdb should complete file
-	  arguments.
-
-	* Sven: 7951: Src/subst.c, Doc/Zsh/expn.yo: parameter expansion flags
-	  for quoting with single or double quotes.
-
-	* Sven: 7950: Src/utils.c, Src/Zle/complist.c: more careful
-	  with VARARR's.
-
-	* Sven: 7949: Completion/X/_x_color,
-	  Completion/X/_x_extension, Completion/X/_x_window,
-	  Completion/X/_xutils: completion for standard X utilities.
-
-	* pws: 7948: Src/glob.c, Src/pattern.c: indexes weren't
-	  calculate properly in $mbegin, $mend, $MBEGIN, $MEND because
-	  of Meta bytes.
-
-	* Sven: 7947: Src/Zle/zle_tricky.c, Doc/Zsh/compwid.yo:
-	  compstate[insert] can be all to insert all matches.
-
-	* Sven: 7945: Src/Zle/zle_tricky.c, Completion/Core/_multi_parts,
-	  Completion/Core/_path_files: better path completion with braces
-
-	* Sven: 7944: Src/Zle/zle_tricky.c, Completion/Core/_multi_parts,
-	  Completion/Core/_path_files, Completion/Core/_sep_parts:
-	  new heuristic for deciding whether to add strings under match
-	  control or if they are too ambiguous to be useful.
-
-	* Sven: 7943: Doc/Zsh/compsys.yo: docs for long args syntax
-	  in _arguments.
-
-	* Bart: zsh-users/2610: Completion/Builtins/_kill,
-	  Completion/Builtins/_wait, Completion/User/_gdb: split words
-	  for ps arguments (replaces 2609).
-
-	* Bart: 7938: Completion/Base/_arg_compile, Completion/Base/_describe:
-	  pre-compiler for _arguments and typo in describe.
-
-	* Tanaka Akira: 7937: Completion/User/_cvs, Completion/User/_lynx,
-	  Completion/User/_wget: it's good to have _values.
-
-	* Bart: 7934: Completion/User/_telnet: improvement.
-
-	* Bart: 7932: Completion/User/_mailboxes: more generic.
-
-	* Bart: 7929: Src/hist.c, Src/Zle/zle_tricky.c: handle gaps
-	  in history when scanning through it.
-
-	* Bart: 7928: Doc/Zsh/builtins.yo: typo in float stuff.
-
-	* Bart: 7925: Functions/Misc/run-help: various functions and
-	  builtins in manual pages other than zshbuiltins.
-
-	* Adam: 7923: Completion/Core/compinit: compconf quoting tweak.
-
-1999-09-17  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7921: Src/glob.c: bad test in rarely used
-	  (string/)# globbing construct.
-
-	* Oliver: 7919: Completion/User/_man: try to find a manpath if
-	  none (slightly adapted).
-
-	* Sven: 7917: Src/loop.c: hunk missed from 7915.
-
-	* pws: 7915: Doc/Zsh/arith.yo, Doc/Zsh/builtins.yo,
-	  Src/Modules/parameter.c, Src/builtin.c, Src/cond.c, Src/exec.c,
-	  Src/math.c, Src/mem.c, Src/params.c, Src/subst.c, Src/zsh.h,
-	  configure.in:  Floating point support via typeset -F and
-	  typeset -E for variables and in matheval().  mnumber struct
-	  passes around float or integer.
-
-	* Sven: 7903: Completion/Builtins/_cd: more careful with
-	  things from cdablevars.
-
-	* Sven: 7902, 7912: Completion/Base/_arguments,
-	  Doc/Zsh/compsys.yo: autodescribe_options.
-
-	* Sven: 7900: Completion/Commands/_history_complete_word,
-	  Doc/Zsh/compsys.yo:  history_stop config opt stops history
-	  cycling past end.
-
-	* Sven: 7896: Src/Zle/zle_tricky.c: cursor positioning.
-
-	* Tanaka Akira: 7892: Completion/User/_webbrowser: initial
-	  implementation of completion for web browsers.
-
-	* Adam: 7891: Completion/Core/compinit: error message in compdef.
-
-	* Tanaka Akira: 7888: Completion/User/_wget: completion for wget.
-
-	* Tanaka Akira; 7887: Completion/User/_telnet: try to get
-	  valid telnet options.
-
-	* Tanaka Akira: 7886: Completion/Base/_describe,
-	  Completion/Debian/_apt, Completion/User/_cvs: -d option for
-	  descriptions.
-
-	* Adam: 7882: Doc/Zsh/expn.yo: parentheses.
-
-1999-09-16  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Adam: 7871: Completion/User/_perl_basepods,
-	  Completion/User/_perl_builtin_funcs,
-	  Completion/User/_perl_modules, Completion/User/_perldoc:
-	  perl completion.
-
-	* Sven: 7864: Src/Zle/zle_tricky.c: crash when browsing
-	  directory hierarchies with select and selecting an entry.
-
-	* Sven: 7863: Doc/Zsh/mod_parameter.yo, Src/Modules/parameter.c,
-	  Src/Modules/parameter.mdd: $dirstack and $modules special
-	  parameters.
-
-	* Sven: 7866: Doc/Zsh/compsys.yo, Completion/User/_mutt:
-	  action necessary.
-
-	* Sven: 7862: Completion/Base/_arguments, Completion/User/_gcc,
-	  Doc/Zsh/compsys.yo, Src/Zle/zle_tricky.c: completion for gcc,
-	  -M match spec for _arguments, remove duplicate matches.
-
-	* Clint: 7860: Completion/User/_mailboxes, Completion/User/_mutt:
-	  mutt support.
-
-1999-09-15  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7855: Doc/Zsh/zftpsys.yo, Functions/Zftp/zfopen:
-	  failed zfopen with arguments deletes the stored open parameters.
-
-	* Oliver: 7852: Completion/Builtins/_compdef,
-	  Completion/User/_man: new compdef support, _man works for whatis
-	  and apropos.
-
-	* Sven: 7850: Completion/Base/_arguments: minor cleanup.
-
-	* Sven: 7844: Src/Zle/complist.c, Src/Zle/zle_tricky.c,
-	  Doc/Zsh/compsys.yo, Etc/completion-style-guide,
-	  Completion/Base/_arguments, Completion/Base/_describe,
-	  Completion/Base/_subscript, Completion/Base/_tilde,
-	  Completion/Base/_values, Completion/Builtins/_cd,
-	  Completion/Builtins/_kill, Completion/Builtins/_wait,
-	  Completion/Core/_approximate, Completion/Core/_expand,
-	  Completion/User/_gdb: various matching display bugs
-	  (with compadd -d) and enhancements to correction and
-	  approximation keys.
-
-	* Tanaka Akira: 7840: Completion/Base/_tilde,
-	  Completion/Builtins/_cd: use compadd -d.
-
-	* pws: 7836: Src/Modules/zftp.c: bug from 7767: zftp rmsession
-	  incremented node pointer wrongly and assigned new session
-	  wrongly.
-
-	* pws: 7834: Src/pattern.c: bug from 7825, pure string path
-	  segments wouldn't approximate.
-
-1999-09-14  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7827: Src/Zle/comp.h, Src/Zle/compctl.c,
-	  Src/Zle/complist.c, Src/Zle/zle_tricky.c, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/compwid.yo, Completion/Base/_arguments,
-	  Completion/Base/_values, Completion/Core/_display,
-	  Completion/User/_mount: compadd -d for list of elements
-	  to display instead of matches, -l to show one per line,
-	  plus changes in _display and uses thereof; typos in _mount.
-
-	* pws: 7825, 7848: Doc/Zsh/expn.yo, Src/glob.c, Src/pattern.c,
-	  Src/subst.c, Src/zsh.h: (#b) and (#m) globbing flags and
-	  inverses; speed up compilation of pure string patterns.
-
-	* Sven: 7823: Src/Zle/zle_tricky.c: improve joining of completion
-	  strings with different match control behaviour.
-
-	* Sven: 7824: Completion/Base/_arguments, Completion/Core/_message:
-	  improve `no more arguments' message.
-
-	* Sven: 7819: Completion/Base/_arguments, Doc/Zsh/compsys.yo:
-	  use of $options for single character options.
-
-	* Tanaka Akira: 7817: Completion/Debian/_apt,
-	  Completion/User/_socket, Completion/User/_perl_builtin_funcs:
-	  several improvements.
-
-	* Tanaka Akira: 7815: Completion/User/_combination,
-	  Completion/User/_ports, Completion/User/_socket,
-	  Completion/User/_telnet: more sophisticated port/user
-	  combinations via general combination mechanism.
-
-	* Bart: 7813: Src/subst.c: correct incorrect application of
-	  correction in 7697.
-
-	* Tanaka Akira: 7740: Completion/User/_man: handle gzipped and
-	  SGML manual pages.
-
-1999-09-13  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: zsh-users/2598: Functions/Zle/incarg: zle function to
-	  increment number under cursor.
-
-	* pws: 7812: Completion/X/_xrdb: now exists.
-
-	* Tanaka Akira: 7809: Completion/Debian/_apt, Completion/User/_patch:
-	  new apt options and typo in _patch.
-
-	* Sven: 7808: Completion/Base/_arguments: don't add long options
-	  sometimes.
-
-	* pws: Config/version.mk: 3.1.6-pws-4.
-
-	* Tanaka Akira: 7806: Completion/Users/_pbm: missing backslash.
-	
-	* Sven: 7804: Completion/Base/_arguments: `no more arguments'
-	  message.
-
-	* Sven: 7801: Completion/Base/_arguments: listing problem with
-	  arguments.
-
-	* Sven: 7800: Completion/Core/_normal: terminate whence options to
-	  avoid error message.
-
-	* Sven: 7798: Doc/Zsh/compwid.yo, Src/Zle/comp.h,
-	  Src/Zle/compctl.c, Src/Zle/zle_tricky.c,
-	  Completion/Base/_brace_parameter, Completion/Base/_parameter,
-	  Completion/Core/_parameters: compadd -e treats arguments as
-	  parameters for AUTO_PARAM_SLASH and AUTO_PARAM_KEYS.
-
-	* Sven: 7797: Doc/Zsh/compsys.yo,
-	  Completion/Commands/_verbose_list, Completion/Core/_oldlist:
-	  _verbose_list widget makes completion function lists
-	  progressively more verbose.
-
-	* Sven: 7796: _arguments uses describe_values config key; other
-	  misc. fixes.
-
-	* Sven: 7795: Completion/User/_mount: mounting excitement.
-
-	* Sven: 7793: Completion/User/_ispell: ispell completions.
-
-	* Sven: 7792: Completion/User/_bison, Completion/User/_flex:
-	  not particularly hairy bison and flex completions.
-
-	* Sven: 7791: Src/Zle/zle_tricky.c: completion code numbers.
-
-	* Sven: 7790: Completion/User/_pbm, Completion/User/_ssh,
-	  Completion/Linux/_rpm: miscellaneous tidying.
-
-	* Sven: 7789: Completion/User/_tiff: completions for conversions
-	  to/from tiff format.
-
-	* Bart: 7784, 7787: Src/utils.c: memory use in bslashquote
-	  (cf. 7713).
-
-	* Tanaka Akira: 7779, 7781: Completion/User/_hosts,
-	  Completion/User/_telnet, Completion/User/_socket: telnet and
-	  socket completions with ports.
-
-	* Bart and pws: 2592: Functions/Zle/history-search-end,
-	  Functions/Zle/predict-on: new Zle functions for fancy history
-	  searching.
-
-	* Tanaka Akira: 7778: Completion/Base/_regex_arguments: implement
-	  cache.
-
-	* Tanaka Akira: 7777: Completion/Base/_regex_arguments,
-	  Completion/Debian/_apt: more apt utilities handled, condensed to
-	  single file; _apt-cache, _apt-get and _apt_arguments deleted.
-
-1999-09-10  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7767: Completion/Builtins/_zftp, Doc/Zsh/mod_zftp.yo,
-	Doc/Zsh/zftpsys.yo, Functions/Zftp/zfanon,
-	Functions/Zftp/zfautocheck, Functions/Zftp/zfcd,
-	Functions/Zftp/zfcd_match, Functions/Zftp/zfcget,
-	Functions/Zftp/zfdir, Functions/Zftp/zffcache,
-	Functions/Zftp/zfgcp, Functions/Zftp/zfget,
-	Functions/Zftp/zfget_match, Functions/Zftp/zfgoto,
-	Functions/Zftp/zfinit, Functions/Zftp/zfmark,
-	Functions/Zftp/zfopen, Functions/Zftp/zfparams,
-	Functions/Zftp/zfpcp, Functions/Zftp/zfrglob,
-	Functions/Zftp/zfsession, Functions/Zftp/zfstat,
-	Functions/Zftp/zftp_chpwd, Functions/Zftp/zftp_progress,
-	Functions/Zftp/zftransfer, Functions/Zftp/zfuget,
-	Functions/Zftp/zfuput, Src/Modules/zftp.c:
-	new session management for zftp (session, rmsession); new
-	functions zfsession, zftransfer, zffcache; various completion
-	and argument-handling improvements.
-
-	* pws: 7765: Src/builtin.c, Src/exec.c: getopts didn't reset
-	  counter for index into option list properly; didn't set option
-	  variable to "?" when printing its own error message.
-
-	* Tanaka Akira: 7763: Completion/Base/_arguments: bad argument
-	  indexing.
-
-1999-09-09  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7750: Completion/Base/_arguments: fix option aliasing.
-
-	* Tanaka Akira: 7748: Completion/User/_urls,
-	  Completion/Core/_display: missing "$@" and X.
-
-	* Sven: 7747: Doc/Zsh/compsys.yo, Completion/Base/_first,
-	  Completion/Commands/_history_complete_word,
-	  Completion/User/_cvs, Completion/User/_groups,
-	  Etc/completion-style-guide: Mainly documentation changes: group
-	  configuration keys into a single section.
-
-	* Tanaka Akira: 7744: Completion/User/_patch: argument changes.
-	
-	* Sven: 7739: Completion/User/_rlogin: improvements.
-
-	* pws: 7738: Completion/User/_man: didn't work with correction
-	  and approximation.
-
-	* Sven: 7737: Completion/User/_ssh, Completion/User/_users:
-	  slogin, scp, and user@host; use array $users if defined.
-
-	* Sven: 7736: Src/Zle/zle_tricky.c, Completion/Core/_display:
-
-	* Sven: 7734: Src/Zle/complist.c, Src/Zle/zle_tricky.c:
-	  displays of lists with disparate lengths and different groups of
-	  matches with the same name.
-
-	* Tanaka Akira: 7729, 7735: Completion/Debian/_apt-get,
-	  Completion/Debian/_apt_arguments, Completion/Debian/_apt-cache:
-	  apt-get and apt-cache completion improvments.
-
-1999-09-08  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Tanaka Akira: 7723: Completion/User/_cvs: typo.
-
-	* Sven: 7722: Completion/User/_dvi, Completion/User/_rlogin,
-	  Completion/User/_ssh, Completion/User/_yodl,
-	  Completion/User/_yp: new _yodl and all-round improvements.
-
-	* Tanaka Akira: 7720: Completion/Base/_regex_arguments,
-	  Completion/Debian/_apt_arguments, _apt-get: regular expression
-	  argument parsing, used for apt-get.
-
-	* Sven: 7718, 7719: Completion/Base/_arguments,
-	  Completion/Linux/_rpm, Doc/Zsh/compsys.yo: better handling for
-	  combined single-letter options.
-
-	* Sven: 7716: Completion/Core/_complete, Completion/Core/_normal,
-	  Completion/Base/_precommand: modify 7693 so that _normal always
-	  resets _compskip unless called from _complete (via -s option).
-
-	* Sven: 7714: Src/Zle/zle_tricky.c: problem displaying multiople
-	  completion messages.
-
-	* Sven: 7713: Src/utils.c: buffer for backslash quoting was too
-	  short.
-
-	* Sven: 7712: Src/text.c: fix core dump in case.
-
-	* Bart: 7707: Config/installfns.sh, Config/uninstallfns.sh:
-	  insert $DESTDIR as internal prefix of $fndir.
-
-	* Bart, Tanaka Akira: 7705, 7706, 7709: Completion/User/_cvs:
-	  select cvs function by substitution.
-
-	* Clint: 7704: Makefile.in, Completion/Makefile.in,
-	  Doc/Makefile.in, Functions/Makefile.in: betting distclean for
-	  Completion/Makefile, Functions/Makefile, Config/defs.mk.
-
-	* Clint: 7703: Config/installfns.sh: $DESTDIR prefixes $fndir.
-
-	* Bart: 7697: Src/subst.c: sroted -> sorted.
-
-1999-09-07  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7693: Completion/Base/_precommand: unset _compskip for
-	  redoing _normal after _precommand.
-
-	* Sven: 7690: Completion/Base/_arguments, Completion/User/_gprof,
-	  Completion/User/_gs, Completion/User/_gv,
-	  Completion/User/_patch, Completion/User/_xargs,
-	  Completion/X/_x_arguments, Completion/X/_xt_arguments,
-	  Doc/Zsh/compsys.yo: more exclusion lists and states, different
-	  return value for using states.
-
-	* Sven: 7687: Completion/Base/_arguments, Completion/User/_yp,
-	  Doc/Zsh/compsys.yo: _arguments allows case where an option turns
-	  off normal argument handling, new _yp function, space in action
-	  means no action.
-
-	* Sven: zsh-users/2576, zsh-users/2578: fix typeset -Z and typeset
-	  -R.
-	
-	* Tanaka Akira: 7675: Completion/User/_hosts: remove nslookup,
-	  since that uses _nslookup.
-
-	* Adam: 7674: Doc/Zsh/compsys.yo, Etc/completion-style-guide:
-	  typos.
-
-	* Adam: 7671: Completion/Linux/_rpm: tyeset -> typeset,
-	  build_b completes *.spec.
-
-	* Tanaka Akira: 7670, 7686: Completion/User/_cvs, INSTALL,
-	  configure.in: _cvs back in one function, remove Completion/Cvs.
-
-	* John Williams: 7669: Src/builtin.c: __CYGWIN should be __CYGWIN__
-
-1999-09-06  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7662: Etc/completion-style-guide: subcommands and using
-	  funcall to test state functions.
-
-	* pws: 7660: Src/Modules/cap.c: changes as per 7591; initialize
-	  variables to silence compiler.
-
-	* Sven: 7656: Doc/Zsh/compsys.yo: display fixes.
-
-	* Sven: 7655: Src/Zle/zle_tricky.c: bug completing on continuation
-	  line.
-
-	* Sven: 7654: Src/Zle/zle_thingy.c: error calling zle -R outside
-	  widget.
-
-	* pws: Config/version.mk: 3.1.6-pws-3
-
-	* Sven: 7652: Doc/Zsh/compsys.yo, Completion/Base/_values,
-	  Completion/User/_hosts, Completion/User/_nslookup,
-	  Functions/Misc/nslookup: complete assignment-like arguments,
-	  nslookup wrapper with completion.
-	
-	* pws: 7651: Doc/Zsh/options.yo: document HIST_FIND_NO_DUPS.
-
-	* Sven: 7650: Doc/Zsh/compsys.yo, Completion/Base/_arguments,
-	  Completion/Core/_display, Completion/Core/compinit,
-	  Completion/Linux/_rpm, Completion/User/_urls,
-	  Completion/X/_x_color, Etc/completion-style-guide:
-	  urls_dir -> urls_path, colors_path allow paths for URLs and X
-	  colours; funcall; _arguments changes: options assoc, states
-	  available using '->name', option descriptions for mutually
-	  incompatible options, descriptions of individual options,
-	  option_prefix allows ~command; _display for compadd -y;
-	  new _rpm; style guide additions.
-
-	* pws: 7649: Src/pattern.c: bug with excluding multiple
-	  directories with ~ in 7611, 7626.
-
-	* Adam Spiers: 7647: Completion/User/_perl_basepods,
-	  Completion/User/_perl_builtin_funcs,
-	  Completion/User/_perl_modules, Completion/User/_perldoc:
-	  completion for perldoc.
-
-	* Tanaka Akira: 7641, 7646: Completion/Debian/_apt-get,
-	  Completion/Debian/_deb_packages: handle different apt-get
-	  keywords.
-
-1999-09-03  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7639: Doc/Zsh/expn.yo, Src/glob.c: remember that
-	  (foo/)# is a special case for file globbing; fix bug that
-	  that pattern generated a null string.
-
-	* pws: 7637: Doc/Zsh/expn.yo: clarify some glob descriptions
-	  including change that / inside parentheses is error (rather than
-	  just screwing up pattern) for file globbing.
-
-	* Bart: zsh-users/2567: Doc/Zsh/options.yo: new improved
-	  GLOB_COMPLETE description.
-
-	* pws: 7636: Doc/Zsh/builtins.yo, Doc/Zsh/params.yo,
-	  Src/builtin.c, Src/zsh.h, Src/Modules/mapfile.c,
-	  Src/Modules/parameter.c: typeset -h allows locals to hide
-	  specials; turned on automatically for specials in mapfile and
-	  parameter modules.
-
-	* Sven: 7635: Completion/User/_urls: change configuration key to
-	  urls_dir.
-
-	* Tanaka Akira: 7634: Completion/Debian/_apt-get,
-	  Completion/Debian/_deb_packages: completion for apt-get.
-
-	* Tanaka Akira: 7633: Completion/User/_lynx,
-	  Completion/User/_urls: completion for lynx and general URL
-	  completion.	
-
-1999-09-02  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7632: Doc/Zsh/zftpsys.yo, Functions/Zftp/zfautocheck,
-	  Functions/Zftp/zfinit, Functions/Zftp/zfrglob,
-	  Functions/Zftp/zftp_progress: bar-style progress meter, zfconfig
-	  associative array for configuration.
-
-	* Sven: 7631: Completion/User/_pbm: comment about overriding
-	  definitions.
-
-	* Sven: 7630: Src/zle_tricky.c: when using a matcher spec
-	  generating matches with missing characters, position on last set
-	  of missing characters instead of first.
-
-	* Sven: 7628: Src/params.c, Src/Modules/parameter.c,
-	  Completion/Core/_parameters, Completion/Core/_path_files:
-	  parameters gives `undefined' message; _parameters doesn't
-	  load undefined parameters; do partial path expansion after
-	  parameters.
-
-	* pws: 7627: Src/params.c: don't autoload parameter just to
-	  unset it (replaces 7616).
-
-	* Sven: 7625: Completion/Base/_arguments: expansion fix.
-
-	* Tanaka Akira: 7623: Completion/X/_xv: complete .jpg and .png
-	  files.
-
-	* Bart: 7618: Config/installfns.sh, Config/uninstallfns.sh:
-	  space required in $sdir substitution.
-
-	* Bart: 7617: Src/signals.c: set err to -1.
-
-1999-09-01  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7613: Completion/User/_gv: typos
-
-	* pws: 7611, 7626: Src/pattern.c, Src/parse.c, Doc/Zsh/expn.yo:
-	  strip parentheses from case label with open and close
-	  parentheses; use unions for pattern alignment, optimize lowest
-	  level character reading routine, optimize ...*string pattern,
-	  optimize search for characters terminating processing, document
-	  some more existing pattern features.
-	
-	* Sven: 7607: Completion/Base/_arguments: behaviour after a
-	  non-option when using `*::'.
-
-	* Sven: 7605: Src/exec.c, Src/jobs.c: use killpg instead of
-	  altering process group when leader exits, fix fg test to use
-	  killpg.
-
-	* Sven: 7598: Src/Zle/zle_tricky.c: REC_EXACT behaviour.
-
-	* Sven: 7596, 7601: Completion/Base/_arguments: interaction of option
-	  arguments with default.
-
-	* pws: 7591: Src/utils.c: cap_free should take caps (not pointer
-	  to it) as arg.
-
-	* Bart: 7584: Src/jobs.c, Src/signals.c, Src/system.h: handle
-	  broken ESRCH by redefining ESRCH to EINVAL.
-
-	* Tanaka Akira: 7580: Completion/Cvs/_cvs,
-	  Completion/Cvs/_cvs_diff, Completion/Cvs/_cvs?history_x:
-	  arguments for options; cvs diff description.
-
-	* Sven: 7574, 7577, 7597: Src/subst.c, Doc/Zsh/expn.yo: modify
-	  7539 so that the % flag just does % expansion, while %% does
-	  full prompt expansion.
-	
-	* Sven: 7573: Src/signals.c, Src/exec.c, Src/utils.c: fix return
-	  value of killjb(); pipelines which lose their leader get a new
-	  one.
-
-1999-08-31  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Will Day: 7362: Src/Makefile.in, Src/hist.c, Src/jobs.c,
-	  Src/signals.c, Src/system.h, acconfig.h: support for BeOS: test
-	  more capabilities.  This was present in 6-pws-1, but without
-	  a Changelog entry.
-
-	* Sven: -7540: withdrawn, use ${${${(M)name#pattern}:+then}:-else}.
-	
-	* Tanaka Akira: 7436: Src/exec.c: exec last command in sequence
-	  properly; don't increment SHLVL when exec'ing.
-
-	* Sven: 7564: Completion/X/_xterm, Completion/Pbmplus/_pgmtoppm,
-	  Completion/Pbmplus/_pnmalias, Completion/Pbmplus/_pnmmargin,
-	  Completion/Pbmplus/_ppmchange, Completion/Pbmplus/_ppmmake,
-	  Completion/Pbmplus/_ppmtoacad, Completion/User/_gs,
-	  Completion/X/_xdvi, Completion/X/_xfig, Completion/X/_xsetroot,
-	  Completion/X/_xt_arguments, Completion/X/_xterm,
-	  Completion/X/_xv: change some names.
-	
-	* Bart: 7562: corresponding fix for Config/uninstallfns.sh
-
-	* Tanaka Akira: 7561: Config/installfns.sh: administrative files
-	  from Functions and Completion were installed by mistake.
-
-	* Bart: 7414: Doc/ztexi.yo: @'@' breaks texinfo; use '@:'.
-
-	* Bart: 7557: Src/Makefile.in: typo adding $(DESTDIR) patch by
-	  hand.  (Also from Ollivier Robert, 7558, and Oliver Kiddle).
-
-1999-08-30  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: Config/version.mk: 3.1.6-pws-2 made available.
-	
-	* Tanaka Akira: 7551: Doc/Zsh/expn.yo: mismatched parenthesis.
-
-	* Sven: 7549: Src/hist.c: shell wouldn't exit if writing history
-	  file failed.
-
-	* Sven: 7548: Completion/User/_xargs: new.
-
-	* Sven: 7541: Completion/Base/_arguments: fix.
-
-	* Sven: 7540: Src/subst.c, Doc/Zsh/expn.yo: ${name^pat^then^else}
-	  tests string and substitutes appropriately.
-
-	* Sven: 7539: Src/subst.c, Doc/Zsh/expn.yo: % parameter flag does
-	  prompt escapes.
-
-	* Sven: 7538: Completion/Base/_arguments: completion of trailing
-	  non-option arguments.
-
-	* Sven: 7535: Src/glob.c: don't restore badcshglob.
-
-	* Sven: 7533: Completion/Rpm/*, Completion/Base/_arguments,
-	  Completion/User/_a2ps, Completion/User/_configure,
-	  Completion/User/_dvi, Completion/User/_gdb, Completion/User/_gs,
-	  Completion/User/_gs_name, Completion/User/_patch,
-	  Completion/User/_pspdf, Completion/User/_tar,
-	  Completion/User/_use_lo, Completion/User/_xfig,
-	  Completion/User/_xsetroot, Completion/User/_xterm,
-	  Completion/X/_gv, Completion/X/_xdvi,
-	  Completion/X/_xt_arguments, Completion/X/_xv,
-	  Doc/Zsh/compsys.yo: argument handling; new rpm functions.
-
-	* Sven: 7532: Src/Zle/zle_tricky.c: completion bug.
-
-	* Bart, Sven: 7529, 7530: process groups not continued properly.
-
-	* Bart: 7527: KSH_ARRAYS messed up assignment to a
-	  hash, plus 7521 typo.
-
-	* Bart: 7521: Src/init.c: replace 7472 and 7490 with thing that
-	  tests if hashed command is really there.
-
-	* Sven: 7517: Completion/Base/_arguments,
-	  Completion/Pbmplus/_pbmtext, Completion/Pbmplus/_pbmtopk,
-	  Completion/Pbmplus/_pktopbm, Completion/Pbmplus/_pnmcomp,
-	  Completion/Pbmplus/_pnmtoddif, Completion/Pbmplus/_psidtopgm,
-	  Completion/Pbmplus/_pstopnm, Completion/User/_gdb,
-	  Completion/User/_gprof, Completion/User/_x_options,
-	  Completion/User/_xfig, Completion/User/_xsetroot,
-	  Completion/X/_x_borderwidth, Completion/X/_x_geometry,
-	  Completion/X/_x_locale, Completion/X/_x_name,
-	  Completion/X/_x_resource, Completion/X/_x_selection_timeout,
-	  Completion/X/_x_title, Completion/X/_xv: use _arguments more.
-
-	* Tanaka Akira: 7516: Completion/Base/_arguments,
-	  Completion/Cvs/_cvs, Completion/Cvs/_cvs_command: fixes.
-
-	* Sven: 7515: Doc/Zsh/compsys.yo, Completion/Base/_arguments,
-	  Completion/Pbmplus/_pnmtotiff, Completion/Pbmplus/_ppmtomitsu,
-	  Completion/User/_find: _arguments allows descriptions in list of
-	  possibilities.
-
-	* Sven: 7514: Src/glob.c, Doc/Zsh/expn.yo: use REPLY to set
-	  filename.
-
-	* Bart: 7510: Src/init.c: zsh -ce interprets e as option, not
-	  command.
-
-	* Sven: 7512: Completion/Base/_arguments: complete function.
-
-	* Sven: 7500: Completion/Base/_arguments,
-	  Completion/Cvs/_cvs_command, Completion/User/_find:
-	  word-splitting in _arguments.
-
-	* Tanaka Akira: 7495: Completion/Cvs/_cvs*: new cvs functions.
-
-	* Sven: 7496: Src/glob.c, Src/zsh.h, Doc/Zsh/expn.yo: glob
-	  qualifier e:string: with $_ set to filename.
-
-	* Sven: 7492: Completion/Base/_arguments, Completion/User/_find,
-	  Completion/X/_x_font: speed up _arguments.
-
-	* Sven: 7490: Src/exec.c: change 7472 not to try test on hashed
-	  command.
-
-	* Sven: zsh-users/2511: Src/Zle/zle_tricky.c: bad (old) completion
-	  after `$(<'.
-
-	* Sven: 7482: Src/exec.c, Src/glob.c, Src/zsh.h, Doc/Zsh/expn.yo:
-	  F:func: glob qualifier calls func to determine whether to
-	  include file.
-
-	* Sven: 7480: Src/Zle/zle_tricky.c, Completion/Core/_multi_parts,
-	  Completion/User/_xterm, Completion/X/_x_font,
-	  Completion/X/_xt_arguments: matching bug.
-
-	* Sven: 7478: Doc/Zsh/compsys.yo, Completion/Base/_arguments,
-	  Completion/Builtins/_vars_eq: handling of :: in _arguments.
-
-	* Tanaka Akira: 7477: Completion/User/_xterm,
-	  Completion/X/_x_borderwidth, Completion/X/_x_font,
-	  Completion/X/_x_geometry, Completion/X/_x_locale,
-	  Completion/X/_x_name, Completion/X/_x_resource,
-	  Completion/X/_x_selection_timeout, Completion/X/_x_title,
-	  Completion/X/_xt_arguments, Completion/X/_xt_session_id:
-	  use standard XToolkit arguments.
-
-	* Sven: 7472: Src/exec.c: crash in isreallycom().
-
-	* Sven: 7469: Completion/Base/_arguments,
-	  Completion/Base/_command_names, Completion/Builtins/_zftp,
-	  Completion/Core/_complete, Completion/Core/_main_complete,
-	  Completion/Core/_normal, Completion/User/_x_display,
-	  Completion/User/_x_options, Completion/User/_xterm: fix
-	  word-splitting for _arguments.
-
-	* Sven: zsh-users/2505: parameter with non-empty prefix.
-
-	* Tanaka Akira: 7468: Completion/User/_xterm: xterm argument
-	  completion.
-
-	* Sven: zsh-users/2502: completing '=$' erased word.
-
-	* Sven: 7467: Doc/Zsh/compsys.yo, Completion/Base/_arguments,
-	  Completion/Base/_long_options: allow an _arguments option to
-	  swallow everything to end of line.
-
-	* Sven: 7465: Src/params.c: reverse indexing of associative
-	  arrays.
-
-	* Sven: 7463: Src/Zle/compctl.c, Doc/Zsh/compsys.yo,
-	  Completion/Base/_arguments, Completion/Base/_brace_parameter,
-	  Completion/Base/_condition, Completion/Base/_long_options,
-	  Completion/Base/_math, Completion/Base/_parameter,
-	  Completion/Base/_tilde, Completion/Base/_vars,
-	  Completion/Builtins/_vars_eq, Completion/Builtins/_zftp,
-	  Completion/Commands/_correct_filename,
-	  Completion/Commands/_correct_word,
-	  Completion/Commands/_expand_word,
-	  Completion/Commands/_history_complete_word,
-	  Completion/Commands/_most_recent_file,
-	  Completion/Commands/_read_comp, Completion/Core/_parameters,
-	  Completion/Core/compinit, Completion/User/_chown,
-	  Completion/User/_dir_list, Completion/User/_exec_funcs,
-	  Completion/User/_find, Completion/User/_gprof,
-	  Completion/User/_rlogin, Completion/User/_su,
-	  Completion/User/_tar, Completion/User/_users,
-	  Util/completion-style-guide: miscellaneous completion fixes.
-
-	* Tanaka Akira: 7460. 7461: Completion/Base/_arguments,
-	  Completion/User/_patch: _arguments -s handling with --.
-
-	* Clint Adams: 7459: Config/funcinst.mk, Config/installfns.sh,
-	  Doc/Makefile.in, Src/Makefile.in, Src/Makemod.in.in: can set
-	  DESTDIR to specify install prefix.
-
-	* Tanaka Akira: 7458: Completion/Base/_arguments,
-	  Completion/Base/_long_options, Completion/User/_patch:
-	  _patch function and required fixes.
-
-	* Sven: 7457: Doc/Zsh/compsys.yo, Completion/Base/_arguments:
-	  handle short options.
-
-	* Sven: 7455: Src/Zle/complist.c: handle lengths of capabilities.
-
-	* Sven: 7454: Doc/Zsh/compsys.yo, Completion/Base/_arguments,
-	  Completion/Core/_message: option prefix configuration.
-
-	* Sven: 7429: _pbm: more stuff
-
-	* Tanaka Akira: 7451: Completion/Core/_message,
-	  Completion/Pbmplus/_pbmtoepsi, Completion/Pbmplus/_pktopbm,
-	  Completion/Pbmplus/_yuvtoppm, Doc/Zsh/compsys.yo: some small
-	  mistakes.
-
-	* Sven: 7441: Src/Zle/zle_tricky.c: matching control bug.
-
-	* Sven: 7450: Completion/Base/_arguments,
-	  Completion/Base/_long_options, Completion/Base/_subscript,
-	  Completion/Builtins/_zmodload, Completion/User/_colors,
-	  Completion/User/_cvs, Completion/User/_gdb: explanations and
-	  arguments.
-
-	* Tanaka Akira: 7431: Completion/User/_colors: null glob.
-
-	* Tanaka Akira: 7432: Completion/User/_cvs: update.
-
-	* Sven: 7449: Src/module.c, Src/params.c: better errors for failed
-	  autoloading; 
-
-	* Sven: 7448: too many files under Completion to list, including
-	  new Pbmplus directory: revised pbm completion; pattern completion
-	  only if no specific completion; descriptions for completions;
-	  better handling for command line arguments.
-
-	* Tanaka Akira: 7417: Completion/User/_pdf, Completion/User/_ps,
-	  Completion/User/_pspdf: more programs that take ps or pdf files.
-
-	* Sven: 7430: matching control bug: Src/Zle/zle_tricky.c,
-	  Completion/User/_colors, Completion/User/_cursors,
-	  Completion/User/_x_options, Completion/User/_xsetroot:
-	  bug in matching control.
-
-	* Tanaka Akira: 7428: Completion/User/_pbm,
-	  Completion/User/_colors: fix some problems.
-
-	* Sven: 7420: Src/Zle/zle_tricky.c, Doc/Zsh/compsys.yo,
-	  Completion/Base/_first, Completion/Builtins/_zftp,
-	  Completion/Core/_complete, Completion/Core/_main_complete,
-	  Completion/Core/_normal, Completion/User/_colors,
-	  Completion/User/_pbm, Completion/User/_x_options: _compskip
-	  extended to allow choice of what to skip.
-
-	* Sven: 7418: Completion/User/_pbm: new
-
-	* Sven: 7446: print -P %s didn't work.
-
-	* Bart: 7410: parameter flags doc for M.
-
-	* Sven: 7404: Src/glob.c: repeatedly matching empty string
-	  (somehow).
-
-1999-08-06  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: Config/version.mk: 3.1.6-pws-1 made available.
-
-	* Sven: 7386: Src/subst.c: Order of q and Q parameter flags matters.
-
-1999-08-05  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7380: Src/hist.c, Src/subst.c, Doc/Zsh/expn.yo: flag X for
-	  reporting errors de-quoting.
-
-	* Sven: 7374: Src/subst.c, Doc/Zsh/expn.yo: modifier to remove one
-	  level of quotation, corresponding flags.
-
-	* Sven: 7373: Src/Zle/comp.h, Src/Zle/zle_tricky.c,
-	  Completion/Base/_brace_parameter:  support nested parameter
-	  expansion type of deal.
-	
-1999-08-04  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7355: Src/Zle/compctl.c, Src/Zle/zle_tricky.c: make
-	  compadd quoting consistent with compgen.	
-
-1999-08-02  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7349: Src/loop.c, Src/signals.c:  restore errflags in
-	  select after a zleread; fix problem restoring function-style trap
-	  after a function set it to something else.
-
-	* Sven: 7348: Completion/Core/_path_files, Doc/Zsh/compsys.yo:
-	  remove path_keepdir configuration key but don't do keepdir
-	  trick unless _files had no type arguments.
-
-	* Sven: 7345, 7346, 7347: Src/Zle/zle_tricky.c: match control
-	  problems.
-
-	* Sven: 7344, 7353: Src/cond.c, Src/Modules/example.c,
-	  Src/Zle/compctl.c, Util/zsh-development-guide:  conditions can
-	  get the tokenized string; better quoting behaviour in
-	  IPREFIX/ISUFFIX.
-
-	* Sven: 7343: Src/Zle/zle_tricky.c: quote path prefix and suffix
-	  earlier.
-
-	* pws: 7342: Doc/Makfile.in: use makeinfo ... || exit 0 to
-	  ignore result of makeinfo.
-
-	* Irving Wolfe: 7336: utils.c: same fcntl() change.
-
-	* Geoff: 7335: init.c: third argument for fcntl().
-
-1999-08-01  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: Config/version.mk: zsh 3.1.6 released.
-
-1999-07-30  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws, Bart: 7321, 7325: Src/hist.c: NO_BANG_HIST wasn't working
-	  at all, but be careful not to disable too much when it's
-	  in effect.
-
-	* Tanaka Akira: 7318: Completion/User/_cvs: more improvements
-
-1999-07-29  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7316: Doc/Zsh/compsys.yo: mention that compctl -M control
-	  is available and fix some typos.
-
-	* pws: unposted: Doc/Zsh/metafaq.yo: sites in Italy and Poland
-	  (the one in Italy is not `official', but is actively mirroring
-	  ftp.zsh.org anyway).
-
-	* Felix Rosencrantz: 7311: Src/Zle/zle_tricky.c: matching control
-	  left dangling pointers.
-
-	* Tanaka Akira: 7312: Completion/User/_cvs: don't quote ignore
-	  patterns.
-
-1999-07-28  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7308, 7309: Src/Zle/zle_tricky.c: glob patterns were
-	  limited to PATH_MAX and length wasn't tested.
-
-	* Tanaka Akira: 7307: Completion/User/_cvs: remove parentheses,
-	  complete argument options.
-
-	* pws: 7305: Doc/Zsh/zftpsys.yo, Functions/Zftp/zfanon,
-	  Functions/Zftp/zfget, Functions/Zftp/zfopen,
-	  Functions/Zftp/zftp_chpwd: use URL-style paths in opening;
-	  zfget -c sends output to stdout; don't delete current directory
-	  information if we haven't really changed directory.
-
-	* Bart: 7301: Completion/User/_cvs: restored .file completion
-
-1999-07-27  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7300: Completion/Core/compdump: wasn't ignoring . in fpath,
-	  although compinit was.
-
-	* pws: 7299: configure.in: don't use gcc -pedantic any more, since
-	  there are too many messages about `long long' and variable-sized
-	  arrays not being available in ISO C.
-
-	* pws: 7298: Src/Zle/zle_tricky.c: missing dupstring() in
-	  comp_match.
-
-	* pws: 7297: Completion/Core/_path_files, Doc/Zsh/compsys.yo:
-	  path_keepdir config key required for 7141 to come into effect
-	  due to significant side effects.
-
-	* Tanaka Akira: 7290, 7292: Completion/User/_cvs: condensed
-	  version of all _cvs completion stuff; completes files if not
-	  under CVS control; use compgen -p to work around problem with
-	  quoted characters.
-
-	* Andrej: 7827: Etc/Machines: Siemens info
-	  
-	* Bart: 7285, applied by hand: Completion/User/_cvs: parameter
-	  fixes, commit bug.
-
-	* Tanaka Akira: 7284: Completion/Core/compdump: careful when
-	  two shells start at once.
-
-	* Tanaka Akira: 7282: Completion/User/_cvs,
-	  Completion/User/_cvsaddp, Completion/User/_cvsentries_modified,
-	  Completion/User/_cvsprefix, Completion/User/_cvsremovep,
-	  Completion/User/_cvstargets, Completion/User/_cvstargets_modified:
-	  handle modified files using stat module.
-
-1999-07-26  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Tanaka Akira: 7278: Completion/Base/_complete_opts:
-	  less verbosity
-
-1999-07-25  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Tanaka Akira: 7276, 7277, 7279: Completion/User/{_cvs, _cvsaddp,
-	  _cvsentries, _cvsprefix, _cvsremovep, _cvsrepositories,
-	  _cvsrevisions, _cvstargets, _cvstest}, Misc/compctl-examples:
-	  more modular cvs new completion support including CVS/Entries;
-	  bug fix for old CVS completion.
-
-	* Bart: 7275: Doc/intro.ms: now works with groff.
-
-	* Bart: 7274: Src/Zle/zle_tricky.c: don't go beyond end of line
-
-	* pws: from Bart: Etc/CONTRIBUTORS, Etc/NEWS:  updates for 3.0.6
-
-1999-07-24  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: version 3.1.6-test-3
-
-	* pws: lastest FAQ.yo, FAQ
-
-1999-07-23  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7264: Completion/Commands/_correct_filename,
-	  Completion/Commands/_correct_word,
-	  Completion/Commands/_expand_word,
-	  Completion/Commands/_history_complete_word,
-	  Completion/Commands/_most_recent_file,
-	  Completion/Commands/_read_comp, Completion/Core/compinit,
-	  Doc/Zsh/compsys.yo: compdef -k takes -n option not to override
-	  existing keybinding; used in completion command widgets to
-	  keep user bindings during compinit.
-
-	* Sven: 7260: Completion/Core/_main_complete: commented-out
-	  option saving bit can uses parameter module
-
-	* Sven: 7259, 7261: Src/subst.c, Src/Modules/parameter.c,
-	  Doc/Zsh/expn.yo, Completion/Core/_normal,
-	  Completion/Core/_parameters: parameter module provides
-	  local information; used in _parameters; _normal uses
-	  $commands when available.
-
-	* pws: 7257: Completion/Core/_parameters: simplify.
-
-	* Tanaka Akira: 7256: Completion/User/_bzip2,
-	  Completion/User/_bunzip2: new.
-
-	* Tanaka Akira: 7255: Completion/User/_make: complete after =.
-
-	* Oliver: 7254: Completion/Builtins/_aliases: do unalias.
-
-1999-07-22  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7253: Doc/Zsh/arith.yo, Doc/Zsh/builtins.yo,
-	  Doc/Zsh/compctl.yo, Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo,
-	  Doc/Zsh/cond.yo, Doc/Zsh/expn.yo, Doc/Zsh/files.yo,
-	  Doc/Zsh/func.yo, Doc/Zsh/grammar.yo, Doc/Zsh/invoke.yo,
-	  Doc/Zsh/jobs.yo, Doc/Zsh/mod_stat.yo, Doc/Zsh/mod_zle.yo,
-	  Doc/Zsh/options.yo, Doc/Zsh/params.yo, Doc/Zsh/redirect.yo,
-	  Doc/Zsh/zle.yo, Doc/ztexi.yo, Util/zsh-development-guide:
-	  General documentation fixes and enhancements.
-
-	* Sven: 7251: Src/Zle/zle_tricky.c: completion words wrapper
-	  tweak thing.
-
-1999-07-21  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Bart: 7246: Completion/Builtin/_functions: complete for
-	  _functions.
-
-	* Tanaka Akira, Sven: 7243, 7250: Completion/Base/_complete_opts,
-	  Completion/User_cvs: enhancements for cvs completion.
-
-	* Sven: 7241: Completion/Base/_first: typos
-
-	* pws: 7231: README, Etc/CONTRIBUTORS: notes for latest release
-	  including possible incompatibilities.
-
-	* Bart: 7230: Src/exec.c: cancd2 didn't free string properly
-	  (or at all, in fact).
-
-	* Tanaka Akira, Bart: 7228: Completion/User/_cvs,
-	  Completion/User/_complete_opts:  completion for cvs.
-	
-1999-07-20  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7226: INSTALL: mention that dependent libraries of zle
-	  can't be used if zle is dynamically loaded on systems without
-	  working RTLD_GLOBAL.
-
-	* pws: 7223: Doc/Makefile.in, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/compwid.yo, Doc/Zsh/mod_complist.yo,
-	  Doc/Zsh/mod_zftp.yo, Doc/Zsh/mod_zle.yo, Doc/Zsh/zftpsys.yo:
-	  dependences for texinfo manual; extra index entries.
-
-	* Sven: 7220: Src/Zle/complist.c: `*=' works and the last
-	  column is set.
-
-	* Sven: 7219: Src/Zle/zle_tricky.c, Doc/Zsh/compwid.yo:
-	  compstate[force_list] now works as documented.
-
-	* Sven: 2456: Src/Zle/zle_tricky.c, Doc/Zsh/compwid.yo: 
-	  clear explanation string; document compstate[insert]=''
-	  is same as unsetting.
-
-	* pws: 7218: Doc/Makefile.in, Doc/zman.yo: delete all manual
-	  page lines beginning .'; work around yodl .SH ""NAME problem.
-
-	* Sven: 7217: Src/exec.c: duplicate function name for scriptname.
-
-	* Sven: 7216: Src/Zle/zle_tricky.c: insertion with old and
-	  new completion.
-
-	* Tanaka Akira: 7213: Doc/Makefile.in: postprocess manual pages
-	  to remove yodl cruft.
-
-	* Ollivier: 7209, 7210: configure.in, Etc/MACHINES: Elf and a.out
-	  dynamic loading on FreeBSD (MACHINES entry adapted).
-
-1999-07-19  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Tanaka Akira: 7205: Src/Modules/mapfile.c: MS_SYNC was not
-          defined on SunOS 4.
-
-	* pws: 7202: Src/Modules/clone.c: add an extra zero argument
-	  to ioctl() to make three.
-
-	* pws: from Ollivier Robert: Etc/MACHINES: FreeBSD 4.0 builds OK.
-
-	* pws: 7196: Src/Zle/zle_tricky.c: try to handle multiple supplied
-	  (-P) prefixes better.
-
-	* pws: 2446: Completion/User/_rlogin: handle user@host better.
-
-	* pws: version 3.1.6-test-2
-
-	* pws: 7192: Src/glob.c: bug with null in pattern if at end of
-	  test string (matched as if a real character).
-
-1999-07-18  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7185: Src/glob.c: don't use strcoll() for character
-	  ranges [...] because it can have side effects.
-
-	* pws: 7184: Src/lex.c: histactive didn't get get zeroed before
-	  non-interactive history use, hence interactive lines with
-	  remhist() were junked more than once.
-
-	* Wayne: 7181: Doc/Zsh/options.y, Doc/Zsh/params.yo: history docs.
-
-	* Wayne: 7180: Src/Zle/complist.c, Src/utils.c: warnings.
-
-1999-07-16  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7172: Doc/Zsh/options.yo, Src/builtin.c, Src/exec.c,
-	  Src/options.c, Src/utils.c, Src/zsh.h: minor bugs with
-	  7164 fixed; CHASE_DOTS resolves ..'s to physical path;
-	  CHASE_LINKS doesn't do logical path rationalization;
-	  xsymlink() and xsymlinks() simplified and option-dependence
-	  removed.
-
-	* Sven: 7171: Src/builtin.c: alternate form of Digital/gcc
-	  bug workaround.
-
-1999-07-15  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7164: Src/builtin.c, Src/exec.c: AUTOCD now allows
-	  paths with symlinks (as real cd always did); simplify code
-	  for testing for existing directory on foo/.. before removing
-	  foo/..; as a side effect, relative cd's from directory which
-	  has been deleted don't work.
-
-	* Sven: 7161: Src/Zle/comp.h, Src/Zle/complist.c,
-	  Src/Zle/zle_tricky.c, Completion/Base/_brace_parameter:
-	  be more careful with quote-prefix/suffix and path-prefix/suffix
-	  especially with accept-and-menu-complete.
-
-	* pws: 7155: Functions/Zftp/zfgoto, Functions/Zftp/zfinit:
-	  zfgoto can cd without needing to re-login; zfinit uses
-	  zmodload -e to check for zftp.
-
-	* Sven: 7154: Src/Zle/complist.c, Src/Zle/zle_refresh.c,
-	  Src/Zle/zle_tricky.c, Doc/Zsh/mod_complist.yo: don't
-	  list too many times on ambiguous completion; don't do
-	  menu-selection if no alwayslastprompt behaviour.
-
-1999-07-14  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7148: INSTALL: User subdirectory
-
-	* Thomas Köhler: 7146: Completion/User/_make: didn't work.
-
-	* pws: 7145: Completion/User/_sh: use compset -q for completing
-	  after -c option	  
-
-	* Sven: 7143: Src/Zle/complist.c, Src/Zle/zle_tricky.c:
-	  listing got confused with only hidden matches.
-
-	* Sven: 7141: Completion/Core/_path_files: if there are
-	  no completions in a valid directory when we have a path ending
-	  in /, use the directory as a completion, to avoid
-	  correction/approximation of the existing directory.
-
-	* pws: 7139: Src/builtin.c: not particularly pleasant fix
-	  to problem that `cd nonexistent/..' silently did nothing, while
-	  making `cd ..' work even if current directory has gone.
-
-	* Sven: 7138: Completion/User/_hosts, Completion/User/_x_options:
-	  _hosts passes arguments as options to compadd.
-
-	* Oliver: 7136: Completion/User/_rlogin,
-	  Completion/User/_x_options: use _hosts.
-
-	* Sven: 7135: Src/Zle/zle_tricky.c, Completion/Core/_path_files:
-	  change quoting of files again.
-
-	* Sven: 7133: Doc/Zsh/expn.yo, Doc/Zsh/mod_complist.yo:
-	  ZLS_COLOURS not required for complist to work.
-
-	* pws: 7127: configure.in: help now shows --disable-dynamic
-	  and --disable-lfs.
-
-	* Sven: 7126: Src/Zle/comp.h, Src/Zle/comp1.c, Src/Zle/compctl.c,
-	  Src/Zle/zle_tricky.c, Doc/Zsh/compwid.yo,
-	  Functions/Zle/incremental-complete-word:  compstate key
-	  normal_nmatches; more i-c-w prompt escapes
-
-	* Sven: 7123: Src/Zle/zle_tricky.c: clear list on expansion
-	  failure.
-
-1999-07-13  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7119: Src/Zle/zle_tricky.c: status from expansion
-	  functions.
-
-	* Sven: 7116: Doc/Zsh/compwid.yo, Doc/Zsh/expn.yo: minor
-	  changes.
-
-	* pws: 7114: Src/parse.c, Src/utils.c: line numbers again:
-	  flushing line in a script made lineno appear one too large;
-	  introduce zwarn() function.
-
-	* Sven/pws: 7112: Src/Zle/zle_params.c, Doc/Zsh/zle.yo: change
-	  array keys to scalar KEYS, works more like read -k;
-	  documentation.
-
-	* Sven: 7110: Src/Modules/zftp.c, Doc/Zsh/compsys.yo,
-	  Etc/MACHINES: signed char warnings in zftp; document
-	  _long_options options; Digital UNIX problem.
-
-	* Sven: 2432: Src/builtin.c: workaround Digital UNIX 4.0 +
-	  gcc 2.8.1 bug.
-	
-	* Sven: zsh-users/2430: Etc/NEWS: mention chmod-like mode glob
-	  qualifier.
-
-	* Sven: 7108: Misc/job-control-tests: more tests
-
-	* Bart: 7107: configure.in: too many x's in lfs handling.
-
-	* Sven: 7106: Functions/Zle/incremental-complete-word: prompting
-	  changes.
-
-	* pws: unposted: update .distfiles and .cvsignore:  _sh, _su
-	  zshcompsys.yo, zshcompwid.yo, zshzftp.yo, zshcompsys.1,
-	  zshcompwid.1, zshzftp.1 were missing from the distribution.
-
-	* Sven: 7105: Src/Zle/Zle_tricky.c: restore the command line
-	  in more places.
-
-1999-07-12  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 7103: Src/Zle/zle_tricky.c, Doc/Zsh/compwid.yo: update
-	  CURRENT with compset -q; modify test for quoted delimiters.
-
-	* pws: version 3.1.6-test-1
-
-	* Sven: 7099: Completion/Core/_main_complete, Doc/Zsh/compsys.yo:
-	  config key last_prompt means don't turn off alwayslastprompt on
-	  prefix.
-
-	* Sven: 7097: Completion/Core/_oldlist: keeps old command line.
-
-1999-07-09  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7091: configure.in, INSTALL: change defaults for
-	  dynamic and large file support to be enabled.
-
-	* Sven: 7083: Src/Zle/compctl.c, Src/Zle/zle_tricky.c,
-	  Doc/Zsh/compwid.yo: compset -q unconditionally splits
-	  the current word.
-
-	* Sven: 7082: Completion/Base/_parameter: use _parameters
-
-	* pws: 7076: Completion/Base/_command_names,
-	  Completion/Base/_first, Completion/User/_su: %resume should be
-	  in _command_names; _su should check $SHELL.
-
-	* pws: 7075, 7080, 7092: Completion/Core/compinit,
-	  Config/funcinst.mk, Config/installfns.sh,
-	  Config/uninstallfns.sh, INSTALL: Yet another attempt to install
-	  shell functions in a sensible way; compinit adds to the end of
-	  $fpath; fixed typo that it didn't check existing fpath properly.
-
-	* Oliver: 7067: Completion/Base/_first, Completion/User/_su,
-	  Completion/User/_sh: check for %resume on command line;
-	  new completions for _su and _sh.
-
-	* pws: 7066: configure.in: function install makefile in
-	  source, not build, hierarchy.
-
-	* Sven: 7062: Src/Zle/complist.c, Src/Zle/zle_tricky.c,
-	  Doc/Zsh/compsys.yo, Doc/Zsh/mod_complist.yo: undo works
-	  inside menu-selection for items completed by
-	  accept-and-infer-next-history; display is more reliable.
-
-	* Sven: 7058: Src/Zle/zle_params.c: turn off menu completion
-	  if the command line gets altered by a zle function.
-
-1999-07-08  Peter Stephenson  <pws@ibmth.df.unipi.it>
-	  
-	* pws: 7049: Src/builtin.c: eval didn't save/restore lexical
-	  state.
-	
-	* pws: 7046: Src/loop.c: xtrace for case and for statements.
-	
-	* Sven: 7043: Completion/Core/_oldlist:  Extra sophistication
-	  when using _oldlist with a particular completer.
-	
-	* pws: 7042: Etc/BUGS, Etc/CONTRIBUTORS, Etc/NEWS,
-	  Doc/Zsh/builtins.yo, Doc/Zsh/expn.yo, Doc/Zsh/mod_complist.yo,
-	  Doc/Zsh/params.yo:  Changes to admin files for 3.1.6; some minor
-	  documentation changes.
-	
-	* Sven: 7039: Completion/Commands/_read_comp: trapping SIGINT
-	  no longer necessary after 7038.
-	
-	* pws: 7038: Src/Zle/zle_main.c: restore breaks whenever errflag
-	  is restored as SIGINT handler sets both.
-	  
-	* Sven: 7036: Src/Zle/complist.c: make sure old list is thrown
-	  away when doing accept-and-infer-next-history in menu-completion.
-	
-	* Sven: 7028: Src/Zle/zle_tricky.c,
-	  Functions/Zle/incremental-complete-word: problems when BUFFER
-	  changes, %u in i-c-w prompt, config key for showing list.
-
-	* Sven: 7026: Completion/Core/_main_complete,
-	  Completion/Core/_match, Completion/Core/_oldlist,
-	  Completion/Core/compinit: More information stored in assoc array
-	  _lastcomp about the previous completion.
-
-	* Sven: 7025: Src/Zle/complist.c: remove list when accepting
-	  and retrying completion when unambiguous.
-
-1999-07-07  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 7021: Src/utils.c: error message in findsep() was
-	  erroneous.
-
-	* pws: 7020: Src/params.c: error message for whole assoc array
-	  assignment.
-
-	* Oliver: 7005: Src/builtin.c, Doc/Zsh/builtins.yo: alias
-	  takes +g and + flags.
-
-	* Sven: 7004: Src/Zle/zle_refresh.c: reset showinglist on
-	  clearlist.
-
-	* pws: 7002: Completion/Commands/_read_comp: does completion
-	  lists; handle errors better.
-
-	* pws: 7001: Src/hist.c: line numbers were wrong in some error
-	  messages (e.g. conditions) when reading from a string
-	  (e.g. autoloaded functions).
-
-	* pws: 6998: Src/Zle/zle_bindings.c: restore history-search
-	  bindings \M-n, \M-p.
-
-	* Sven: 6996: Src/Zle/complist.c, Src/Zle/zle_tricky.c,
-	  Doc/Zsh/mod_complist.yo: accept-and-infer-next-history
-	  in menu-select accepts a match, then restarts menu selection.
-
-	* Sven: 6995, 7000: Src/math.c, Src/utils.c, Doc/Zsh/arith.yo:
-	  allow bindkey strings in after #\ in math mode.  Also
-	  incremental-complete-word and insert-files, added by hand
-	  to directory Functions/Zle, with appropriate changes to
-	  configure.in and INSTALL.
-
-	* Sven: 6992: Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c, Doc/Zsh/mod_zle.yo:
-	  zle -R can take list arguments; zle -cR clears the list;
-	  zle -U puts keys in the unget queue.
-
-	* Geoff: 6991: configure.in: NetBSD can use both ELF and a.out.
-
-1999-07-06  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Andrej: 6990: Completion/Builtins/_cd,
-	  Completion/Core/_path_files: some local variable fixes.
-
-	* pws: 6987: Src/builtin.c: `typeset +f' and `functions +'
-	  should just print the function name.
-
-	* pws: 6986: Doc/Zsh/builtins.yo, Doc/Zsh/params.yo,
-	  Src/builtin.c, Src/params.c, Src/zsh.h: special parameters
-	  can become local, remaining special; be more careful that
-	  only the most global parameter can appear in the environment.
-
-	* pws: 6984: Doc/Zsh/compsys.yo: typo in 6973 docs
-
-1999-07-05  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6982: Src/exec.c: variable assignment with redirection is
-	  interpreted as variable assignment with redirection, not
-	  nullcmd.
-
-	* pws: 6981: Completion/Commands/_read_comp: -n should be -z.
-
-	* Sven: 6979: Completion/Core/_path_files: compconfig[path_expand]
-	  fix.
-
-	* Sven: 6977: Completion/Core/_match: cosmetic `if' change.
-
-	* Sven: 6975: Src/Zle/zle_tricky.c: fix quoting of tildes at
-	  the start of file names.
-
-	* Sven: 6974: Src/exec.c: mark superjob as locked as soon
-	  as started.
-
-	* pws: 6973: Completion/Commands/_read_comp, Doc/Zsh/compsys.yo:
-	  _read_comp allows function arguments and ^U but won't add
-	  non-printables; document Completion/Commands widgets.
-
-	* Sven: 6971: Src/exec.c, Src/jobs.c: backgrounding jobs forked
-	  from current shell works again; job table not filled up by
-	  current shell subjobs; current/previous job not lost.
-
-1999-07-04  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6970: Completion/Base/_default, Completion/Builtins/_cd,
-	  Completion/Commands/_read_comp: handle magicequalsubst and
-	  cdablevars optios; _read_comp can read and execute a completion
-	  function (_*) or compgen argument (-*) on the fly.
-
-	* pws: 6969: Doc/Zsh/builtins.yo, Src/builtin.c: print -b
-	  uses full bindkey string possibilities.
-
-	* Tanaka Akira: 6968: Completion/Core/compinit: compinit -D
-	  didn't actually work.
-
-	* pws: 6967: Completion/Core/_path_files: final return status
-	  inverted.
-
-	* pws: 6966: Completion/Makefile.in, Functions/Makefile.in,
-	  Config/funcinst.mk, configure.in, INSTALL:  prevent overwriting
-	  of changed shell functions on installation; move function
-	  installation code to funcinst.mk; clear up INSTALL a bit.
-
-1999-07-03  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6962: Doc/Zsh/prompt.yo, Src/prompt.c:  %/ and %~ take
-	  numbers for trailing path segments like %c and %C, %N can too;
-	  function promptpath() to implement this.
-
-	* pws: 6957: 3.1.5-pws-25 made available
-	
-	* pws: 6955, 6956: Completion/Core/compinit,
-	  Completion/Core/compinstall, Doc/Zsh/compsys.yo: better handling
-	  of subdirectory structure for completion functions; -d is default
-	  for compinit, -D turns it off; documentation updated for installed
-	  files; bugfix for compinstall re-using compconf arguments.
-
-1999-07-02  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Tanaka Akira: 6953: Completion/Builtins/_cd: use pushd code for cd
-
-	* Sven: 6945: Completion/Core/_expand: error expanding :]
-
-	* Sven: 6941: Src/exec.c, Src/jobs.c: neater fix for time builtin.
-
-	* Oliver: 6939: Completion/User/_hosts,
-	  Completion/Base/_subscript, Misc/compctl-examples: better way of
-	  using /etc/hosts; complete POSIX character classes.
-	
-	* Sven: 6937: Doc/Zsh/mod_complist.yo, Src/Zle/complist.c: use
-	  send-break to exit menu selection and return to normal menu
-	  completion.
-
-1999-07-01  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 6936: Src/jobs.c: time builtin was broken.
-
-	* Sven: 6933: Src/exec.c, Src/jobs.c, Src/Signals.c:  More job
-	  control fixes:  running external command after loop in function;
-	  function on left hand side of pipeline with loop on right.
-
-1999-06-29  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 6908, 6926: Src/exec.c, Src/jobs.c, Src/zsh.h: more job
-	  control fixes:  functions with programs that send strange
-	  signals to parents should work.
-
-	* Sven: 6904: Src/Makefile.in: bugs with cleaning up modules
-	  in Src.
-
-	* Sven: 6903: Src/Zle/zle_tricky.c, Doc/Zsh/compwid.yo:
-	  compstate[insert] can have a space at the end to force inserting
-	  a space after completion.
-
-	* Sven: 6902: Src/Zle/complist.c, Doc/Zsh/mod_complist.yo:
-	  menu-select will use %S/%s if ZLS_COLO[U]RS is not defined.
-
-	* Sven: 6901: Src/exec.c, Src/init.c, Src/jobs.c:  back off
-	  some (but not all) recent job handling patches to avoid more
-	  serious problems with recalcitrant programs.
-
-1999-06-28  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6899: Doc/Zsh/params.yo, Doc/Zsh/prompt.yo, Src/init.c:
-	  default PS4 is now "+%N:%i> ", except in [k]sh emulation.
-
-	* Andrej: 6893: aczsh.m4: use existing environment value when
-	  testing for large file support.
-
-	* pws: 6890: Doc/Zsh/params.yo, Doc/Zsh/prompt.yo, Src/prompt.c:
-	  %N and %i prompt escapes provide script or function name and
-	  line number.
-
-	* Sven: 6887: Src/exec.c, Src/jobs.c: another loop killing problem.
-
-	* Geoff: 6884: Src/Zle/zle_refresh.c: bug when redisplaying line
-	  one shorter than terminal width
-
-1999-06-27  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-        * pws: 6881: Doc/Zsh/mod_zle.yo: explain keymap linking
-
-	* pws: 6879: Src/exec.c: update command hash pointer if builtin
-	  is autoloaded after a prefork().
-
-	* Bart: 6873: Src/Zle/zle_tricky.c: magic-space doesn't feep
-	  quite so much.
-
-	* Geoff: 6871: Src/Zle/complist.c: optimi[sz]ations for outputing
-	  coloured/colorized output.
-
-	* pws: 6866: Src/exec.c, Src/init.c: signed/unsigned character
-	  problems; one was causing SunOS 4.1.3_U1 with gcc 2.7.0 to hang.
-
-1999-06-26  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* 3.1.5-pws-24 made available
-
-1999-06-25  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6857: Completion/Core/compinit,
-	  Completion/Core/compinstall, Doc/Zsh/compsys.yo: compinit and
-	  compinstall are now functions which unfunction and autoload
-	  themselves.  _compdir is used by compinstall to record where
-	  it found the completion directories.  compinit is now otherwise
-	  stuck with fpath.
-
-	* pws: 6851, 6853: typeset -g doesn't locallize parameters; bug
-	  that unset parameters were recreated global instead of at
-	  some higher local level; handle PM_AUTOLOAD consistent with other
-	  flags.
-
-	* Sven: 6850: Src/init.c: always generate a new pgrp for the
-	  shell, since the parent (e.g. xterm) may not have done that
-	  and zsh now runs programs in its own pgrp.
-
-	* Sven: 6848: Src/exec.c: don't suspend if the shell is the
-	  only thing to suspend (or something like that).
-
-	* Sven: 6841: Src/loop.c: %_ in else branches for PS4
-
-1999-06-24  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6834: Src/glob.c, Src/hashtable.c: dyncat() changed always
-	  to use heap memory (as it erroneously claimed); hashtable element
-	  tablename (used for debugging) freed.
-
-	* Bart: 6830: Src/params.c: don't create the hashtable for an
-	  assoc array on assignment unless there is something to put in it.
-
-	* Sven: 6825: Src/Zle_tricky.c: make sure path prefix and suffix
-	  are quoted in filename completion; recalculate length of match
-	  string.
-
-	* Sven: 6824: Src/exec.c, Src/signals.c: functions got deleted
-	  from the process table too early for job control.
-
-	* pws: 6823: Src/exec.c, Src/utils.c:  names and line numbers
-	  of functions printed for errors during execution.
-
-	* Sven: 6822: Src/Zle/complist.c, Src/Zle/zle_tricky.c: assorted
-	  completion fixes: crash with old completion; too many spaces
-	  with menu inserting; too many beeps with LISTBEEP.
-
-	* Sven: 6819: Src/exec.c, Src/jobs.c, Src/signals.c:  Run
-	  jobs inside shell constructs in the same process group as the
-	  shell itself.
-
-	* Sven: 6817: Src/Zle/comp.h, Src/Zle/complist.c,
-	  Src/Zle/zle_tricky.c: Change ZLS_SELECT to SELECTMIN;
-	  don't automatically switch on select widget until there are
-	  $SELECTMIN choices.
-
-1999-06-23  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6816: Doc/Zsh/params.yo, Src/utils.c:  ZBEEP parameter
-	  gives string to output instead of beeping.
-
-	* Sven: 6815: Src/Zle/complist.c: switch off menu-select for
-	  hidden matches.
-
-	* pws: 6814: Doc/Zsh/mod_zle.yo, Doc/Zsh/options.yo,
-	  Doc/Zsh/zle.yo, Src/Zle/deltochar.c, Src/Zle/iwidgets.list,
-	  Src/Zle/zle_hist.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_move.c, Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c,
-	  Src/Zle/zle_utils.c, Src/Zle/zle_vi.c, Src/Zle/zle_word.c:
-	  Zle determines whether to feep by the return status (except
-	  for some inner code loops); completion widgets return 1 if
-	  something failed in the hierarchy outside the widget function;
-	  the -n and -N options work properly.
-
-	* pws: 6812: Src/subst.c: ${(AA)foo=}, or anything that gives
-	  a null string after the =, creates an empty assoc array.
-
-	* pws: 6806: Completion/Core/compdump, Completion/Core/compinit,
-	  Completion/Core/compinstall, Doc/Zsh/compsys.yo: compdump is now
-	  a function which unfunctions itself; default dumpfile location
-	  is now ${ZDOTDIR:-$HOME}/.zcompdump
-
-	* Sven: 6807: Src/Zle/complist.c: accept-and-menu-complete
-	  advances the menu-select selection too.
-
-	* Sven: 6802: Src/Zle/complist.c: change some default colours
-
-	* pws: 6801: Doc/Zsh/builtins.yo, Src/builtin.c: Make emulate -L
-	  turn on LOCAL_TRAPS, too.
-
-	* Sven: 6796: Src/Zle/zle_main.c, Src/Zle/zle_thingy.c,
-	  Doc/Zsh/mod_zle.yo, Completion/Core/compinit: zle -la lists
-	  all widgets, just the name; zle -la <NAME> tests if <NAME> is
-	  defined.
-
-	* Sven: 6793: Src/Zle/complist.c, Src/Zle/zle_keymap.c,
-	  Src/Zle/zle_main.c, Doc/Zsh/mod_complist.yo: Local keymaps can be
-	  defined, currently only used with menu-select.
-
-1999-06-22  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 6786: Src/Zle/zle_tricky.c, Doc/Zsh/compctl.yo: only use
-	  a range when you are after the first pattern in it.
-
-	* Sven: 6780: Src/Zle/complist.c: wasn't showinglist when it
-	  thought it was.
-
-	* Sven: 6778: don't delete function from job tables
-	  
-	 * pws: 6776: Doc/Makefile.in, Doc/Zsh/compsys.yo,
-	  Doc/Zsh/mod_complist.yo:  Tweakchen for menu-select patch;
-	  also (unposted) changed name collist to complist wherever it
-	  occurs.
-
-	* Sven: 6774, 6775: Src/Zle/collist.c, Src/Zle/comp.h,
-	  Src/Zle/zle.h, Src/Zle/zle_main.c, Src/Zle/zle_tricky.c,
-	  Doc/Zsh/compsys.yo, Doc/Zsh/mod_collist.yo,
-	  Doc/Zsh/mod_compctl.yo, Doc/Zsh/mod_deltochar.yo,
-	  Doc/Zsh/modules.yo, Completion/Core/_path_files:  Improvements
-	  for menu-select widget; ZLS_SELECT turns menu-completion
-	  into menu-selection; key bindings more natural; highlighting
-	  more useful
-
-	* Oliver: 6772: Src/Zle/zle_tricky.c: use the whole
-	  command text for job completion.
-
-1999-06-21  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Sven: 6760: Src/Zle/zle_tricky.c: menucompletion displaying new
-	  list of matches sometimes got confused.
-
-	* Sven: 6755: Src/jobs.c: status of restarted job including
-	  current shell processes was wrong.
-
-	* Sven: 6753: Src/Zle/collist.c, Src/xmods.conf: 
-	  load collist
-
-	* Sven: 6747: Src/Zle/collist.c, Src/Zle/zle_main.c,
-	  Src/Zle/zle_tricky.c: menu-select allows you to move
-	  cursor to select completions; uses ma list colouring
-	  capability.
-
-	* Sven: 6742: Src/Zle/collist.c, Src/Zle/collist.mdd,
-	  Src/Zle/zle_main.c, Src/Zle/zle_tricky.c, Src/module.c,
-	  Src/zsh.h, Doc/Zsh/mod_collist.yo, Doc/Zsh/mod_compctly.yo,
-	  Doc/Zsh/mod_deltochar.yo, Doc/Zsh/modules.yo,
-	  Util/zsh-development-guide:  collist module: colour completion
-	  lists by setting ZLS_COLOURS (or even ZLS_COLORS) variables.
-
-	* pws: 6737: Doc/Zsh/builtins.yo, Doc/Zsh/zle.yo: simplifications
-	  suggested by Bart.
-
-	* Bart: 6732: Doc/Zsh/compsys.yo: restore missing bits of Sven's
-	  patches (not the zle_tricky.c hunk).
-
-	* Bart: 6731: Doc/Zsh/compctl.yo: spelling correction
-
-1999-06-20  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* zsh-3.1.5-pws-23 made available
-	
-	* Sven/pws: 6616, 6609, 6726 (merged): `zle [ -N ] [ -n num ]
-	  widget args'; internal widgets handle arguments and return
-	  values; search commands use arguments; read -[kq] can use
-	  zle's key mechanism; zle -R [msg] redisplays line editor;
-	  digit-argument feeps if the keypress wasn't a digit;
-	  universal-argument handles argument as numeric.
-
-	* pws: 6725: Src/signals.c: more local traps:  now don't add trap
-	  to list to restore when outside a function, but do if the function
-	  simply unsets a trap which was set outside.
-
-1999-06-18  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6718: Completion/Core/compinit, Completion/Core/compdump,
-	  Doc/Zsh/compsys.yo: rebind existing completion widgets for new
-	  completion instead of defining new ones.
-
-	* pws: 6717: Doc/Zsh/options.yo, Src/exec.c, Src/options.c,
-	  Src/signals.c, Src/zsh.h: Option LOCAL_TRAPS saves and restores
-	  traps on exit from functions; set for ksh emulation.
-
-	* Tanaka Akira: 6716: Completion/User/_chown: some systems use `:'
-	  as separator in chown.
-
-	* Oliver/Sven: 6709, 6710: Completion files Base/_subscript,
-	  User/_chown, User/_groups, User/_x_options: _subscript shows
-	  listing for ordinary arrays; new chown and chgrp completions;
-	  example _x_options can complete displays.
-
-	* Sven: 6707: Src/exec.c: Shell structures not at the end
-	  of a pipeline are suspendable.  This is the only way
-	  of stopping a command in such a structure where the command
-	  handles interruptions in such a way that zsh doesn't see them.
-
-1999-06-17  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6705: Doc/Zsh/builtins.yo, Src/builtin.c, Src/exec.c,
-	  Src/init.c, Src/input.c, Src/parse.c: some more LINENO
-	  subtleties: embedded function definitions have correct line
-	  number; all lines, not just ones with new PS1, are counted
-	  interactively; traps with trap builtin use line no. of
-	  surrounding environment.
-
-	* Sven: 6693: Src/Modules/parameter.c, Src/builtin.c, Src/exec.c,
-	  Src/input.c, Src/zsh.h: update LINENO properly when parsing a
-	  string.
-
-	* Sven: 6692: Src/Zle/comp.h, Src/Zle/compctl.c,
-	  Src/Zle/zle_tricky.c, Doc/Zsh/compwid.yo,
-	  Completion/Builtins/_kill, Completion/Builtins/_wait,
-	  Completion/User/_gdb: allow the -y option to compadd for
-	  specifying an array to use when listing.
-
-	* Sven: 6689: Src/Zle/zle_tricky.c, Completion/Base/_subscript:
-	  test for closing bracket in get_comp_string().
-
-	* Oliver: 6688: Zsh/compsys.yo, Zsh/func.yo, Zsh/mod_zle.yo,
-	  Zsh/params.yo, Zsh/zftpsys.yo: spelling changes.
-
-	* Wayne: 6682: Src/hist.c: Uniquified history commands are limited
-	  to size $SAVEHIST, so that the last  $((HISTSIZE-SAVEHIST))
-	  commands are always available even with HIST_EXPIRE_DUPS_FIRST.
-
-	* Sven: 6686: Completion/Core/_match, Completion/Core/_path_files,
-	  Doc/Zsh/compsys.yo: New configuration keys path_cursor,
-	  match_insert.
-
-	* Sven: 6685: Src/Zle/compctl.c, Src/Zle/zle_params.c,
-	  Doc/Zsh/zle.yo, Completion/Base/_first,
-	  Completion/Commands/_correct_filename,
-	  Completion/Commands/_most_recent_file,
-	  Completion/Core/_approximate, Completion/Core/_expand,
-	  Completion/Core/_list: NUMERIC is unset if no prefix was given;
-	  it may be unset explicitly, and if set again will be restored in
-	  the expected way.
-
-	* Wayne: 6683: Src/exec.c: ambiguous brace
-
-	* Wayne: 6681: Src/builtin.c: start-of-loop check for history -r
-	  was wrong.
-
-1999-06-16  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6679: Src/Zle/zle_thingy.c, Doc/Zsh/compwid.yo:  always
-	  use .complete-word etc. as widget type in zle -C.
-
-	* pws: 6677: Doc/Zsh/guide.yo: avoid TeX overfull hbox problem.
-
-	* Andrej: 6674: Doc/zsh.yo, Doc/ztexi.yo: change order of initial
-	formatting instructions to make interaction with system
-	configuration files better.
-
-	* pws: 6660: Doc/Zsh/compctl.yo: pointer to new completion system
-	  at top of compctl documentation.
-
-	* pws: 6659: Src/Zle/zle_tricky.c: a couple of NULL's should be 0's
-
-	* pws: 6658: Doc/Zsh/options.yo, Src/init.c:  options strings at
-	  shell startup can end with whitespace (for #!), but anything
-	  after the whitespace causes an error.
-
-	* Sven: 6657: Completion files Base/_subscript,
-	  Builtins/_autoload, Builtins/_bindkey, Builtins/_echotc,
-	  Builtins/_kill, Builtins/_limits, Builtins/_wait,
-	  Builtins/_zmodload, User/_dd, User/_find, User/_gdb, User/_make,
-	  User/_mh, User/_rlogin, User/_x_options: New gdb completion;
-	  improved make completion; use compadd in preference to compgen
-	  -[sk]; configuration keys ps_args, ps_listsargs.
-
-	* Sven: 6654: Src/Zle/zle_tricky.c: empty display list after -y.
-
-	* Bart: 6652: Src/exec.c: trailing spaces confused #! emulation.
-
-	* Sven: 6649: Src/Zle/zle_tricky.c: behaviour of compctl -l.
-
-	* Bart: 6646: Src/lex.c: extra braces to enhance beauty of code
-	  which appeared in 3.0.5.
-
-1999-06-15  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Tanaka Akira: 6642: Completion/Base/_tilde: complete directory
-	  stack elements after ~+ or ~-.
-
-	* Tanaka Akira: 6641: Src/subst.c: treat ~-0 like ~0
-
-	* pws: 6639: configure.in: don't try type of $enable_val if empty
-	  (needed when off_t/ino_t are 64-bit without explicit enabling).
-
-	* zsh-3.1.5-pws-22 made available
-
-	* Oliver: 6636: Completion/Builtins/_limits: wasn't working
-
-	* Bart: 6617 + minor changes: Src/utils.c: Be more careful keeping
-	  $COLUMNS and $LINES correct, particularly if exported.
-
-	* Sven: zsh-users/2388: Src/jobs.c:  while loops etc. in shells
-	  running without MONITOR were hard to kill.
-
-	* Bart: 6628: Src/params.c: setting slices of unset array
-	  caused a crash.
-
-1999-06-14  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6626: Src/mem.c: in zsh's malloc, try to make sure when
-	  sbrk'ing that it's sufficiently well aligned.
-
-	* Oliver: 6624: Completion/Builtins/_kill,
-	  Completion/Builtins/_wait: more widely functioning process
-	  handling
-
-	* pws: 6623: Completion/Makefile.in, Config/defs.mk.in,
-	  Functions/Makefile.in, INSTALL, Src/init.c, Src/zsh.mdd,
-	  configure.in: --enable-function-subdirs allows installation
-	  into subdirectories of the function directory and sets the
-	  initial $fpath appropriately.
-
-	* Oliver: 6620: Completion/Builtins/_jobs: handle disown, too.
-
-	* pws: 6618: Doc/Zsh/func.yo, Doc/Zsh/grammar.yo, Src/lex.c:
-	  with SH_GLOB set, function definition parentheses after the
-	  first word on the line allow spaces inside.
-
-	* Sven: 6614: Src/Zle/zle_tricky.c, Completion/Brace/_brace_parameter:
-	  completion after quotes in parameters
-
-	* pws: 6610: Src/glob.c: globbing flags shouldn't be active
-	  without extendedglob.
-
-	* Bart: 6608: Doc/Zsh files compctl.yo, compsys.yo, compwid.yo,
-	  expn.yo, files.yo, mod_mapfile.yo, mod_zftp.yo, params.yo,
-	  zftpsys.yo, zle.yo: spelling corrections
-
-1999-06-12  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6601: Src/Makefile.in: don't remake Makemod just
-	  to clean up files
-
-	* pws: 6600: Doc/Zsh/arith.yo, Doc/Zsh/compctl.yo,
-	  Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo, Doc/Zsh/expn.yo,
-	  Doc/Zsh/guide.yo, Doc/Zsh/jobs.yo, Doc/Zsh/metafaq.yo,
-	  Doc/Zsh/mod_compctl.yo, Doc/Zsh/mod_zftp.yo, Doc/Zsh/params.yo,
-	  Doc/Zsh/redirect.yo, Doc/Zsh/zftpsys.yo, Doc/Zsh/zle.yo,
-	  Doc/zman.yo, Doc/ztexi.yo, Util/zsh-development-guide:
-	  Formatting of unfilled text now handled by three distinct
-	  macros example(), indent(), nofill(); compctl description node
-	  is now called `Programmable Completion Using compctl' to
-	  distinguish it from widget completion; don't put chapters on
-	  separate pages because many are too short.
-
-	* Wayne: 6599: Src/Zle/zle_tricky.c: unitialised variable warnings
-	  from gcc
-
-1999-06-11  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6598: Doc/Zsh/zftpsys.yo, Functions/Zftp/zfinit,
-	  Functions/Zftp/zfgoto, Functions/Zftp/zfmark,
-	  Functions/Zftp/zftp_chpwd, Completion/Builtins/_zftp:
-	  add zfmark and zfgoto implementing bookmarks (including use
-	  ncftp bookmarks) for zftp function suite; autoload functions
-	  from zfinit; patcomps -> _patcomps.
-
-	* pws: 6596: Doc/Zsh/arith.yo: update on size of integers and
-	  increase in clarity of presentation
-
-	* Sven: 6589: Completion/Core/_path_files: use :h and :t instead
-	  of pattern matching
-
-	* Sven: 6587, 6588: Src/Zle/zle_misc.c, Doc/Zsh/options.yo: < and
-	  > shouldn't remove a suffix, but | does
-
-	* Sven: 6586: Src/exec.c, Src/lex.c, Src/loop.c: don't modify
-	  struct cmd to insert cmd args and flags, always pass those
-	  separately
-
-1999-06-10  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Andrej: 6581: Doc/Makefile: dependencies for manuals
-
-	* Sven: 6579: Src/exec.c: old hack of storing shell function
-	  args in struct cmd doesn't work any more
-
-	* Sven: 6577: Src/exec.c, Src/text.c, Src/utils.c: expunge
-	  simplifyright(), which appears no longer to have an effect
-	
-	* pws: 6575: Doc/Zsh/mod_mapfile.yo: avoid mapping long files
-
-	* pws: 6571: Src/Builtins/rlimits.c: use appropriate printf()
-	  routine in printulimit() instead of just casting to long
-
-	* pws: 6570: configure.in, INSTALL: some systems have
-	  sizeof(off_t) or sizeof(ino_t) == 8 and sizeof(long) == 4 even
-	  without explicit enabling, so check and if so use the
-	  --enable-lfs code.
-
-	* pws/Sven: 6567, 6568: Completion/Base/_vars: complete assoc
-	  array keys
-
-	* pws: 6566: Src/params.c: junk testhash assoc array
-
-	* pws: 6563: sporadic: minor changes affecting casts, sizes
-	  of integers, unused variables; add index for subscripts in
-	  manual
-
-	* Bart: email: Src/zsh.h: alternative definition for zulong
-
-	* Bart: 6558: Src/builtins.c: printing functions with the
-	  UNALIASED flag
-
-	* Sven: 6557: Doc/zsh/compsys.yo: a few typos
-
-1999-06-09  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Andrej: 6556: aczsh.m4: don't disable setting variables
-	  for --enable-lfs just because some other variables were set
-
-	* Sven: 6554: Src/Zle/zle_tricky.c: display bugs with compadd -X:
-	  newline missing and display unnecessarily altered
-
-	* pws: 6552: configure.in, aczsh.m4, acconfig.h, Src/zsh.h:
-	  define separate unsigned 64-bit integer; try __int64_t and
-	  __uint64_t.
-
-	* Sven: 6548: Src/Zle/zle_tricky.c: fix `compctl -l'
-
-	* Andrej: 6544: configure displays info on function installation
-
-	* Sven: 6542: Src/builtin.c, Src/exec.c, Src/hist.c, Src/init.c,
-	  Src/lex.c: when not using interactive history, don't allocate
-	  history at all
-
-	* Andrej: 6541: configure.in: add missing `test'
-
-	* Sven: 6535: Completion/core/_normal: an eval was unnecessary
-
-	* Bart: 6534: Completion/Core/compdump, Completion/Core/compinit,
-	  Doc/Zsh/builtins.yo, Src/builtin.c, Src/exec.c, Src/zsh.h:
-	  autoload -U defines functions which don't use expand aliases
-	  during loading; used in new completion code to protect
-	  functions.
-
-	* Sven: 6527: Src/builtin.c, Src/cond.c, Src/exec.c, Src/glob.c,
-	  Src/hashtable.c, Src/init.c, Src/jobs.c, Src/lex.c,
-	  Src/linklist.c, Src/loop.c, Src/math.c, Src/mem.c, Src/params.c,
-	  Src/parse.c, Src/signals.c, Src/text.c, Src/utils.c, Src/zsh.h:
-	  various sets of patches:
-	  - make zhalloc() use a pointer to the first free heap
-	  - make zsh-mem allocators keep some memory back when freeing
-	  - reduce the amount of allocation work done in the exec.c
-	    execution hierarchy
-	  - don't duplicate execution trees any more than necessary, e.g.
-	    execute functions from stored tree
-	
-	* pws: Etc/MACHINES: Danek Duvall reports --enable-dynamic OK
-	  on Solaris 2.7, despite previous reports; Sven says on Digital
-	  UNIX 4.0, you need special DLLD and LDFLAGS.
-
-1999-06-08  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: 6525: Src/lex.c (gettokstr): allow parentheses after
-	  first character in command word
-
-	* Tanaka Akira: 6522: configure.in: help string for --enable-fndir
-	  had wrong default directory
-
-	* pws: 6520: configure.in: --enable-fndir might be yes,
-	  so turn it into ${datadir}/zsh/functions
-
-	* 3.1.5-pws-21 made available
-
-	* Sven: 6515: Src/Zle/zle_tricky.c: fix memory problems with 6492
-
-	* Wayne: 6510: Completion/Core/compinit: another nounset problem
-
-1999-06-07  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* pws: configure.in, Config/defs.mk.in, Functions/Makefile.in,
-	  Completion/Makefile.in, rearrangement of Functions
-	  subdirectories:  --enable-fndir allows function installation,
-	  defaults to ${datadir}/zsh/functions; is compiled into $fpath;
-	  FUNCTIONS_INSTALL can specify functions to install e.g.
-	  'Core/* Base/* Builtins/* Zftp/*'.
-
-	* pws: 6509: Src/Zle/zle_tricky.c: comp_setunset -> comp_setunsetptr
-
-	* pws: 6506: Completion/Core/compinit, Doc/Zsh/compsys.yo: if
-	  completion dumpfile is not writeable, use
-	  ${ZDOTDIR:-$HOME}/.zcompdump
-
-	* Sven: 6502: Doc/Zsh/options.yo: document 6496
-
-	* Sven: 6496: Src/Zle/zle_misc.c (makesuffix): more characters
-	  that can't be part of a filename
-
-	* Sven: 6493: Completion/Core/_approximate,
-	  Completion/Core/_expand: %e wasn't being replaced properly in
-	  correction prompts
-
-	* Sven: 6492: Src/Zle/comp.h, Src/Zle/comp1.c, Src/Zle/compctl.c,
-	  Src/Zle/zle_main.c, Src/Zle/zle_tricky.c, Doc/Zsh/compctl.yo,
-	  Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo,
-	  Completion/Base/_brace_parameter:  Completion inside quotes
-	  now acts as if the file name is the entire quoted string;
-	  `compctl -h' takes a command line from inside a quoted string;
-	  the compctl tests q[s], q[d], q[b] are true if we are in single,
-	  double, back quotes; compset -q tests quotes and splits the word,
-	  affecting $PREFIX, $SUFFIX and setting $IQPREFIX, $IQSUFFIX for
-	  the bits which will now be ignored.
-
-	* pws: 6490: Completion/Core/compinit: nounset workaround
-
-	* Bart: 6485: Src/loop.c: only show one screenful at a time
-	  in select, as LINES doc implies it should do
-
-	* Sven: 6484: Src/Zle/zle_main.c, Src/Zle/zle_tricky.c: close
-	  fd 0 during zle widgets and completion and redup back afterwards
-	  (removed unnecessary zclose()'s)
-	
-	* Wayne: 6481: Doc/Zsh/builtins.yo, Doc/Zsh/options.yo,
-	  Src/hist.c:  improved new history documentation and comments
-
-	* Wayne: 6480: Src/hist.c: Ignore some lines in remhist() to
-	  workaround crashes attempting to add already removed lines
-
-	* Tanaka Akira: 6478: Completion/User/_make: complete files
-	  as fallback (but use _files instead of compgen -f)
-
-1999-06-06  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Naoki Wakamatsu <naoki-w@ht-net21.ne.jp>: 6477: configure.in:
-	  undefine etcdir, not zshenv
-
-1999-06-05  Peter Stephenson  <pws@ibmth.df.unipi.it>
-
-	* Merge ChangeLog entry from patchlist.txt in 3.1.5-pws-20
-	  These are briefer than normal ChangeLog entries, but upgrading
-	  all of them is too much work.
-
-	* pws: 6473: Src/Modules/mapfile.c: munmap() after writing file
-
-	* Bart: 6472: doc for 6458
-
-	* pws: 6470: options.yo doc for globalrcs
-
-	* Sven: 6468: -first- context example; allow $compcontext for
-	  direct context in _complete; other stuff
-
-	* pws: 6464: fix problem with 6433; disallow nested parameter
-	  substitution without braces
-
-	* Sven: 6458: allow seconds in globbing qualifier time comparisons
-
-	* Zefram: off-list: metafaq updates
-
-	* pws: 6437: rearrange quotes in expn.yo, zftpsys.yo, minor
-	  corrections
-
-	* pws: 6433: allow quotes around names of parameters in braces
-
-	* pws: 6431: su saga again: new documentation
-
-	* Bart: 4127: su saga: 6299 and 6313 backed off; this alters
-	  ZSH_NAME using zgetenv("SHELL").  It can be turned into an
-	  --enable if anyone complains.
-
-	* Wayne: 6430: history tweaks: more careful ignoring history with
-	  foreign lines, changed name incappendhistory
-
-	* pws: 6424: reduce excess quoting in info files
-
-	* pws: 6421: _mh should use $words instead of $argv
-
-	* pws: 6416: document ${(f)"$(foo)"} change and nesting of quotes
-	  in braces
-
-	* Sven: 6414: completing parameters with extra quotes, don't
-	  complete local parameters
-
-	* Sven: 6411: fix display bug on terminals which can do
-	  TCMULTRIGHT (gap left when clearing list).
-
-	* pws: 6410: RCS option can now take affect at any point during
-	  initialisation, new GLOBAL_RCS applies to /etc/z* files.
-
-	* Bart: 6404: singleton arrays treated as scalars locally (as
-	  before), but correct array/scalar status is passed to enclosing
-	  substitutions.
-
-	* Bart: 6395: uninstall info files over 9, too
-
-	* Sven: 6212 (previously missed): an extra clear list
-
-	* Andrej: 6392: install info files higher than 9
-
-	* 3.1.5-pws-20
-
-	* Sven: 6388: completion in braces removes later arguments
-
-	* Sven: 6374: autoremove behaviour on -r and -R, documentation
-
-	* Bart: 6369: fix use of relative paths in compinstall
-
-	* Bart: 6368: don't use cp -f, use rm -f in configure.in
-
-	* Sven: 6355: ALL_EXPORT crashed the shell if set on command line
-
-	* Sven: 6352, 6354: more quoting in completion
-
-	* pws: 6346: msync() missing from mapfile.c, somehow
-
-	* pws: 6345: Config/defs.mk is now in build tree, not source tree
-
-	* Sven: 6343: test length of anchor in partial word matching
-
-	* pws: 6340: INSTALL didn't work if it was install-sh after 6330
-
-	* pws: 6335: now you can do ${(f)"$(...)"} to get arrays
-
-	* pws: 6332: mapfile module
-
-	* pws: 6331: protect against null hash tables in parameter module
-
-	* pws: 6330: rewrite configuration system to use AC_SUBST_FILE
-	  instead of including files by ed trickery (ed is now no longer
-	  required).
-
-	* Sven: 6326: compadd -r and -R work on automatically added
-	  suffixes, too
-
-	* Sven: 6322: reverse indexing of nested arrays
-
-	* Sven: 6318: memory fixes for parameter module (and compctl).
-
-	* 3.1.5-pws-19 made available
-
-	* pws: unposted: updated some .distfiles
-
-	* pws: 6314: in something like `{ false; } || true', errexit
-	  shouldn't be used at all on the left of the ||
-
-	* pws: 6313: fix 6299 to use $SHELL to decide emulation
-
-	* pws: 6307, 6312: wider support for 64-bit integers on 32-bit
-	  architectures
-
-	* Tanaka Akira: 6303: _path_files: find files after symbolic link
-
-	* Sven: 6302: more list_pipe intricacies
-
-	* Sven: 6301: expanded ignored prefix ignored for testing
-
-	* pws: 6299: if called as su* or -su*, zsh doesn't do sh emulation
-
-	* Sven: 6298: (mult_isarr) ${*:-word} didn't use the default word
-
-	* pws: 6294: typeset -U MANPATH performs uniqueness test straight
-	  away
-
-	* pws: 6291: zftp only checks for system type after login.
-
-	* pws: 6290: parameter module uses global scope, $parameters gets
-	  unreadonlied, gcc warning
-
-	* Sven: 6285: tty/job handling when executing some command in
-	  current shell code within RHS of pipeline
-
-	* Sven: 6283: compadd -U didn't quote characters properly
-
-	* Sven: 6278: fix ${$(foo)...} to produce an array
-
-	* Tatsuo Furukawa: 6274: updated form of zle_refresh patch
-
-	* Tatsuo Furukawa: 6273: don't need to defined _POSIX* flags
-	  specially on HPUX
-
-	* pws: 6272: correct even more mistakes some bozo (guess who) made
-	  with rlim_t: put back RLIM_T_IS_UNSIGNED code.
-
-	* pws: 6271: make sure -D_LARGEFILE_SOURCE is defined any time
-	  there are other -D's for large file support
-
-	* pws: 6284, should have been in 6269: changes to large file
-	  support
-
-	* Sven: 6268: parameter module for access to internal tables
-
-	* pws: 6263: incrementalappendhistory -> incappendhistory
-
-	* 3.1.5-pws-18 made available
-
-	* pws: 6259: second version of compinstall
-
-	* pws: 6258: yet another attempt at the same problem
-
-	* pws: 6257: rewrite 6240 for any old builtin structure after the
-	  pipeline
-
-	* Wayne: 6255: more history: zle toggle between local/global
-	  history;  `zle widget' can now take a direct numeric argument;
-	  small tweaks
-
-	* Sven: 6249: fix for 6046 (problem showed up with $(...))
-
-	* pws: 6246: doc changes for 6046, plus subscripts done properly
-
-	* Sven: 6046: nested parameter expansions can return either arrays
-	  or scalars.
-
-	* Wayne: 6241: history editing can use foreign history commands;
-	  history appended in hend() instead of hbegin()
-
-	* pws: 6240: a pipeline ending in a builtin didn't attach to the
-	  tty pgrp.
-
-	* pws: 6239: need space after incrementalappendhistory for
-	  kshoptionprint
-
-	* pws: 6238: Wayne's share_history option set in ksh emulation
-
-	* pws: 6237: window size code upgraded from 3.0.6-pre2, plus
-	  Bart's patch 4447.
-
-	* Wayne: 6236: history changes to improve management of duplicate
-	  lines, incremental history read/write, and sharing history
-
-	* pws: 6235: unset -m shouldn't restore unset parameters;
-	  unsetting a global should remove it from paramtab even inside a
-	  function.
-
-	* pws: 6227: configuration for large file support (from bash
-	  aclocal.m4).
-
-	* pws: 6224: alter 6205 to read chars only when necessary, but
-	  ensure terminal is set appropriately.
-
-	* Wayne: 6220: various compilation warnings
-
-	* Tanaka Akira: 6219: initialize a variable in zle_tricky.c
-
-	* Bart: 6213: race condition in $(...), use waitforpid() instead
-	  of unblocking child (which shouldn't happen until later).
-
-	* pws: 6205: use FIONREAD wherever defined, read chars immediately
-	  into buffer
-
-	* pws: 6202: trivial _correct_filename change, ^Xc -> ^XC
-
-	* Sven: 6197: off by one error parsing assignment in completion
-
-	* Sven: 6195: _expand_word and _correct_word change.
-
-	* Sven: 6194: complete assoc array arguments by default where
-	  necessary
-
-	* pws: 6193: [un]setopt shouldn't complain when setting an
-	  unsettable option to the value it already has
-
-	* Bart: 6188: compinit speedup
-
-	* 3.1.5-pws-17 made available
-
-	* pws: 6180: Completion/Core/compinstall
-
-	* Bart: 6171 as rewritten in 6174: old RedHat Linux doesn't have
-	  normal definitions for poll.
-
-	* Sven: 6167: show unloaded parameters as undefined
-
-	* pws: 6165: globsubst'd foo='~/bin' depended on extendedglob
-	  being set
-
-	* Bart: 6162: autoloadable parameter code links without dynamic
-	  loading
-
-	* Sven: 6153: realparamtab to smooth access to autoloaded parameters
-
-	* Sven: 6152: compstate[vared]
-
-	* Sven: 6150: alwayslastprompt sometimes failed in M-x
-
-	* Sven: 6133: autoloaded parameters
-
-	* Sven: 6132: compctl.mdd
-
-	* Ville Herva: 6131, see 6126: reset tv.tv_sec before select for
-	  Linux
-
-	* Sven: 6129: comments for struct cadata
-
-	* Sven: 6128: completion after an expansion; list after a
-	  non-completion list
-
-	* Sven: 6124: menu completion wasn't consistent between tabs
-
-	* Sven: 6121: try harder with braces after a parameter expansion
-
-	* Sven: 6119: don't insert word separator before ignored suffix
-
-	* pws: 6118: _closequote and _oldlist completers
-
-	* Sven: 6117: position of ignored suffix in inserted match
-
-	* Sven: 6113: compadd -D, nuke element in an array for each failed
-	  match
-
-	* Sven: 6109: completion in parameter assignment should set
-	  context `value'
-
-	* Bart: 6106: short documentation fixes in expn.yo, options.yo,
-	  redirect.yo
-
-	* Sven: 6105: _make patch whitespace
-
-	* Geoff: 6104: multi-line prompt fix (6101 backed off)
-
-	* 3.1.5-pws-16 made available
-
-	* pws: 6101: multi-line prompt ending in '\n' got another newline
-
-	* Tanaka Akira: 6092: _find, bad glob pattern
-
-	* Tanaka Akira: 6085: _make can hang when no [mM]akefile
-
-	* pws: zsh-announce/94: FAQ and FAQ.yo updated
-
-	* Sven: 6079: compwid.yo typo
-
-	* Tanaka Akira: 6078: _find syntax error
-
-	* Sven: 6077: do_single() fix for old completion
-
-	* pws: 6074: zftp function suite moved to Functions/Zftp and
-	  provided with documentation.
-
-	* pws: 6070: ~ in character class in parentheses with extendedglob
-	  failed
-
-	* Sven: 6066: create list of modules built into the base executable
-
-	* Sven: 6062: test whether using the same widget when doing
-	  menucompletion
-
-	* Sven: 6060: don't invalidatelist() in zle_main.c before calling
-	  completion functions
-
-	* Sven: 6058: small changes in _path_files, compinit and
-	  documentation
-
-	* Sven: 6056: compwid.yo
-
-	* pws: 6053: compwid.yo
-
-	* 3.1.5-pws-15 made available
-
-	* Sven: 6031: defcomp -> compdef
-
-	* pws: 6030: compsys.yo
-
-	* Sven: 6026: _path_files slight rewrite for speed
-
-	* Sven: 6021: _path_files expanding path fix
-
-	* pws: 6018: (#l) and friends with a trailing / on the glob
-	  pattern always failed
-
-	* pws: 6016: compinit and _zftp
-
-	* Andrej: 6017 (ex 6014): -i and -s options for _long_options
-
-	* Sven: 6013: pass ignored prefix and suffix in _path_files
-
-	* Sven: 6011: compadd uses first (not last) occurrence of an option
-
-	* Sven: 6010: _match_pattern and _match_test replaced by options
-	  to compadd (and deleted from distribution)
-
-	* Sven: extracted from 6009: chunk for getmatcharr()
-
-	* Sven: 6008: %{ works in completion listings
-
-	* Sven: 6005: Misc/compctl-examples altered for latest (more
-	  consistent) nested parameter expansion rules
-
-	* Bart: 6002, 6003: in ${foo/#bar/thing}, the `#' can appear from
-	  substitution and can be quoted
-
-	* Sven: 5999: ~foo<TAB> completes with /
-
-	* Sven: 5996: compsys.yo, special contexts
-
-	* Sven: 5995: should fix 5969
-
-	* Sven: 5986: compstate[insert]
-
-	* Sven: 5983: documentation for Completion/ system (compsys.1).
-
-	* Sven: 5982: menu behaviour
-
-	* Sven: 5981: bit masks in comp.h
-
-	* Sven: 5972: compconf without arguments lists; _compalso takes
-	  extra arguments
-
-	* Sven: 5971: shell code control over re-using existing completion
-	  lists
-
-	* Sven: 5970: completion fix compilation; #defcomp is now #compdef
-
-	* Sven: 5969: clear to end of display optimization (may need
-	  modifying for some terminals)
-
-	* Sven: 5968: fix brace re-insertion problem in completion
-
-	* pws: 5965: _correct_word
-
-	* Sven: 5960: $PREBUFFER: lines before current $BUFFER
-
-	* Sven: 5959: quoting characters in completion
-
-	* Bruce: 5958: _make
-
-	* Sven: 5955: more compstate choices: list_max, last_prompt, to_end
-
-	* 3.1.5-pws-14 made avaliable
-
-	* pws: unposted: updated .distfiles under Completion
-
-	* Sven: 5947: completion functions fix
-
-	* Sven: 5942: spaces in file names with old completion
-
-	* Sven: 5940: move cursor
-
-	* Sven: 5938, 5937: compset to replace modifying conditions
-
-	* Sven: 5936: replace modifying completion tests with compset
-
-	* pws: 5934: option GLOBAL_RCS_FIRST runs /etc/z* files before
-	  user's files.
-
-	* Sven: 5933: don't complete local parameters; _setopt/_unsetopt
-	  complete all options (code to use currently unset/set options
-	  remains in comments)
-
-	* pws: 5931: more parameter substitution rules
-
-	* Sven: 5928: copy context in zle_tricky
-
-	* Sven: 5926: $HISTNO
-
-	* Sven: 5925: path_expand
-
-	* Sven: 5918: _list completer
-
-	* Sven: 5916: _expand completer
-
-	* pws: 5915: minor type fixes
-
-	* Sven: 5914: _main_complete takes optional completer arguments
-
-	* Sven: 5913: zle -C test
-
-	* Sven: 5912: compiler warnings
-
-	* pws: 5905: _main_complete should at least try to get
-	  _unset_options correct.
-
-	* Sven: 5904: print local for parameters
-
-	* Sven: 5895, 5898, 5906: fix completion prefixes
-
-	* Sven: 5890: _match completer
-
-	* Sven: 5879, 5899: completion documentation
-
-	* Sven: 5872, 5881, 5889: corresponding Completion function rewrite
-
-	* Sven: 5871, 5875: big zle_tricky.c cleanup, with compstate
-	  changes and IFSUFFIX
-
-	* Bart: 5868: expn.yo fixes
-
-	* 3.1.5-pws-13 made available
-
-	* pws: 5863: substitution rules
-
-	* Sven: 5862: _path_files (turning on menu) and _cd (include . in
-	  path)
-
-	* pws: 5854: man page dependencies in Doc/Makefile.in
-
-	* Sven: 5852: warnings about _long_options
-
-	* pws: 5844: don't set errflag if noerrs = 2.
-
-	* Sven: 5831: in subscripts and math environments, the whole
-	  string is always passed down to the function handler.
-
-	* Sven: 5830: in ${#:-stuff}, stuff is treated as a single word
-	  (unless split for some other reason).
-
-	* Sven: 5829: clear the completion list in more zle functions
-
-	* Sven: 5818: parameter name in subscript which looks math-like;
-	  _subscript.
-
-	* Sven: 5811: put back _multi_parts which got left out when it was
-	  moved into Core.
-
-	* Sven: 5804: _pdf
-
-	* Sven: 5800: _path_files; path altered when no possible match
-
-	* pws: 5797: set CLOBBERS_TYPEAHEAD for Irix; old config.guess
-	  change for Reliant UNIX and Apple Rhapsody re-imported from old
-	  config.guess.
-
-	* Sven: 5796: globcomplete shouldn't always turn on menucompletion
-
-	* Sven: 5795: parsing change for assignment and arrays in nested
-	  substitution.
-
-	* Sven (reposted by Bart): 5783: zerr() sets errflag even if
-	  noerrs is set
-
-	* pws: 5780: Completion/Base/_brace_parameter change
-
-	* 3.1.5-pws-12 made available
-
-	* Geoff: 5779: correct mistakes some bozo (guess who) made testing
-	  rlim_t for long long.
-
-	* pws: unposted archive changes: .distfiles in Completion
-	  hierarchy, dunno what these do but it looks better; _comp_parts
-	  is now _sep_parts; moved _long_options into Base and mentioned
-	  it in Completion/README.
-
-	* pws: 5776: untested patch for typeahead problems when reading
-	  multiple lines of input
-
-	* Sven: 5775: correcting completion will not ignore everything the
-	  user has typed; prefix quote fix
-
-	* Sven: 5770: _path_files again
-
-	* Sven: 5766: _path_files closer to compctl/compgen behaviour
-
-	* Sven: 5761: remove unnecessary compiler warnings in compctl.c
-
-	* Sven: 5759: math environment fixes
-
-	* pws: www archive: updated Etc/FAQ finally, keep forgetting
-
-	* Sven: 5758: _path_files accepts -q, -r and -R options
-
-	* Sven: 5757: compconfig
-
-	* Sven: 5756: compstate[force_list]
-
-	* Lehti Rami: 5754: --disable-restricted-r stops the shell
-	  becoming restricted when its name starts with r
-
-	* Sven: zsh-users/2211 (+ p -> s): setopt -m handles underscores
-	  and case sensitivity
-
-	* pws: 5737: ${foo#* } is more efficient in ordinary cases
-
-	* Sven: 5736: completion before = in assignment
-
-	* Sven: 5732: _a2ps, _long_options
-
-	* pws: 5729: _bindkey doc
-
-	* Sven: 5726: zle_tricky.c: ctokenize() fix and parameter completion
-
-	* Will Day: 5724 (+postprocessing, 5741): signames2.awk: match
-	  extra spaces if produced by CPP.
-
-	* Andrej: 5719: _bindkey can use - as anchor for wildcard matching
-
-	* Sven: 5716: zle.h, zle_misc.c, zle_tricky.c: iremovesuffix() can
-	  be told whether to keep a list of matches
-
-	* Sven: 5714: _path_files: failed completions get left alone more
-	  often
-
-	* Sven: 5713: zle_tricky.c, interesting code specimen made extinct
-
-	* Sven: 5712: _path_files, noglobcomplete fix
-
-	* Sven: 5710: zle_tricky.c, completion inside words
-
-	* Sven: 5708: completion manual, -M anchors must be matched
-	  explicitly
-
-	* Sven: 5707: tokenization changes
-
-	* Sven: 5704: _long_options
-
-	* Sven: 5701: _main_complete, _multi_parts, _path_files, a few
-	  cosmetic changes.
-
-	* Sven: 5699: matching prefixes of various sorts
-
-	* Sven: 5698: array indexing in _long_options and _multi_parts
-
-	* Sven: 5696, 5697: "${${path}[1]}" indexes on characters again
-
-	* Sven: 5692: remove compstate[matcher] test from _long_options
-
-	* Sven: 5682: bindkey fix
-
-	* Sven: 5677, 5679: Completion/User/_long_options and consequent
-	  upgrades for Completion/User files which use long GNU-style
-	  options.
-
-	* Sven: 5676: all Completion example functions return a status
-
-	* pws: from autoconf 2.13: new config.guess, too.
-
-	* Sven: 5675: tidying up for zle_tricky.c
-
-	* Sven: 5671: another small parameter fix for multiple braces
-
-	* Sven: 5670: parameter completion fix
-
-	* 3.1.5-pws-11 made available
-
-	* pws: from autoconf 2.13: new config.sub
-
-	* Sven: 5666: calling inststrlen() with a null string
-
-	* Sven: 5665: return values from completion functions
-
-	* Sven: 5663: compctl -i _completion_function
-
-	* Sven: 5662: / following brace parameter
-
-	* Sven: 5659: globcomplete changes
-
-	* Sven: 5651: widespread completion fixes
-
-	* Andrej: 5650: more tricks with _configure
-
-	* Sven: 5647: _multi_parts doesn't replace so many *'s
-
-	* Sven: 5640: _multi_parts, _path_files, _tar
-
-	* Sven: 5637: mustuseheap check in complistflags
-
-	* Sven: 5634: return values for compgen and compadd
-
-	* Sven: 5631: compilation warnings
-
-	* Sven: 5629: approximate correction patches
-
-	* pws: 5628: _builtin, _cd, _most_recent_file
-
-	* Sven: 5624: CCORIG required to be offered original string when
-	  correcting using COMPCORRECT
-
-	* Sven: 5623: -X strings with compadd were mishandled
-
-	* Sven: 5622: zshcompwid manual: clarifications
-
-	* Sven: 5621: manual for nmatches and matcher
-
-	* Sven: 5620: fix for completion inside expansible braces
-
-	* Bart: 5614: Completion/Base/_match_test works out of the box
-
-	* Sven: 5613: copy scalar variable used for compgen -y
-
-	* Sven: 5605: explanation listing fix
-
-	* Sven: 5604: approximate completion.
-
-	* Sven: 5603: compstat[pattern_match]
-
-	* pws: 5602: _tar
-
-	* Sven: 5601: compstate[exact_string] and compstate[total_matchers]
-
-	* Sven: 5599: _comp_parts, _path_files tweaks
-
-	* Sven: 5598: a neater way of handling compadd -p/-P
-
-	* pws; 5597: Use separate file mymods.conf for your own builtin
-	  modules rather than the automatically generated modules-bltin.
-
-	* Matt: 5596: Makefile dependencies for module compilation
-
-	* Sven: 5593: _path_files -w
-
-	* Sven: 5590: compadd -p, -s and -P fixes
-
-	* Sven: 5588: fix _most_recent_file idiocy
-
-	* Sven: 5586: addmatch fix (old completion wasn't working)
-
-	* pws: 5583: post-patch restructuring of _mh, _zftp,
-	  _most_recent_file.
-
-	* Sven: 5582: _path_files will expand /u/ -> /usr/ even if /u
-	  exists if nothing later on would match otherwise (got that?)
-
-	* Sven: 5574, 5578: Completion/README notes
-
-	* Sven: 5571: Functions/Builtins/_cd tests if $cdpath is set
-
-	* Sven: 5566: $foo[(b.<index>.i)<match>] starts searching $foo for
-	  for <match> at <index>
-
-	* Sven: 5565, 5576: $NUMERIC gives the numeric argument in a zle
-	  widget
-
-	* Sven: 5564, 5577, 5579: massive new completion reworking with
-	  $words, $compstate, etc., etc.
-
-	* pws: 5561: attempted (untested) fix for QNX4 compilation;
-	  halloc() is now zhalloc().  (By private email from
-	  probin@qnx.co.uk, it seems the QNX problems are more
-	  considerable with 3.1.5.)
-
-	* Sven: 5560: subscripting fixes in params.c: flags for scalars
-	  and converting integer AA element to string
-
-	* pws: 5559: cd /.. doesn't show .. (except if RFS was detected).
-
-	* Larry P. Schrof: 5550: last -> previous in history documentation
-
-	* pws: 5557: configure.in for making sure signals really are
-	  defined in the file found.  This was in pws-10, but the patch
-	  didn't appear on the list for four days.
-
-	* 3.1.5-pws-10 made available
-
-	* pws: unposted: Functions/Completion moved to Completion;
-	  subdirectories Core, Base, Builtins, User, Commands created;
-	  Completion/README created.
-
-	* Matt: 5553: under _WIN32, .exe suffix is optional for commands
-
-	* Sven: 5548: _path_files, _comp_parts
-
-	* Sven: 5547: group handling -J/-V in compadd
-
-	* pws: 5545: silly set -x mistake
-
-	* Sven: 5544: another completion cleanup
-
-	* Sven: 5543: compadd -X, zshcompwid manual
-
-	* pws: 5538: approximate pattern matching, (#a1)readme etc.
-
-	* pws: 5531: small init fix
-
-	* Sven: 5529: cleanup for Functions/Completion
-
-	* Sven: 5521: improved option handling for _path_files
-
-	* Sven: 5512, 5525: globcomplete fix for new completion
-
-	* Sven: 5511: make sure compctl is available for new completion
-
-	* pws: 5508: init and dump, globbing and printing.
-
-	* pws: unposted, see 5503: remove dynamic=no from configure.in when
-	  underscore is needed.
-
-	* Sven: 5490: unset test for AA elements when substituting
-
-	* Sven: 5489: control for matching in _path_files and _comp_parts
-
-	* Sven: 5483: completeinword fixes
-
-	* Sven: 5476: quoting of tildes in Functions/Completion/_path_files
-	  
-	* Sven: 5471: range code knows not to handle associative arrays
-
-	* Sven: 5470: new completion conditions didn't handle untokenization
-	  consistently.
-
-	* Sven: 5469: init fix and Functions/Completion/_comp_parts
-
-	* Sven: 5467: expn manual typo
-
-	* Sven: 5466: compwid manual for -after and -between
-
-	* Sven: 5455: keep track of which matcher specification to use
-
-	* Matt: 5330: I've put this back the way it original was.  I hate
-	  sed almost as much as awk.
-
-	* Martin Buchholz: 5448: libc.h can't be included on Debian Linux,
-	  so only include it on NeXT where it's necessary.
-
-	* 3.1.5-pws-9 made available
-
-	* pws: unposted (but see 5440): zftp changes: more return 6's,
-	  functions now do auto-open and avoid subshells.
-
-	* pws: 5436: set -x for function calls and ((...)).
-
-	* Sven: 5430: rewrite Functions/Completions with simplified syntax
-	  (no #array type completions).
-
-	* Sven: 5429: $CONTEXT strings
-
-	* pws: 5425: fix pattern matching for new completion
-
-	* Sven: 5424: addmatches fix when not doing matching
-
-	* Sven: 5423: compadd accepts either - or -- to end options
-
-	* Sven: 5422: braces in completions were not tokenized; array
-	  parameters wereused uncopied
-
-	* pws: 5421: setting same element of assoc array in full array
-	  assignment crashed
-
-	* Sven: 5418: small addmatches fixes
-
-	* Sven: 5417: multiple subscripts with undefined array
-
-	* Sven: 5415: anchors in matchers shouldn't match variable part of
-	  completion
-
-	* Sven: 5412: better matcher control
-
-	* Helmut Jarausch/pws: 5410: IRIX 6.5 problems in Etc/MACHINES
-
-	* pws: 5408: set -x output for [[ ... ]]
-
-	* pws: 5403: magicequalsubst now affects all ...=~...:~
-
-	* Sven: 5401: files -> __files
-
-	* Sven: 5400, 5402: print needs - in dump; auto-dump and use
-	  $COMPDUMP file
-
-	* Sven: 5399, 5407: do_ambiguous overhaul
-
-	* pws: 5398: fixlet for __path_files
-
-	* pws: 5393: dump new completion status for faster init
-
-	* Sven: 5384, 5397: manual for new completion so far
-
-	* Andrej: 5377: Reliant UNIX configuration
-
-	* Oliver: 5374: compctl -T doc for ~dirs
-
-	* Oliver: 5372: change of mailing list host
-
-	* Bart: 5367: CVS ignores version.h
-
-	* 3.1.5-pws-8 made available
-
-	* pws: 5365: make dependencies for main.o, Makemod, zshpaths.h
-
-	* pws: 5364: 5281 now works
-
-	* pws: Misc/Completion now Functions/Completion, some new
-	  new-style completions
-
-	* pws: 5362: #key-* completions allow >= 0 key bindings
-
-	* Sven: 5355: compadd -R function for suffix removal
-
-	* Sven: 5354: redisplaying completion lists, don't show if
-	  completion failed
-
-	* Sven: 5352: new fignore handling
-
-	* pws/Bart: 5349, 5361: "$foo[@]" didn't get removed if $foo
-	  wasn't set
-
-	* pws/Sven: 5341, 5351: completion init and __normal
-
-	* Sven: 5342, 5343: ignoring ignored prefix in new conditions
-
-	* Sven: 5341: modularise new completion shell code
-
-	* Sven: 5335: printing zle condition codes
-
-	* pws: 5332: emulate -L
-
-	* Sweth/Bart/pws: zsh-users/2121: Functions/allopt with the odd
-	  emulate and local added
-
-	* pws/Matt: 5326, 5329, 5330: signames.c generation
-
-	* pws: 5321: compctl -LM
-
-	* Sven: 5320: keys available in zle widgets
-
-	* Sven: 5316: compctl matcher users reference counts
-
-	* Matt: 5311: CHAR(+) -> CHAR(43) in zmacros
-
-	* Bart: 5305: trashzle() crashed shell with loading dynamic but
-	  zle builtin
-
-	* Bart: 5299: PWD, OLDPWD export confusion
-
-	* Bart: 5297: local variables and $argv doc
-
-	* Geoff: 5295: no ld -g on NetBSD
-
-	* 3.1.5-pws-7 made available
-
-	* pws; 5281: interrupts in getquery() weren't handled gracefully
-
-	* Sven: 5266: get matcher number in new completion functions
-
-	* Sven: 5265, 5284: rewrite of $foo:q and doc
-
-	* Sven: 5262: compctl -M, REC_EXACT fixes
-
-	* Sven: 5261, 5268: GLOB_COMPLETE docs
-
-	* Bart: 5260: new mailing lists in Meta-FAQ
-
-	* Bart: 5258: parameter scoping docs
-
-	* pws: 5247: typeset -T fix
-
-	* pws: Etc/MACHINES: Linux Alpha with egcs
-
-	* pws: 5233: .zlogout doc
-
-	* pws/Sven: 5229, 5234, 5235, 5269: bashautolist option
-
-	* Sven: 5120: use ${foo:q} for quoting completion prefix/suffix
-
-	* Sven: 5208: preliminary version of ${foo:q}
-
-	* Sven: 5207: completion in conditions
-
-	* Sven: 5206: completion in arrays
-
-	* Sven: 5203: o -> f, O -> o, O = ^o
-
-	* Sven: 5201: zle commands erase listing when minibuffer used
-
-	* pws: 5185, 5198: compctl documentation tidy-up
-
-	* Sven: 5183, 5199, 5200: ${(P)...} flag
-
-	* Sven: 5178: fix for command completion and pattern completions
-
-	* Bart: 5174: unset assoc array elements
-
-	* Sven: 5145, 5204: compadd -m, -F, -r
-
-	* Sven: 5144: partial word completion fix
-
-	* Matt: 5133: cygwin needs native getcwd()
-
-	* Matt Armstrong: 5132, 5151: makepro.awk can spit out
-	  preprocessor lines, move init.pro inclusion
-
-	* Bart: 5129: vared assoc array and elements thereof
-
-	* Bart: 4965, missing hunk: unset assoc array when assigned as
-	  scalar
-
-	* pws: 5054: zls
-
-	* 3.1.5-pws-6 made available
-
-	* Drazen Kacar/pws: 5118: unlock terminal device on Solaris
-
-	* pws: 5111: unsetting special zle variables
-
-	* Sven: 5107: glob qualifier o for modes
-
-	* pws: 5105: remove old zle -C, zle -C does new completion
-	
-	* Sven: 5104: zle and widget information via variables
-
-	* Drazen Kacar/pws/Bart: 5103, 5113: terminal bug on Solaris with
-	  Openwindows
-
-	* Sven: 5102: glob qualifiers doc
-
-	* pws: 5094, 5120: typeset -T MYPATH mypath; MYPATH=(foo),
-	  mypath=foo fix; PATH=(foo) bug
-
-	* Sven: 5092: extra completion context
-
-	* Sven: 5060: completion in brace expansion
-
-	* Sven: 5059, 5065, 5085: compcall, compctl -K ' func', avoid
-	  recursion, fix dynamic loading
-
-	* pws: 5047: make install doesn't make install.info
-
-	* Phil/Bart: 5032, 5037: zless with localoptions added
-
-	* Sven: 5022, 5045, 5078: ${(t)param} and nounset behaviour
-
-	* Andrej: 5016: insert zsh.info into dir when installing
-
-	* pws: new mirror site ftp://ftp.win.ne.jp/pub/shell/zsh/
-
-	* Sven: 4986, 4988: new-style completion after redirection
-
-	* Sven: 4981: fix completion whitespace for copy-previous-word
-
-	* Sven: 4979, 4987: new glob modifiers for sort order and
-	  selecting items from list
-
-	* Sven: 4976: compadd and new-completion-examples
-
-	* Sven: 4975, 5007: comptl -M matches with *'s
-
-	* Sven: 4974: compctl list with single string
-
-	* Andrej: 5021: configuration on Reliant UNIX
-
-	* Bart: 4965: add-on
-
-	* Sven: 4957: completion after redirection
-
-	* Made available as 3.1.5-pws-5; top level directory now
-	  zsh-3.1.5-pws-5
-
-	* Helmut Jarausch: 4947: part of patch missed
-
-	* Sven: 4850, 4881, 4941, 4942, 4943, 4944, 4946, 4949, 4950,
-	  4945: New completion system
-
-	* Sven: 4940: compctl -t (minor incompatibility)
-
-	* pws: 4939: configure checks for tgetent() accepts null but then
-	  tgetstr() dumps core
-
-	* pws: 4931: compiler warnings
-
-	* Sven: 4930: completion after reserved words
-
-	* pws/Bart: 4923, 4924: findcmd() memory leak and comment
-
-	* pws: 4912: Etc/MACHINES
-
-	* pws: 4902: typeset neatness, -a, -m
-
-	* Bart: 4893: setting assoc array elements inside a substitution
-
-	* Andrej Borsenkow + pws: 4888: zftp shouldn't dup sockets until
-	  connected
-
-	* Oliver Kiddle: 4887: configure
-
-	* Sven: 4880: conditions from module again
-
-	* Sven: 4879: group completion
-
-	* Sven: 4878: accept-and-menu-complete
-
-	* Bart: 4874: array slices
-
-	* Geoff: 4855: refresh line the same length as terminal width
-
-	* pws: 4852: zftp test subcommand
-
-	* Bart: 4851: sethparam(), part got missed
-
-	* 3.1.5-pws-4 made available
-
-	* Sven: 4845: isident()
-
-	* Sven: 4837, 4842: more for loadable conditions
-
-	* Sven: 4828: ignored character
-
-	* Bart/Sven: 4826, 4831, 4836: assoc array fixes
-
-	* Gene Cohler + pws: 4824, 4833, 4843: dynamical loading under
-	  HPUX
-
-	* Sven: 4821: network byte order in zftp
-
-	* Bart: 4817: parameter documentation
-
-	* Sven: 4806, 4815, 4820, 4822, 4830: be careful when unloading
-	  modules which may have side effects
-
-	* pws: 4805: define INADDR_NONE in zftp if not defined
-
-	* pws: 4801: compilation without HAVE_GETPWUID
-
-	* Bart: 4792: Handle --program-{suf,pre}fix in configure
-
-	* Bart: 4791: don't hash PWD after all
-
-	* Bart: 4789, 4794, 4795: sethparam(), setsparam; allow assoc
-	  array assignment ${(AA)=assoc::=key1 val1 ...}
-
-	* Bart: 4788: some missing patches put back
-
-	* Phil: 4784: unused variable j in glob.c
-
-	* Phil: 4783: wtmp is in /var/log on Linux
-
-	* pws: 4779: compiling statically linked
-
-	* pws: version 3.1.5-pws-3 made available
-
-	* Sven: 4767: completion listing fix
-
-	* Bart: 4763, 4766, 4764: associative arrays using subscripting
-	  flags and typeset output
-
-	* Bart: 4762: use of conddef without dynamic loading
-
-	* pws: 4761: zftp module
-
-	* Phil: 4737: typeset -a docs
-
-	* pws: 4736, 4754: ${foo/orig/new} subst as in bash; optimize
-	  pattern matching in strings
-	
-	* Phil Pennock: 4727: associative arrays in stat builtin
-
-	* Sven: 4716, 4732, 4734, 4742, 4769:  allow modules for
-	  conditions and wrappers around functions
-
-	* Sven: 4700: heap memory fixes suggested by Phil Pennock
-
-	* Sven: 4698, 4707: ignore completions if cursor not in
-	  completable part of word
-
-	* Sven: 4697: zle_tricky.c
-
-	* pws: 4693: case-indendent globbing fix
-
-	* Bart: 4678: viforwardword
-
-	* pws: don't use vifirstnonblank()in vioperswapcase()
-
-	* Bart: 4674: scanmatchtable()
-
-	* Bart: 4482: cdmatch2
-
-	* Bart: 4644: delimiters in parameter substitution flags
-
-	* Bart: 4624: don't be too clever with optimizing when doing ***
-
-	* pws: 4612: 8 bit character input problem if char was signed
-
-	* Bart: 4606: error messages from parameters
-
-	* pws: 4601: rewrite prompt truncation in more predictable,
-	  delimitable way
-
-	* Bart: 4599, 4602, 4608, 4641, 4653, 4654: associative arrays
-
-	* pws: 4596: allow PWD to be hashed on explicit user request
-
-	* pws: 4595: globbing fix for problem which showed up in `case'
-
-	* Wilfredo Sanchez: 4594: fix configure problems
-
-	* pws: 4591: test line length in prompt e.g. %(40l.yes.no)
-
-	* Bart: 4589: PWD and OLDPWD fix
-
-	* Bart: 4472: doc fixes
-
-	* Bart: 4471: fixes for shell functions
-
-	* Bart: line missed in zle_tricky.c when patching
-
-	* Bart: 4589: chpwd
-
-	* pws: lete2ctl update
-
-	* pws: fixsuffix() missed in delcharorlist() when patching
-
-	* Bart: 4574: doc fix
-
-	* Bart: 4570: flags to allow zle command not to interrupt
-	  cumulative effects, deltochar
-
-	* pws: 4564: fix completion suffix for yank
-
-	* pws: 4533: ~PWD should not be displayed as such
-
-	* pws: 4513, 4552: case-insensitive globbing (#i)
-
-	* Sven: 4509, 4510, 4526, 4527, 4534, 4557: alternative matches in
-	  completion (compctl -t), mapping between characters on line and
-	  in matches (compctl -M)
-
-	* pws: 4477: change function names to avoid dynamic loading
-	  clashes
-
-	* Bart: 4473, 4475, 4476: collected minor fixes since 3.1.5
-
-	* Zoli: 3933: AIX dynamic patch
-
-Thu Oct 29 21:51:10 1998  Andrew Main  <zefram@zsh.org>
-
-	* Config/version.mk: Version 3.1.5.
-
-	* Doc/Makefile.in, Doc/META-FAQ.yo: Format the plain-ASCII
-	  META-FAQ in a manner consistent with the other plain-ASCII
-	  documents.
-
-	* Src/exec.c: Retry reading from a pipe on EINTR, to avoid
-	  getting truncated output.  (schaefer, u1880)
-
-	* acconfig.h, aczsh.m4, configure.in, Src/compat.c, Src/system.h,
-	  Src/watch.c: New zsh_STRUCT_MEMBER macro for structure member
-	  tests (changes names of some existing preprocessor defines).
-	  Test for d_ino and d_stat in struct dire[nc]t.  New code in
-	  zgetdir() to make use of d_stat if available.
-
-	* Src/params.c, Src/system.h, Src/watch.c: Move definition of
-	  DEFAULT_WATCHFMT into watch.c (where the decision about which
-	  utmp structure to use is made).
-
-	* Doc/Zsh/metafaq.yo: Another mirror (sunsite.doc.ic.ac.uk).
-
-Wed Oct 28 21:02:28 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/builtin.c: More accurate test for ncurses, for the benefit
-	  of systems where ncurses' termcap.h is used.
-
-	* Etc/BUGS, Etc/CONTRIBUTORS, Etc/FEATURES, Etc/MACHINES,
-	  Etc/NEWS, INSTALL, README, Util/zsh-development-guide:
-	  Consistent formatting.
-
-	* Etc/NEWS: List universal-argument and POSIX character classes.
-
-	* Doc/Zsh/metafaq.yo, Etc/CONTRIBUTORS: Use more zsh.org email
-	  addresses.
-
-Tue Oct 27 20:23:18 1998  Andrew Main  <zefram@zsh.org>
-
-	* Etc/FAQ.yo: New version, 1998-10-26.  (pws)
-
-Mon Oct 26 21:13:42 1998  Andrew Main  <zefram@zsh.org>
-
-	* Doc/Zsh/guide.yo, Doc/Zsh/metafaq.yo, Etc/CONTRIBUTORS,
-	  Functions/checkmail, Functions/run-help, Functions/zed,
-	  Misc/compctl-examples, Misc/lete2ctl, README,
-	  Src/Builtins/rlimits.awk, Src/Zle/zle_main.c, Src/makepro.awk,
-	  Src/signames.awk, Util/helpfiles, Util/reporter: Consistently
-	  use zsh.org email addresses where available.  Remove some
-	  stray individual credits from the source, in favour of the
-	  more usual credit in ChangeLog and CONTRIBUTORS files.
-
-	* acconfig.h, configure.in, Src/watch.c: Some systems have ut_tv
-	  in struct utmpx, rather than ut_xtime or ut_time.
-
-Sun Oct 25 21:04:01 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/exec.c: Save and restore simple_pline.  (pws, 4390)
-
-	* Src/loop.c: Set isfirstln to get the right behaviour on ^D
-	  in select.  (pws, 4389)
-
-	* Src/exec.c: Don't fail to AUTO_CD if there is an improperly
-	  hashed external command of the same name.  (pws, 4426;
-	  schaefer, 4434)
-
-	* Src/builtin.c: getopts wasn't resetting all its counters
-	  correctly.  (schaefer, 4416)
-
-	* Src/Zle/zle_tricky.c: Prevent removable suffixes remaining in
-	  effect when a new completion is attempted.
-
-	* Doc/Zsh/compctl.yo: Add an example of usage of n[...] to the
-	  compctl manual.  (pws, u1857)
-
-	* Src/Zle/zle_main.c, Src/Zle/zle_misc.c: Give ungetkey()
-	  external linkage.
-
-	* Doc/Zsh/zle.yo, Src/Zle/zle_misc.c: Make universal-argument
-	  accept a typed integer, EMACS-style.  (pws, 4425)
-
-	* Src/Zle/zle.h, Src/Zle/zle_misc.c: Fix neg-argument.  (pws,
-	  4420)
-
-Sat Oct 17 17:12:31 1998  Andrew Main  <zefram@zsh.org>
-
-	* Doc/Zsh/mod_files.yo: Note that mv won't move across devices.
-
-	* Doc/Zsh/expn.yo: Add some examples to the parameter expansion
-	  section.  (schaefer, 4402)
-
-	* Src/jobs.c: Unset STAT_DONE when adding a process to a job,
-	  in case $() processes finish before all the processes have
-	  been started.  (pws, 4397)
-
-	* Doc/Zsh/builtins.yo, Src/builtin.c, Src/hashtable.c, Src/zsh.h:
-	  type/whence/where/which -w gives machine-readable output.
-	  (pws, 4388)
-
-	* Doc/Zsh/builtins.yo: Document the effect of unset on a local
-	  parameter.
-
-	* Src/params.c: unset should not remove the localness of a
-	  local parameter.  (pws, 4317)
-
-	* Src/compat.c, Src/prototypes.h: Give gethostname() the right
-	  prototype (the length argument is a size_t), and implement it
-	  to spec.
-
-	* Doc/Zsh/metafaq.yo: New address for web-based mailing list
-	  archive (http://www.zsh.org/mla/).
-
-	* Doc/Zsh/metafaq.yo: New mirror (foad.org).
-
-Thu Oct 15 19:07:17 1998  Andrew Main  <zefram@zsh.org>
-
-	* configure.in, Src/Modules/cap.c, Src/utils.c: Check for the
-	  existence of cap_get_proc() rather than cap_init(), because
-	  some systems have a different cap_init().
-
-	* Etc/MACHINES: Format changes.  Removed some entries that didn't
-	  actually contain any intelligible information.
-
-	* Etc/MACHINES: Tested on FreeBSD 2.2.7.  (Roland Jesse
-	  <jesse@prinz-atm.cs.uni-magdeburg.de>, u1770)
-
-	* acconfig.h, configure.in, Src/watch.c: Handle systems where
-	  struct utmpx has a member named ut_time rather than ut_xtime.
-
-	* Src/parse.c: Do not require a separator after esac.  (hzoli,
-	  4376)
-
-	* Doc/Makefile.in: Ignore errors from makeinfo.
-
-	* Src/Zle/zle_thingy.c: Use permanent allocation when executing
-	  widgets.  (schaefer, 4350)
-
-	* Functions/multicomp: Fix for leading tildes; made
-	  case-insensitive.  (schaefer, 4342)
-
-	* Src/Zle/zle_utils.c: Fix an uninitialised pointer in
-	  mkundoent().  (pws, 4315)
-
-	* config.guess: Support Netwinder (arm-unknown-linux).
-	  (Jason Naughton <jnaughto@ee.ryerson.ca>, 4308)
-
-	* configure.in: Dynamic linking on OSF.  (<simond@informix.com>,
-	  4258)
-
-	* Misc/lete2ctl: Update for Perl5.004.  Use compctl -/ and -W.
-	  Some other fixes.  (pws, 4245)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/compctl.yo: Minor typo fixes.
-	  (schaefer, 4232)
-
-	* Src/signals.h: A variable was being modified twice without an
-	  intervening sequence point.  (Gray Watson <gwatson@lycos.com>,
-	  4221)
-
-	* Makefile.in: Remove spurious ";\".  (Gray Watson
-	  <gwatson@lycos.com>, 4221)
-
-Tue Oct 13 21:42:47 1998  Andrew Main  <zefram@zsh.org>
-
-	* Doc/Zsh/expn.yo, Src/glob.c: Add the [:blank:] character class
-	  required by POSIX, which has no corresponding ctype macro.
-
-	* Doc/Zsh/expn.yo, Misc/globtests, Src/glob.c, Src/lex.c:
-	  Add POSIX globbing character classes ([:alnum:] etc.).
-	  (pws, 4209+4212)
-
-Sun Oct 11 20:39:06 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/Zle/zle_tricky.c: Make compctl -S '' work properly (i.e.,
-	  suppress the addition of the default suffix).  (schaefer, u1668)
-
-	* Src/loop.c: Fix the handling of empty user input to select.
-	  (schaefer, 4200)
-
-	* Src/utils.c: Y2K bugfix in %y sequence in ztrftime().
-	  (zefram, 4198)
-
-	* Src/init.c, Src/main.c: Abort on parse errors, except when
-	  reading input from stdin.  (pws, 4191; some semantic changes
-	  by zefram)
-
-	* Misc/compctl-examples: Fix the setopt completion in the case
-	  where KSH_OPTION_PRINT is set.  (schaefer, 4176)
-
-	* Doc/Zsh/compctl.yo: Mention the read builtin in the
-	  documentation of compctl -K.  (sven, 4150)
-
-	* Src/Zle/zle_tricky.c: Fixed a bug where completing in a word
-	  could duplicate part of the word due to it being in both the
-	  common prefix and the common suffix.  (sven, 4147)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/compat.yo, Doc/Zsh/expn.yo,
-	  Doc/Zsh/grammar.yo, Doc/Zsh/intro.yo, Doc/Zsh/options.yo,
-	  Doc/Zsh/params.yo, Doc/Zsh/restricted.yo, Doc/Zsh/zle.yo:
-	  Spelling/typo fixes in documentation.  (schaefer, 4136)
-
-	* Misc/compctl-examples: Better implementations of the CVS
-	  compctl functions.  (schaefer, 4130)
-
-Sun Sep 27 18:31:55 1998  Andrew Main  <zefram@zsh.org>
-
-	* Doc/zsh.yo, Doc/Zsh/builtins.yo, Doc/Zsh/compctl.yo,
-	  Doc/Zsh/expn.yo, Doc/Zsh/grammar.yo, Doc/Zsh/guide.yo,
-	  Doc/Zsh/intro.yo, Doc/Zsh/params.yo, Doc/Zsh/redirect.yo,
-	  Doc/Zsh/zle.yo: Clarification of the expansion documentation.
-	  Several other documentation bugfixes.  (schaefer, 4116)
-
-	* Src/Modules/rlimits.awk: Cosmetic fix of the generated file.
-
-	* Src/Modules/rlimits.awk: Avoid using the sub() function,
-	  which some older awks lack.
-
-	* Doc/Zsh/grammar.yo: List "builtin" as a precommand modifier.
-
-	* Doc/Zsh/builtins.yo: Fuller details of the interaction between
-	  options of the read builtin.  (schaefer, 4109)
-
-	* Src/Modules/stat.c: The ls-style mode string was not being
-	  terminated.  (Goran Larsson <hoh@lorelei.approve.se>, 4105)
-
-	* Src/Zle/zle_hist.c: Make use of repeat count in history
-	  searches.  (wayne, 4104)
-
-	* Src/Zle/zle_hist.c: Some bugfixes and code simplifications
-	  for {vi-,}{up,down}-line-or-{history,search}.  (wayne, 4086)
-
-Sat Sep 26 16:08:53 1998  Andrew Main  <zefram@zsh.org>
-
-	* Etc/zsh-development-guide: Expanded the section on C coding
-	  style.  Added some notes about documentation.
-
-	* configure.in, Src/exec.c, Src/glob.c, Src/hashtable.c,
-	  Src/init.c, Src/params.c, Src/system.h, Src/utils.c,
-	  Src/Modules/stat.c, Src/Zle/zle_tricky.c: Cope with systems
-	  that lack <pwd.h>, <grp.h>, nice(), getpw{ent,nam,uid}(),
-	  getgr{gid,nam}().
-
-	* Doc/Zsh/metafaq.yo: uiarchive now mirrors ftp.zsh.org.
-
-	* Doc/ztexi.yo, Doc/Zsh/expn.yo, Doc/Zsh/options.yo,
-	  Doc/Zsh/redirect.yo, Doc/Zsh/zle.yo: Some minor documentation
-	  fixes.  (schaefer, 4045)
-
-	* Src/hist.c, Src/input.c, Src/parse.c: Simplification and
-	  bugfixes of the input flushing code on history and parse
-	  errors.  (pws, 4172)
-
-	* configure.in: Use "1,$s" instead of ",s" in the generated
-	  ed script, for compatibility with historical systems.
-
-Mon Sep 21 19:16:03 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/Makefile.in: Clean up conditionals in install/uninstall
-	  rules.
-
-	* Config/clean.mk, Config/config.mk, Src/Makemod.in.in: Avoid
-	  empty argument list in for loops, for /bin/sh.
-
-	* aczsh.m4, configure.in, Etc/MACHINES: Check for systems with
-	  broken static/shared library combinations, such as SINIX.
-
-	* Doc/Zsh/params.yo, Src/builtin.c, Src/params.c: Make PWD and
-	  OLDPWD parameters non-special.  (hzoli, 3990; doc by zefram)
-
-	* Src/builtin.c: Don't crash when exporting an unset special
-	  parameter.  (hzoli, 3983)
-
-	* Src/Zle/zle_utils.c: Mark sticks to preceding character instead
-	  of the following one.  (wayne, 3969)
-
-	* Src/builtin.c, Src/init.c, Src/utils.c: Set stdin to read
-	  blockingly where appropriate.  (hzoli, 3950; POSIXification
-	  by zefram)
-
-Mon Sep 14 14:44:32 1998  Andrew Main  <zefram@zsh.org>
-
-	* Makefile.in, configure.in, Config/.distfiles, Config/config.mk,
-	  Config/defs.mk, Config/version.mk, Doc/.cvsignore,
-	  Doc/.distfiles, Doc/Makefile.in, Doc/paths.yo.in,
-	  Doc/zman.yo, Doc/zsh.yo, Doc/ztexi.yo, Doc/Zsh/builtins.yo,
-	  Doc/Zsh/filelist.yo, Doc/Zsh/files.yo, Doc/Zsh/mod_comp1.yo,
-	  Doc/Zsh/modules.yo, Doc/Zsh/options.yo, Doc/Zsh/params.yo,
-	  Etc/Makefile.in, Src/.distfiles, Src/Makefile.in,
-	  Src/Makemod.in.in, Src/version.h, Src/zsh.mdd: Move version
-	  data into a single file, Config/version.mk.  Remove all site
-	  dependencies from the documentation.  Some related Makefile
-	  cleanups.
-
-Sun May 31 09:28:18 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/version.h: Version 3.1.4.
-
-	* Doc/paths.yo.in: New date.
-
-	* configure.in, aczsh.m4, acconfig.h, Src/system.h,
-	  Src/watch.c: Don't confuse utmp and utmpx files.  Don't rely
-	  on having a utmp structure at all.
-
-	* Src/system.h, Src/Modules/clone.c, Src/Modules/files.c,
-	  Src/builtin.c, Src/compat.c, Src/exec.c, Src/hist.c, Src/init.c,
-	  Src/utils.c: Use O_NOCTTY on all open() calls, to get consistent
-	  behaviour (no controlling tty) on all systems.
-
-	* Doc/Zsh/grammar.yo: Correct and clarify the "simple commands &
-	  pipelines" section.  (schaefer, u1548; markup and some additions
-	  by zefram)
-
-	* Src/params.c: When unsetting paired special parameters (e.g.,
-	  CDPATH/cdpath), don't try to remove names that don't exist.
-	  (hzoli, 3974)
-
-Sat May 30 16:16:13 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/system.h: #define _XPG_IV on SINIX (Reliant UNIX).  It is
-	  reported that this is necessary in order to get the right
-	  version of gettimeofday().
-
-	* Doc/Zsh/grammar.yo, Src/lex.c, Src/subst.c, Src/utils.c,
-	  Etc/NEWS: ksh93 $'' syntax.  (hzoli, 3952; documentation
-	  clarifications by zefram)
-
-Thu May 28 21:13:04 1998  Andrew Main  <zefram@zsh.org>
-
-	* Functions/checkmail: Zero-length folders don't count as
-	  containing new mail, regardless of when they've been examined.
-	  (hzoli, 3963)
-
-	* Src/glob.c: When globbing `foo/', stat `foo/.', so that only
-	  directories are matched (as POSIX requires).  With (-T)
-	  qualifier, dangling symlinks should be matched as normal.
-	  With (T-/), etc., stat the pathname *before* modification by
-	  (T).  (hzoli, 3960)
-
-	* Src/Modules/stat.c: Some old K&R compilers don't like automatic
-	  aggregate initialisation.  (hzoli, 3962)
-
-	* Src/glob.c: tail was assumed to be NULL when pattern parsing
-	  was called.  (hzoli, 3961)
-
-	* Src/builtin.c: Fix off-by-one allocation bug in read.
-	  (hzoli, 3951)
-
-	* Src/builtin.c: Cleanup of read builtin.  Also backslash should
-	  quote characters, as well as performing line continuation.
-	  (hzoli, 3949)
-
-	* Src/Zle/zle_tricky.c: Remove prototype cast for
-	  yp_callback.foreach, because on some systems the prototype
-	  is wrong.  (hzoli, 3948)
-
-	* Src/math.c: Avoid an unbalanced stack error on $((0x1+0x1)).
-	  (hzoli, 3947)
-
-	* Src/params.c: PM_UNIQUE should persist across changes of
-	  parameter type.  (hzoli, 3946)
-
-	* Etc/NEWS: List major changes from 3.0.
-
-Tue May 26 21:39:06 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/glob.c, Doc/Zsh/expn.yo: `~' alone should not trigger
-	  globbing.
-
-Mon May 25 21:13:41 1998  Andrew Main  <zefram@zsh.org>
-
-	* Src/mkmakemod.sh, configure.in, aczsh.m4: Link modules against
-	  $(LIBS), and include -lc in $(LIBS), in case a module requires
-	  a function that only exists in static libraries.
-
-	* Src/makepro.awk: Change `\{' to `[{]' in regexps, because some
-	  nawks dislike the former.
-
-	* configure.in: Use tr to avoid giving backslashes to echo
-	  (which may interpret them).
-
-Fri May  1 19:39:12 1998  Andrew Main  <zefram@zsh.org>
-
-	* Doc/Zsh/metafaq.yo: ftp.math.technion.ac.il now mirrors
-	  ftp.zsh.org.
-
-Thu Apr 30 20:19:47 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/version.h: Version 3.1.3.
-
-	* Doc/paths.yo.in: New date.
-
-	* Src/Modules/stat.c: Remove some unused variables.
-
-	* configure.in: Start of configuration for dynamic modules
-	  on netbsd.  (gcw)
-
-	* Doc/Zsh/metafaq.yo: New mirror (ftp.roedu.net).  ftp.cs.elte.hu
-	  and ftp.cenatls.cena.dgac.fr now mirror ftp.zsh.org.
-
-Wed Apr 29 20:24:16 1998  Andrew Main  <zefram@fysh.org>
-
-	* many files: Remove RCS Id lines.
-
-	* Etc/pubring.pgp: Change mason's DSS/DH key.
-
-	* Doc/Zsh/metafaq.yo: New mirror (sunsite.auc.dk).
-	  ftp.math.gatech.edu now mirrors ftp.zsh.org.
-
-Tue Apr 28 23:18:44 1998  Andrew Main  <zefram@fysh.org>
-
-	* Doc/Zsh/metafaq.yo: New primary archive, ftp.zsh.org.
-
-	* Etc/FAQ.yo: New version, 1998-04-24.  (pws)
-
-	* Etc/FTP-README, Etc/pubring.pgp, Etc/.distfiles: Include these
-	  files from the FTP site in the distribution.
-
-	* configure.in, Util/mkdisttree.sh, Config/, Config/clean.mk,
-	  Config/config.mk, Config/defs.mk Makefile.in,
-	  Doc/Makefile.in, Etc/Makefile.in, Functions/Makefile.in,
-	  Misc/Makefile.in, Src/Makefile.in, Src/Makemod.in.in,
-	  StartupFiles/Makefile.in, Util/Makefile.in, .distfiles,
-	  Config/.distfiles, Doc/.distfiles, Doc/Zsh/.distfiles,
-	  Etc/.distfiles, Functions/.distfiles, Misc/.distfiles,
-	  Src/.distfiles, Src/Builtins/.distfiles, Src/Modules/.distfiles,
-	  Src/Zle/.distfiles, StartupFiles/.distfiles, Util/.distfiles:
-	  Modify config.status to add a file inclusion facility;
-	  this is used to remove common code from many Makefiles.
-	  New distribution-building mechanism: `.distfiles' files list
-	  the files to go in the distribution, and Util/mkdisttree.sh
-	  processes these.  As a result, directories in which nothing
-	  is ever built no longer need Makefiles.
-
-Sun Apr 26 22:08:06 1998  Andrew Main  <zefram@fysh.org>
-
-	* configure.in, Src/mkmakemod.sh: Modify config.status to allow
-	  .in files in the build tree.
-
-Sun Apr 26 19:35:17 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/glob.c: Glob patterns with | alternation at the top level
-	  were not setting C_LAST flags correctly.  (zefram, 3876)
-
-Sun Apr 26 13:49:28 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/cond.c, Src/glob.c, Src/system.h, Src/utils.c,
-	  Src/Modules/files.c, Src/Modules/stat.c, Src/Zle/zle_tricky.c:
-	  Use POSIX S_I* macros instead of fixed octal values.  (zefram,
-	  3875)
-
-	* configure.in, Src/params.c, Src/system.h: Don't need configure
-	  test for sizeof(long).
-
-	* configure.in, Src/cond.c, Src/glob.c, Src/system.h,
-	  Src/Modules/files.c, Src/Modules/stat.c, Src/Zle/zle_tricky.c:
-	  Use S_IS* macros in all cases instead of S_IF*.  Define S_IS*
-	  macros for file types that don't exist, to avoid needing
-	  conditionals; support readlink() similarly.  Add more file
-	  type letters to the stat module.  (zefram, 3874)
-
-Sat Apr 25 22:58:34 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/Zle/zle_misc.c: Fix an array overrun in suffix removal,
-	  caused by a signed/unsigned char mixup.  (zefram, 3873)
-
-Sat Apr 25 17:15:32 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/utils.c: Make CHASE_LINKS take effect on cd, as documented.
-	  (zefram, 3872)
-
-	* Misc/globtest, Misc/globtest.ksh, Src/glob.c: Fix for exclusions
-	  nested inside more complex glob patterns.  (pws, 3870)
-
-Thu Apr 23 21:21:29 1998  Andrew Main  <zefram@fysh.org>
-
-	* META-FAQ, Doc/META-FAQ.yo, Doc/Makefile.in, Doc/Zsh/guide.yo,
-	  Doc/Zsh/intro.yo, Doc/Zsh/metafaq.yo, Doc/Zsh/seealso.yo:
-	  Generate the META-FAQ and the related parts of the documentation
-	  from a common source (Doc/Zsh/metafaq.yo).  Updated list of
-	  mirror sites.
-
-	* Src/exec.c: Back out patch 3859.  NO_CLOBBER should allow
-	  opening non-regular files (POSIX.2 clause 3.7.2).  Instead fix
-	  the errno handling.  (zefram, 3869)
-
-Wed Apr 22 21:11:30 1998  Andrew Main  <zefram@fysh.org>
-
-	* Etc/BUGS, Etc/MACHINES: sed is no longer used for generating
-	  prototypes.  We also now know about /proc/self/fd.
-
-	* Misc/compctl-examples: Remove some code to cope with very old
-	  zsh versions.
-
-	* Etc/CONTRIBUTORS, Util/zsh-development-guide, Doc/Zsh/intro.yo,
-	  META-FAQ, README: New coordinator.
-
-	* Src/exec.c: NO_CLOBBER should prevent opening FIFOs, not just
-	  overwriting regular files.  (zefram, 3859)
-
-Wed Apr  8 20:29:28 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/version.h: Version 3.1.2-zefram4.
-
-	* Src/Zle/zle_keymap.c: Bind "^[OA" etc. as well as "^[[A".
-	  Change vi arrow key bindings to match vi practice.  (zefram)
-
-	* Src/jobs.c: Don't read tty settings when ZLE is active.
-	  (pws, 3818)
-
-	* Src/Zle/zle_keymap.c: Don't set errflag in bindkey.  (pws, 3815)
-
-	* Etc/FAQ: New FAQ version, 1998-03-24.  (pws, a76)
-
-	* Misc/compctl-examples: tar completion that lists files in
-	  the archive.  (pws, u1409)
-
-	* Src/glob.c: Fix foo(:s/foo/bar).  (pws, 3808)
-
-	* Src/subst.c: Fix ${i:s/foo/bar}.  (pws, 3806)
-
-	* Doc/Zsh/expn.yo: Mention in the parameter expansion section
-	  that history modifiers can be used.  (pws, 3805)
-
-Mon Apr  6 21:45:30 1998  Andrew Main  <zefram@fysh.org>
-
-	* Doc/Zsh/expn.yo, Doc/Zsh/options.yo, Src/glob.c, Src/options.c,
-	  Src/parse.c: More glob changes:
-	  + remove `-(...)' glob qualifier syntax
-	  + allow normal qualifier syntax with KSH_GLOB
-	  + add option BARE_GLOB_QUAL (emulation-relevant, zsh-only)
-	    that enables glob qualifiers
-	  + remove the paren twiddling when using patterns in [[ ]]
-	    and case
-	  (zefram)
-
-	* Misc/globtests, Misc/globtests.ksh: More tests for exclusions,
-	  which currently don't work properly.  (zefram)
-
-Sun Apr  5 20:00:40 1998  Andrew Main  <zefram@fysh.org>
-
-	* Doc/Zsh/expn.yo, Doc/Zsh/options.yo, Src/glob.c: Glob changes:
-	  + KSH_GLOB doesn't affect parens that are not preceded by the
-	    special characters
-	  + correctly handle combinations like ?(foo)##
-	  + parens always trigger globbing
-	  + with EXTENDED_GLOB, embedded `~' triggers globbing,
-	    as the documentation already states
-	  + remove incorrect special handling of (^...)
-	  + general documentation cleanup
-	  (zefram)
-
-	* Doc/Zsh/expn.yo, Doc/Zsh/options.yo, Misc/globtests,
-	  Misc/globtests.ksh, Src/glob.c, Src/options.c, Src/parse.c,
-	  Src/zsh.h: KSH_GLOB.  (pws, 3764)
-
-Sat Apr  4 15:44:05 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/Zle/zle_tricky.c: expand-or-complete-prefix rewrite.
-	  (pws, 3770)
-
-Wed Mar 25 21:51:15 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/builtin.c: getopts bugfixes.  (bugs pointed out by Bernd
-	  Eggink <eggink@uni-hamburg.de>, 3797)
-
-	* Misc/compctl-examples: Completions for ssh, nslookup, telnet,
-	  ping, finger and gdb.  (<mirar@idonex.se>, u1274; some fiddling)
-
-	* Misc/compctl-examples: pine completion.  (pws, u1359)
-
-Tue Mar 24 21:36:47 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/compat.c, Src/prototypes.h: gettimeofday() returns int,
-	  not void.  (zefram)
-
-	* Misc/compctl-examples: cvs completion.  (<mirar@idonex.se>,
-	  u1243; much fiddling)
-
-	* Misc/compctl-examples: lynx completion.  (Oliver Kiddle
-	  <opk101@cs.york.ac.uk>, 3760; some fiddling for portability)
-
-Mon Mar 23 21:18:11 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/loop.c: Don't reprint the select list after non-empty input.
-	  (Bernd Eggink <eggink@uni-hamburg.de>, 3796)
-
-	* configure.in: Display module compiler flags.  (zefram)
-
-	* Src/signames.awk, Src/Builtins/rlimits.awk: Remove leading
-	  zeros from decimal constants to avoid interpretation as octal.
-
-	* configure.in: define CLOBBERS_TYPEAHEAD for SINIX.  (Andrej
-	  Borsenkow <borsenkow.msk@sni.de>, 3737)
-
-	* Misc/compctl-examples: mount completion.  (Stefan Monnier
-	  <monnier@tequila.systemsz.cs.yale.edu>, u1238)
-
-Sun Mar 22 19:02:04 1998  Andrew Main  <zefram@fysh.org>
-
-	* Doc/Zsh/prompt.yo, Src/utils.c: %L strftime sequence to do %l
-	  without fill.  (pws, 3731)
-
-	* Src/prompt.c, Doc/Zsh/prompt.yo: %L prompt escape for $SHLVL.
-	  (Phil Pennock <bear@dcs.warwick.ac.uk>)
-
-	* Src/Makefile.in: Use LD_RUN_PATH instead of -R.  (Andrej
-	  Borsenkow <borsenkow.msk@sni.de>, 3739)
-
-	* Etc/FAQ: New FAQ version, 1998-03-02.  (pws, a75)
-
-Thu Jan 15 23:28:02 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/makepro.awk, Src/mkmakemod.sh, Src/mkmodindex.sh:
-	  Portability fixes.  (zefram, 3713)
-
-	* configure.in: Test for yp_all(), not getdomainname(), to see
-	  if -lnsl is required.  (zefram, 3715)
-
-	* Makefile.in, Src/Makefile.in, Src/Makemod.in.in: Accept
-	  $(INSTALL) being a relative pathname, set by configure.
-	  (zefram, 3716)
-
-	* configure.in, Src/Makefile.in: More logical name for libzsh.
-	  Install/uninstall/clean libzsh.  Link with a -R option to
-	  indicate where libzsh will be installed.  (zefram, 3714)
-
-	* Src/glob.c: Don't use up more digits in a <-> glob pattern
-	  than the range can match.  There are still several cases that
-	  don't work; backtracking is required.  (pws, 3680)
-
-Sun Jan 11 19:22:13 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/version.h: Version 3.1.2-zefram3.
-
-	* Src/builtins.c: Rewrote getopts to remove its various bugs.
-
-Sun Jan 11 14:22:50 1998  Andrew Main  <zefram@fysh.org>
-
-	* Doc/Makefile.in, Etc/Makefile.in, Functions/Makefile.in,
-	  Makefile.in, Misc/Makefile.in, Src/Makefile.in,
-	  Src/Makemod.in.in, StartupFiles/Makefile.in, Util/Makefile.in:
-	  Pass on all configuration variables to all Makefiles.
-
-	* Src/mkmakemod.sh: Fix $sed_normalise script to allow for
-	  compilation in the source tree.
-
-Sat Jan 10 23:56:33 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/version.h: Version 3.1.2-zefram2.
-
-	* Doc/Zsh/compctl.yo, Src/Zle/comp.h, Src/Zle/comp1.c,
-	  Src/Zle/compctl.c, Src/Zle/zle_tricky.c: compctl -Y is like -X,
-	  but performs expansion on the string.  compctl -y allows the
-	  displayed completions to be user-generated.  (pws, 3636)
-
-Sat Jan 10 16:27:30 1998  Andrew Main  <zefram@fysh.org>
-
-	* Misc/compctl-examples: Use compctl -W where appropriate.
-
-	* Doc/Zsh/compctl.yo, Src/Zle/comp.h, Src/Zle/compctl.c,
-	  Src/Zle/zle_tricky.c: compctl -W applies an invisible prefix
-	  when matching pathnames.  (pws, 3498+3502)
-
-	* Misc/compctl-examples: Use compctl -/ where appropriate.
-
-	* Doc/Zsh/compctl.yo, Src/Zle/comp.h, Src/Zle/compctl.c,
-	  Src/Zle/zle_tricky.c: compctl -/ completes directories in the
-	  manner of -f.  (pws, 3492+3493+3495+3502)
-
-Sat Jan 10 00:36:04 1998  Andrew Main  <zefram@fysh.org>
-
-	* Makefile.in, Src/Makefile.in, Src/Makemod.in.in: make clean
-	  fixes.
-
-Fri Jan  9 21:04:38 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/system.h, Src/zsh.h, Src/utils.c, Src/parse.c: Don't
-	  depend on any relation between sizes of ints and pointers when
-	  duplicating/freeing structures.
-
-	* Src/Zle/zle_refresh.c: Refresh bugfix.  (schaefer, 3511)
-
-	* Util/helpfiles: Updated.  (pws, 3598)
-
-	* Doc/Zsh/intro.yo: Mention the list archives.
-
-	* configure.in: Prefer -lcurses to -ltermcap on HP-UX 10.*.
-	  (pws, 3360)
-
-Fri Jan  9 01:28:46 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/Makefile.in: ansi2knr was being built as a.out.
-
-Wed Jan  7 23:44:16 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/glob.c, Misc/globtests: Backtrack in globbing, to support
-	  nested closures.  (pws, 3513+3514+3515+3525)
-
-	* Doc/Zsh/expn.yo: Clarifications and corrections to the
-	  documentation for history expansion modifiers.  (pws, 3549)
-
-	* Src/subst.c: Fix for a typo that made RC_EXPAND_PARAM expansion
-	  of an empty array go horribly wrong.  (hzoli, 3548)
-
-	* Src/builtin.c, Src/hist.c: Neater method to remove fc commands
-	  from the history list.  (pws, 3531)
-
-	* Src/builtin.c, Src/init.c, Src/main.c: Make $(r) work.
-	  (pws, 3526)
-
-Wed Jan  7 22:17:31 1998  Andrew Main  <zefram@fysh.org>
-
-	* Doc/Zsh/options.yo, Src/Zle/zle_tricky.c: Completion in brace
-	  expansion, with magic suffix removal on `,' and `}' triggered by
-	  AUTO_PARAM_KEYS.  (pws, 3438; suffix code rewritten by zefram)
-
-	* Src/Zle/zle_tricky.c, Doc/Zsh/compctl.yo: Print -X explanation
-	  iff there was not a unique match, rather than iff there were
-	  no matches.  (code: hzoli, 3423.  doc: pws, 3424)
-
-Wed Jan  7 20:44:46 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/init.c, Doc/Zsh/func.yo: preexec shell function is run
-	  immediately before running each command.  (pws, u1068)
-
-	* Src/Zle/zle_main.c: Select keymap earlier; apparently
-	  this avoids a crash in some circumstances.  (Bernd Eggink
-	  <eggink@uni-hamburg.de>, 3625)
-
-	* Src/mem.c: zrealloc() should check for out-of-memory condition.
-	  (hzoli, 3522)
-
-	* Src/subst.c: A fix for `a="a "; print -l ${(o)=a}b'.  (hzoli,
-	  3522)
-
-	* Src/rlimits.awk: Some awks do not like || in the pattern.
-	  (hzoli, 3522)
-
-	* Misc/c2z: Many corrections.  (schaefer, 3484)
-
-	* Doc/Zsh/expn.yo: An extra paragraph explaining RC_EXPAND_PARAM
-	  behaviour.  (pws, 3417; markup brought into line with the rest
-	  of the documentation)
-
-	* Src/zsh.h, Src/subst.c, Src/utils.c: Make parameter expansion
-	  with RC_EXPAND_PARAM behave the same as brace expansion,
-	  and make it make sense.  (hzoli, 3403)
-
-	* Src/parse.c: Fix error recovery on inputs such as
-	  `( [[ $I bug 10 ]] )', which previously got mangled.
-	  (hzoli, 3383)
-
-	* configure.in, Src/Builtins/rlimits.awk: Find and correctly
-	  handle the GNU hurd <resourcebits.h>, which defines RLIMIT_*
-	  in an enum.  (Kunihiro Ishiguro <kunihiro@zebra.org>, 3369)
-
-	* Src/glob.c: restrict leaf optimisation of recursive globs to
-	  the case of nlink == 2.  Some systems don't keep proper link
-	  counts for directories, but will probably distinguish themselves
-	  by having a link count of 1 or 0 for directories.  (hzoli, 3368)
-
-Tue Jan  6 23:29:43 1998  Andrew Main  <zefram@fysh.org>
-
-	* Src/version.h: Version 3.1.2-zefram1.
-
-	* Src/Zle/zle.h, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_tricky.c, Src/Zle/zle_vi.c: Rewrite of the
-	  removable suffix mechanism.  In all cases, the longest possible
-	  meaningful suffix is added, and on following insertions the
-	  minimum trailing part of the suffix removed in order to put
-	  the character in a sensible place.  (zefram, 3353)
-
-	* Doc/Zsh/options.yo, Src/options.c, Src/utils.c, Src/zsh.h:
-	  Option PRINT_EIGHT_BIT, indicates that characters >= 0x80 are
-	  printable, even if isprint() says otherwise.  (pws, 3318)
-
-	* Src/Zle/zle_utils.c: Spaces were getting added to the end of
-	  the line when menu completing.  (pws, 3308)
-
-	* Src/jobs.c: Set STAT_NOSTTY in bg.  The result is that
-	  STAT_NOSTTY is set if a job is ever run backgrounded.
-	  (Suzuki Hisao <suzuki@otsl.oki.co.jp>, 3302)
-
-	* Src/Zle/zle_tricky.c, Src/params.c: A couple of memory leaks.
-	  (pws, 3301)
-
-	* Src/zsh.h, Src/exec.c, Src/jobs.c: New job flag STAT_NOSTTY
-	  means don't inherit the tty settings from this job when it
-	  exits.  Is set on jobs that are started in the background.
-	  (hzoli, 3297)
-
-	* Src/params.c: Keep actual inherited environment strings around
-	  while importing individual variables.  This is required because
-	  the special behaviour when setting $TERM (and potentially
-	  other variables) depends on the value of other variables.
-	  (hzoli, 3293)
-
-	* Src/glob.c: In `*(-M)', the (-) should affect the type of stat
-	  used for (M).  (pws, 3285)
-
-	* Src/Zle/zle_refresh.c: Buffer overrun bug fix.  (gcw, 3260)
-
-	* INSTALL, Makefile.in, configure.in, Src/Makefile.in,
-	  Src/**/*.c, Src/mkbltnmlst.sh, Src/prototypes.h,
-	  Src/signals.h, Src/signames.awk, Src/xmods.conf, Src/zsh.h,
-	  Src/Zle/comp.h, Src/Zle/zle.h, Src/Makemod.in.in,
-	  Src/mkmakemod.sh, Src/mkmodindex.sh, Src/zsh.mdd,
-	  Src/Builtins/rlimits.mdd, Src/Builtins/sched.mdd,
-	  Src/Modules/cap.mdd, Src/Modules/clone.mdd,
-	  Src/Modules/example.mdd, Src/Modules/files.mdd,
-	  Src/Modules/stat.mdd, Src/Zle/comp1.mdd, Src/Zle/compctl.mdd,
-	  Src/Zle/deltochar.mdd, Src/Zle/zle.mdd, Src/conf.sed,
-	  Src/mkstamp.sh, Src/mods.conf, Src/Builtins/Makefile.in,
-	  Src/Modules/Makefile.in, Src/Zle/Makefile.in: Rewrite of
-	  the module build system.  Knowledge specific to each module
-	  is localised in a .mdd file for that module.  Makefiles and
-	  headers are automatically generated.  (zefram, 3252)
-
-	* Src/jobs.c: `disown' was leaking memory.  (pws, 3251)
-
-	* Src/subst.c: `set "$@"' was freeing strings while still needed,
-	  due to paramsubst() not duplicating them.  (zefram, 3250)
-
-	* Src/glob.c: globbing of `foo*r~foob*' was failing, due to
-	  the character before the ~ not being marked as being the end
-	  of a pattern.  (pws, 3249)
-
-	* Src/Zle/zle_tricky.c: AUTO_PARAM_KEYS was adding suffix
-	  characters in the middle of a word if completing within a word.
-	  (hzoli, 3247)
-
-	* Src/params.c: filter out garbage when importing environment
-	  variables.  (hzoli, 3246)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/mod_compctl.yo,
-	  Doc/Zsh/mod_sched.yo, Doc/Zsh/mod_zle.yo: Move documentation
-	  of the standard moduleified builtins into zshmodules(1).
-	  (zefram, 3244)
-
-	* Src/Makefile.in, Src/builtin.c, Src/exec.c, Src/glob.c,
-	  Src/globals.h, Src/hashtable.c, Src/hashtable.h, Src/hist.c,
-	  Src/init.c, Src/input.c, Src/jobs.c, Src/lex.c, Src/loop.c,
-	  Src/makepro.awk, Src/math.c, Src/mem.c, Src/module.c,
-	  Src/options.c, Src/params.c, Src/parse.c, Src/prompt.c,
-	  Src/prototypes.h, Src/signals.c, Src/signals.h,
-	  Src/signames.awk, Src/subst.c, Src/utils.c, Src/zsh.h,
-	  Src/Builtins/Makefile.in, Src/Modules/Makefile.in,
-	  Src/Zle/Makefile.in, Src/Zle/comp.h, Src/Zle/comp1.c,
-	  Src/Zle/zle.h, Src/Zle/zle_hist.c, Src/Zle/zle_keymap.c,
-	  Src/Zle/zle_main.c, Src/Zle/zle_refresh.c, Src/Zle/zle_tricky.c,
-	  Src/Zle/zle_utils.c, Src/Zle/zle_vi.c: Move all object
-	  declarations into .c files, so that they are processed by
-	  makepro.awk.  (zefram, 3243)
-
-	* Src/Makefile.in, Src/builtin.c, Src/exec.c, Src/glob.c,
-	  Src/globals.h, Src/hist.c, Src/init.c, Src/jobs.c,
-	  Src/lex.c, Src/main.c, Src/math.c, Src/mem.c, Src/options.c,
-	  Src/params.c, Src/parse.c, Src/signals.c, Src/watch.c,
-	  Src/zsh.h, Src/Builtins/Makefile.in, Src/Modules/Makefile.in,
-	  Src/Zle/Makefile.in, Src/Zle/zle.h, Src/Zle/zle_bindings.c,
-	  Src/Zle/zle_refresh.c, Src/Zle/zle_tricky.c, Src/makepro.sh,
-	  Src/makepro.awk: Generate prototypes with an awk script, which
-	  handles data declarations as well as functions.  Make data
-	  objects static where appropriate.  (zefram, 3242)
-
-	* Src/builtin.c, Src/exec.c, Src/hashtable.c, Src/hashtable.h,
-	  Src/module.c, Src/zsh.h, Src/Builtins/rlimits.c,
-	  Src/Builtins/sched.c, Src/Modules/cap.c, Src/Modules/clone.c,
-	  Src/Modules/example.c, Src/Modules/files.c, Src/Modules/stat.c,
-	  Src/Zle/compctl.c, Src/Zle/zle_main.c: Use struct builtin
-	  instead of struct binlist, avoiding some dynamic memory
-	  allocation.  (zefram, 3241)
-
-	* configure.in, Src/builtin.c, Src/Builtins/Makefile.in,
-	  Src/Builtins/rlimits.c, Src/Modules/cap.c: Always build the
-	  rlimits module.  (zefram, 3240)
-
-	* Src/builtin.c, Src/globals.h, Src/init.c, Src/input.c,
-	  Src/loop.c, Src/prompt.c, Src/utils.c, Src/Zle/zle.h,
-	  Src/Zle/zle_main.c, Src/Zle/zle_refresh.c: Format prompts once
-	  per editing session, so that they don't get changed improperly.
-	  (zefram, 3239)
-
-	* Doc/Zsh/compat.yo, Doc/Zsh/options.yo, Doc/Zsh/prompt.yo,
-	  Src/options.c, Src/prompt.c, Src/zsh.h: Options PROMPT_PERCENT
-	  and PROMPT_BANG, controlling which type of sequences get
-	  expanded in prompts.  Set appropriately for sh and ksh
-	  emulation.  (zefram, 3052)
-
-	* Doc/Zsh/options.yo, Src/exec.c, Src/options.c, Src/zsh.h:
-	  Option HIST_NO_FUNCTIONS, to exclude function definitions
-	  from the history list.  Option alias NO_LOG (from ksh).
-	  (zefram, 3050)
-
-	* Src/init.c: When emulating sh or ksh, make the default prompts
-	  "$ " (or "# ") and "> ".  (zefram, 3004)
-
-	* Doc/Zsh/options.yo, Src/builtin.c, Src/options.c, Src/utils.c,
-	  Src/zsh.h: Option RM_STAR_WAIT to wait ten seconds at the `rm
-	  *' prompt.  (zefram, 2999)
-
-Tue Jun  3 06:14:14 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/version.h: zsh-3.1.2 released
-
-	* Src/params.c: Some compilers do not like ? (void *) :
-
-	* Src/jobs.c: pg(){ less;};:|pg caused suspended (tty input)
-
-Mon Jun  2 07:52:31 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Doc/paths.yo.in: Updated date
-
-	* Doc/paths.yo, Doc/zsh.1, Doc/zsh.texi, Doc/zshall.1,
- 	  Doc/zshbuiltins.1, Doc/zshcompctl.1, Doc/zshexpn.1,
- 	  Doc/zshmisc.1, Doc/zshmodules.1, Doc/zshoptions.1,
- 	  Doc/zshparam.1, Doc/zshzle.1: generated zsh-3.1.2 manuals
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/params.yo: Typo fixes from Tomasz
- 	  Cholewo (3163)
-
-	* Src/Zle/zle_refresh.c: Xterm cut & paste fixes from Geoff (3135)
-
-	* Src/hist.c: Fix !# history expansion during completion.  From
- 	  Peter (3132)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/compat.yo, Doc/Zsh/expn.yo,
- 	  Doc/Zsh/func.yo: Minor documentation fixes from Zefram (3125)
-
-	* Doc/Zsh/guide.yo, Doc/Zsh/intro.yo: The zsh web site moved
-
-	* Etc/FAQ, Etc/FAQ.yo: FAQ from Peter: Id: zshfaq.yo,v 1.6
- 	  1997/05/29 09:15:00 pws Exp
-
-	* Etc/Makefile.in: Do not make FAQ.yodl by default
-
-	* INSTALL: Instructions about dynamic modules and builtin modules
-
-	* Functions/zls: Improved zll module renamed to zls supporting the
- 	  ailLFd options
-
-	* Src/glob.c: The T glob flag did not work
-
-Sun Jun  1 08:02:19 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/system.h: Use _POSIX_VDISABLE is available.  Fixes ^@ in zle
- 	  on some systems.
-
-	* Src/Zle/zle_tricky.c: expand-or-complete-prefix fixed
-
-	* Src/Builtins/rlimits.c, Src/Builtins/sched.c,
- 	  Src/Modules/clone.c, Src/Modules/example.c, Src/Zle/comp1.c,
- 	  Src/Zle/compctl.c, Src/Zle/deltochar.c, Src/Zle/zle_hist.c,
- 	  Src/Zle/zle_keymap.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
- 	  Src/Zle/zle_move.c, Src/Zle/zle_params.c, Src/Zle/zle_refresh.c,
- 	  Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c, Src/Zle/zle_utils.c,
- 	  Src/Zle/zle_vi.c, Src/Zle/zle_word.c, Src/builtin.c,
- 	  Src/compat.c, Src/cond.c, Src/exec.c, Src/glob.c,
- 	  Src/hashtable.c, Src/hist.c, Src/init.c, Src/input.c, Src/jobs.c,
- 	  Src/lex.c, Src/linklist.c, Src/loop.c, Src/main.c, Src/math.c,
- 	  Src/mem.c, Src/module.c, Src/options.c, Src/params.c,
- 	  Src/parse.c, Src/prompt.c, Src/prototypes.h, Src/signals.c,
- 	  Src/subst.c, Src/text.c, Src/utils.c, Src/watch.c: Declare
- 	  functions used locally in one file static.
-
-Sat May 31 07:29:53 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/Zle/comp.h, Src/prototypes.h, Src/makepro.sh,
- 	  Src/Builtins/Makefile.in, Src/Makefile.in,
- 	  Src/Modules/Makefile.in, Src/Zle/Makefile.in, Src/Zle/zle.h,
- 	  Src/module.c: Use fixed names for module make/cleanup funxtions.
-  	  Generate prototypes for static functions.  Ideas from articles
- 	  3123 and 3124 from Zefram.
-
-Thu May 29 05:17:31 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/cond.c: directories are always executable by root
-
-	* META-FAQ: The zsh web page moved.
-
-	* aclocal.m4, configure, configure.in: --enable-ansi2knr configure
- 	  option added.  From Zefram (3122)
-
-Tue May 20 05:22:16 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/utils.c: if abort or edit used on a correct prompt, do not
- 	  attempt to correct further words on the line.
-
-Sun May 18 18:57:08 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/builtin.c, Src/exec.c, Src/init.c, Src/signals.c, Src/jobs.c:
- 	  Do not handle SIGPIPE specially for shells with job control
-
-	* Src/init.c, Src/jobs.c, Src/utils.c: (:); while true; do; done
- 	  was uninterruptible.  Sometimes LINES/COLUMNS was not set
- 	  properly for non-interractive shells.
-
-	* Src/exec.c, Src/signals.c: `:`; while true; do; done was
- 	  uninterruptible
-
-Mon May 12 09:01:55 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* configure, configure.in: on NetBSD <sys/time.h> is needed for
- 	  rlimit type checks.  From Geoff.
-
-	* Src/hist.c: !:2-1 history expansion caused memory corruption
-
-Sun May 11 08:52:00 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/lex.c: $((foo);bar) syntax works
-
-	* Src/hist.c: A terminal hangup caused coredump while saving history
-
-	* Src/globals.h, Src/init.c, Src/params.c: if we cannot get the
- 	  correct window size with ioctl, set LINES and COLUMNS from
- 	  termcap.
-
-	* Src/builtin.c: make sure zexit is not reentered when its
- 	  execution is interrupted by a signal.
-
-Fri May  9 07:59:00 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/utils.c: print_if_link (used by whence -s) did not work well.
-
-	* Doc/zsh.texi: @br{} removed
-
-	* Src/exec.c: Quick hack: do not open file redirections if noexec
- 	  is set
-
-	* Src/jobs.c: printjobs() set errflag when the foreground process
- 	  was interrupted.
-
-Thu May  8 09:18:56 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/cond.c: [[ -x file ]] does stat for privileged users
-
-	* Src/Zle/zle_utils.c: do no read line[ll] (which is undefined)
-
-	* Src/signals.c: flush the input queue on interrupt
-
-	* Src/lex.c, Src/parse.c: improve parsing of for ((...))
-
-	* Src/Zle/zle_tricky.c, Src/hist.c, Src/lex.c, Src/parse.c:
-	  ((foo);bar) now works
-
-Wed May  7 14:50:08 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Etc/Makefile.in: make clean should delete generated htmls
-
-Tue May  6 06:33:06 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Etc/Makefile.in: rules to create FAQ and FAQ.html from the yodl
- 	  source
-
-	* Doc/Makefile.in, Doc/Zsh/guide.yo, Doc/Zsh/mod_cap.yo,
- 	  Doc/Zsh/mod_clone.yo, Doc/Zsh/modules.yo, Doc/Zsh/prompt.yo,
- 	  Src/Modules/Makefile.in, Src/Modules/cap.c, Src/mods.conf,
- 	  Src/prompt.c, Src/system.h, Src/utils.c, config.h.in, configure,
- 	  configure.in: Make the shell aware of POSIX.1e capabilities and
- 	  add a cap builtin module.  From Zefram (3088)
-
-	* Src/Zle/zle_main.c, Src/Zle/zle_utils.c, Src/Zle/zle_vi.c: vi
- 	  line range bugfix from Zefram (3094)
-
-	* Src/signals.c: WINCH traps did not work.  From Peter (3093)
-
-	* Src/hashtable.h, Src/params.c: LC_* parameters stopped working
- 	  after patch 3014.  From Zefram (3089)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/restricted.yo, Src/builtin.c,
- 	  Src/hashtable.h: hash builtin fixes from Zefram (3061)
-
-	* Src/Zle/zle_thingy.c, Src/hashtable.c, Src/params.c, Src/zsh.h:
- 	  Allow adding/deleting nodes during scanhashtable.  From Zefram
- 	  (3058)
-
-Mon May  5 09:29:22 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/hist.c: % word designator fix from Bruce Murphy
- 	  <packrat@iinet.net.au> (3065)
-
-	* Doc/Zsh/builtins.yo, Src/builtin.c, Src/hashtable.h,
- 	  Src/utils.c: whence -s prints expanded symlinks (idea from
- 	  art. 3067 by Juergen A. Erhard <jae@laden.ilk.de>).  Use zputs
- 	  in whence. xsymlinks return 1 iff it found some symlinks or ../
- 	  (previously it always returned 0 although it had some
- 	  never-reached return 1 statements).
-
-	* Src/params.c: zero LINES/COLUMNS should not set narrow/short
- 	  term.  From Zefram (3063)
-
-	* Src/builtin.c: typeset -R UID caused a coredump
-
-	* Src/globals.h, Src/mem.c, Src/prototypes.h: alloc/ncalloc
- 	  declarations moved to globals.h.  From Zefram (3057)
-
-	* Doc/Makefile.in, Doc/zsh.yo: doc install and zshall fixes.  From
- 	  Zefram (3056)
-
-	* Src/prototypes.h, Src/system.h, config.h.in, configure,
- 	  configure.in: checks for memcpy and memmove.  From Zefram (3055)
-
-	* Doc/Zsh/params.yo: parameter documentation improvements.  From
- 	  Zefram (3051)
-
-	* Src/utils.c: simplify adjustwinsize().  Based on art. 3053 from
- 	  Zefram.
-
-	* Src/Zle/zle_main.c, Src/Zle/zle_params.c, Src/builtin.c,
- 	  Src/exec.c, Src/globals.h, Src/init.c, Src/params.c: remove
- 	  locallist.  From Zefram (3049)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/guide.yo, Doc/Zsh/params.yo,
- 	  Src/builtin.c, Src/params.c: local parameters can hide special
- 	  parameters.  From Zefram (3048)
-
-Sun May  4 06:16:44 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/Builtins/Makefile.in, Src/Makefile.in,
- 	  Src/Modules/Makefile.in, Src/Zle/Makefile.in, aczsh.m4,
- 	  configure, configure.in: Strip shared modules and executables if
- 	  possible.  From Zefram (3038)
-
-	* Doc/Zsh/mod_sched.yo, Doc/Zsh/guide.yo, Doc/Zsh/mod_files.yo,
- 	  Doc/Zsh/mod_stat.yo, Doc/Zsh/modules.yo,
- 	  Src/Builtins/Makefile.in, Src/Builtins/sched.c, Src/Makefile.in,
- 	  Src/builtin.c, Src/globals.h, Src/hashtable.h, Src/init.c,
- 	  Src/linklist.c, Src/mods.conf, Src/utils.c, Src/xmods.conf,
- 	  Src/zsh.h: The sched builtin moved to a separate module.  From
- 	  Zefram (3037)
-
-	* Src/Builtins/rlimits.c, Src/prototypes.h, Src/hashtable.h,
- 	  Src/mods.conf, Src/xmods.conf, Src/Builtins/Makefile.in,
- 	  Src/Makefile.in, configure, configure.in: Src/Builtins directory
- 	  created.  rlimits.c moved to Src/Builtins and converted into a
- 	  loadable module.
-
-Wed Apr 30 07:40:30 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Doc/Zsh/grammar.yo, Src/globals.h, Src/lex.c, Src/loop.c,
- 	  Src/parse.c, Src/text.c, Src/zsh.h: ksh style ;& case
- 	  fall-through feature from Zefram (3062)
-
-	* Src/text.c: printing case commands were broken.  From Zefram (3062)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/func.yo, Doc/Zsh/options.yo,
- 	  Src/builtin.c, Src/exec.c, Src/hashtable.c, Src/options.c,
- 	  Src/utils.c, Src/zsh.h: KSH_AUTOLOAD option from Zefram (3060)
-
-	* Src/module.c: Do not remove dependencies for a module when it is
- 	  unloaded. From Zefram (3033)
-
-	* Src/Zle/zle_main.c, Src/Zle/zle_tricky.c, Src/builtin.c,
- 	  Src/exec.c, Src/utils.c: get{sh,fp}func() return &dummy_list for
- 	  non-existent functions.  This allows autoloading empty
- 	  functions.  From Zefram (3036)
-
-	* Src/exec.c: Assume ksh-autoloading only if the autoloaded file
- 	  is a single function definition.  From Zefram (3032)
-
-	* Src/Makefile.in, Src/mkbltnmlst.sh, Src/mkstamp.sh,
- 	  Src/xmods.conf, aczsh.m4, configure, configure.in: Link comp1
- 	  into the main zsh if the system lacks RTDL_GLOBAL functionality.
-  	  From Zefram (3030)
-
-	* config.h.in, configure, aczsh.m4, configure.in, Makefile.in,
- 	  acconfig.h, aclocal.m4: The config part of the nameclash patch
- 	  from Zefram (3028).  The code part does not work with ansi2knr.
-
-Mon Apr 28 07:28:34 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/Zle/comp.h, Src/Zle/comp1.c, Src/Zle/compctl.c,
- 	  Src/Zle/deltochar.c, Src/Zle/zle.h, Src/Zle/zle_bindings.c,
- 	  Src/Zle/zle_hist.c, Src/Zle/zle_keymap.c, Src/Zle/zle_main.c,
- 	  Src/Zle/zle_misc.c, Src/Zle/zle_move.c, Src/Zle/zle_params.c,
- 	  Src/Zle/zle_refresh.c, Src/Zle/zle_thingy.c,
- 	  Src/Zle/zle_tricky.c, Src/Zle/zle_utils.c, Src/Zle/zle_vi.c,
- 	  Src/Zle/zle_word.c, Src/builtin.c, Src/globals.h, Src/init.c,
- 	  Src/zsh.h: move compctl related read stuff global variables from
- 	  the main binary into the comp1 module.  From Zefram (3029)
-
-	* Src/Zle/zle_tricky.c: Yet an other suffix removal fix from
- 	  Zefram (3024)
-
-	* Src/builtin.c, Src/system.h, acconfig.h, config.h.in, configure,
- 	  configure.in, Src/Builtins/rlimits.c: Use rlim_t if available
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/restricted.yo, Src/globals.h,
- 	  Src/init.c, Src/jobs.c, Src/main.c: jobs -Z documented, improved
- 	  and disabled in restricted mode.  From Zefram (3027)
-
-	* Doc/Zsh/builtins.yo, Src/hashtable.h, Src/jobs.c: jobs -d prints
- 	  the working current directory of jobs.  From Peter (2889)
-
-	* Doc/Zsh/restricted.yo, Src/module.c: disallow adding module
- 	  dependencies with absolute pathnames in restricted mode.  From
- 	  Zefram (3025)
-
-	* Doc/Zsh/options.yo, Src/options.c: New option aliases to please
- 	  bash users: dotglob, hashall, histappend, histexpand, mailwarn,
- 	  onecmd and promptvars.  From Zefram (3026)
-
-	* Etc/FAQ.yo: from Peter: Id: zshfaq.yo,v 1.5 1997/04/24 10:19:15
- 	  pws Exp
-
-	* Etc/FAQ: April 24 1997 FAQ from Peter
-
-	* Src/Makefile.in, Src/Zle/zle_params.c, Doc/Zsh/zle.yo,
- 	  Src/Zle/Makefile.in, Src/Zle/zle.h, Src/Zle/zle_main.c,
- 	  Src/exec.c, Src/hashtable.h, Src/mods.conf, Src/params.c,
- 	  Src/zsh.h: New special parameters {,L,R}BUFFER, CURSER added
- 	  only present in zle widget functions.  Virtualised unset method
- 	  in struct param.  pm->data modev to pm->u.data.  From Zefram
- 	  (3014)
-
-	* Src/Zle/zle_thingy.c: Fix a memory leak when unloading zle with
- 	  user-defined widgets.  From Zefram (3015)
-
-	* Src/Zle/zle.h, Src/Zle/zle_hist.c, Src/Zle/zle_main.c,
- 	  Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c, Src/builtin.c,
- 	  Src/globals.h, Src/init.c, Src/input.c, Src/loop.c, Src/utils.c,
- 	  Src/zsh.h: Remove in_vared and use a third parameter to zleread
- 	  to allow history recall.  histallowed is a new zle global
- 	  variable for that.  Rename inzlefunc to incompctlfunc.  Add some
- 	  checks to avoid dangerous recursive zle calls.  From Zefram
- 	  (3013)
-
-	* Src/Zle/zle_main.c, Src/Zle/zle_tricky.c: menu completion did
- 	  not work well with auto_param_keys.  From Zefram (3011)
-
-Sat Apr 26 06:26:11 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Functions/zed: Reenter zed if it fails to save the file
-
-	* Functions/zed: Use bindkey -L to temporarily save bindings.
-  	  From Zefram (3012)
-
-	* Src/builtin.c, Src/init.c: Do not retry failed autoloads.  From
- 	  Zefram (3010)
-
-	* Src/Makefile.in, Src/mkbltnmlst.sh: non-dynamic zsh can be built
- 	  without zle.  From Zefram (3008)
-
-	* Doc/Zsh/builtins.yo, Src/module.c: Rearrange modules.c.
-  	  zmodload -qu removes dependencies.  From Zefram (3009)
-
-	* Doc/Zsh/builtins.yo, Src/module.c: zmodload -i -a works as one
- 	  would expect.  From Zefram (3007)
-
-	* Doc/Zsh/builtins.yo, Src/module.c: zmodload -a argument swap to
- 	  allow autoloading multiple builtins from a single file in one
- 	  command.  From Zefram (2997)
-
-Fri Apr 25 06:41:36 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Doc/zman.yo: use UPPERCASE yodl macro
-
-	* Functions/cdmatch, Misc/compctl-examples: compctl-examples
- 	  improvements from Zefram (3006)
-
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in,
- 	  Src/Zle/zle_hist.c, Src/Zle/zle_keymap.c, Src/Zle/zle_main.c,
- 	  Src/Zle/zle_thingy.c: ZLE unload code from Zefram (3005)
-
-	* Src/options.c: NOTIFY is off in sh/ksh mode.  From Zefram (3003)
-
-	* Doc/Zsh/builtins.yo, Doc/Zsh/zle.yo, Misc/compctl-examples,
- 	  Src/Zle/Makefile.in, Src/Zle/deltochar.c, Src/Zle/iwidgets.list,
- 	  Src/Zle/zle.h, Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c,
- 	  Src/Zle/zle_main.c, Src/Zle/zle_misc.c, Src/Zle/zle_move.c,
- 	  Src/Zle/zle_things.sed, Src/Zle/zle_thingy.c,
- 	  Src/Zle/zle_tricky.c, Src/Zle/zle_vi.c, Src/Zle/zle_widget.sed,
- 	  Src/Zle/zle_word.c, Src/xmods.conf: New ZLE widgets allow
- 	  user-defind ZLE functions.  From Zefram (3002)
-
-	* Src/params.c: ${foo#bar} writes to the value of foo which can be
-	  a const causing SEGV.  From Zefram (2998)
-
-	* Src/Modules/files.c: files module fixes from Zefram (2996)
-
-	* Functions/zll, Src/Modules/Makefile.in, Src/Modules/stat.c,
- 	  Src/mods.conf: stat module fixes from Zefram (2995)
-
-	* Functions/zll, Src/Modules/stat.c: stat module from Peter (2994)
-
-	* Doc/Makefile.in, Doc/Zsh/compctl.yo, Doc/Zsh/guide.yo,
- 	  Doc/Zsh/intro.yo, Doc/Zsh/mod_clone.yo, Doc/Zsh/mod_comp1.yo,
- 	  Doc/Zsh/mod_compctl.yo, Doc/Zsh/mod_deltochar.yo,
- 	  Doc/Zsh/mod_example.yo, Doc/Zsh/mod_files.yo,
- 	  Doc/Zsh/mod_stat.yo, Doc/Zsh/mod_zle.yo, Doc/Zsh/modules.yo,
- 	  Doc/Zsh/seealso.yo, Doc/zsh.yo, Doc/zshmodules.yo: Module
- 	  documentations from zefram (2994)
-
-Sun Apr 20 07:24:12 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/init.c, Src/params.c, Src/utils.c: Remove setintenv()
-
-Tue Apr 15 05:51:27 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/Zle/zle_refresh.c: SGTABTYPE can contain more than one bit
- 	  set.  From Geoff (2976)
-
-	* Doc/Zsh/prompt.yo, Src/prompt.c, Src/utils.c, Src/watch.c: New
- 	  escapes %K and %f inside %D{...} promt sequences.  %k and %e are
- 	  now compatible with strftime().  From Peter (2963)
-
-	* Src/Zle/zle_keymap.c: bindkey -s "^X^L" "^@" produced a pound
- 	  sterling sign.  From Zefram (2951)
-
-	* Src/Zle/zle_main.c: vared 1 caused a coredump.  From Peter (2909)
-
-	* Src/exec.c, Src/signals.c: execute trap on EXIT in the caller's
- 	  environment. From Peter (2896)
-
-	* Src/Zle/zle_tricky.c: Autoparamkeys broken by earlier patch
- 	  fixed.  From Zefram and Peter (2894)
-
-	* Src/Zle/zle_tricky.c: Clear menucur in invalidatelist().  From
- 	  Peter (2881)
-
-	* Src/Zle/zle_main.c: vared path caused permanent
- 	  allocation in arrayfixenv
-
-Sat Apr 12 04:27:34 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/Zle/zle_misc.c: Overwrite mode did not work
-
-Sat Mar  8 00:17:24 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/Zle/compctl.c: Sometimes an incorrect compctl caused a core
- 	  dump.  From Peter (2942)
-
-Fri Mar  7 23:54:18 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/Makefile.in: zle_binding.pro is not used
-
-	* Src/Zle/zle.h, Src/Zle/zle_main.c, Src/Zle/zle_refresh.c,
- 	  Src/Zle/zle_tricky.c, Src/Zle/zle_utils.c, Src/builtin.c,
- 	  Src/globals.h, Src/init.c, Src/params.c, Src/prompt.c,
- 	  Src/zsh.h: termok changed to termflags.  Modified version of
- 	  art. 2970 from Geoff
-
-Thu Mar  6 18:06:17 1997  Zoltan T. Hidvegi  <hzoli@vnet.ibm.com>
-
-	* Src/init.c, Src/params.c, Src/utils.c: handle narrow and short
-	  terminals centralized in zlevarsetfn().  From Bart and me
-	  (2956, 2957)
-
-Wed Mar  5 23:37:30 1997  Zoltan T. Hidvegi  <hzoli@vnet.ibm.com>
-
-	* Src/Zle/zle.h, Src/Zle/zle_refresh.c: act as if single_line_zle
-	  were set when LINES < 3.  From Geoff (2865)
-
-	* Doc/zmacros.yo: Use UPPERCASE() yodl macro instead of chartable
- 	  hacks.  From Zefram (2873)
-
-	* Src/Zle/zle_tricky.c: menu completing parameters removed
- 	  non-existent / suffix. From Zefram (2872)
-
-	* Src/Zle/zle_bindings.c: Some zle functions did not use
- 	  ZLE_KEEPSUFFIX.  From Zefram (2871)
-
-	* Src/Zle/Makefile.in, Src/Zle/zle.h: zle_bindings doesn't define
- 	  any functions so zle_bindings.pro is not needed
-
-	* Src/loop.c: $? was incorrectly reset before executing case,
-	  while, for
-
-Tue Feb 18 20:59:51 1997  Zoltan Hidvegi  <hzoli@vnet.ibm.com>
-
-	* Src/Zle/zle_bindings.c: M-p and M-n defaults to
-	  history-beginning-search-*
-
-	* Src/builtin.c: getopts handling of required argument fix from
-	  Andrew Robinson (2846)
-
-	* Src/builtin.c, Src/globals.h, Src/hist.c, Src/lex.c, Src/zsh.h:
-	  History fixes: fc -AI;fc -R now do not confuse hist_ignore_dups
-	  and some other cleanups from Peter (2845).  Contains changes
-	  from articles 2748 and 2755.
-
-	* Src/signals.c: An #ifdef SIGWINCH was missing.  From Hrvoje
-	  Niksic <hniksic@srce.hr> (2844)
-
-	* Src/Modules/files.c: fix problems on machines with unsigned long
-	  mode_t.  From Zefram (2843)
-
-	* Doc/Makefile.in, Doc/Zsh/builtins.yo, Doc/Zsh/compctl.yo,
-	  Doc/Zsh/expn.yo, Doc/Zsh/guide.yo, Doc/Zsh/prompt.yo,
-	  Doc/Zsh/restricted.yo, Doc/zman.yo, Doc/zsh.yo, Doc/ztexi.yo,
-	  configure.in: Various documentation fixes from Zefram (2842)
-
-	* Src/exec.c: return from a function called from a loop breaked
-	  the loop
-
-	* Src/lex.c: eval \$\{$#\} did not work
-
-Tue Feb 11 20:25:59 1997  Zoltan Hidvegi  <hzoli@cs.elte.hu>
-
-	* config.h.in, Src/compat.c, Src/utils.c, configure, configure.in:
-	  stupid AIX 3.2 does not have fchdir
-
-Tue Jan 28 00:57:37 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/version.h: zsh-3.1.1 released
-
-	* Doc/paths.yo, Doc/zsh.1, Doc/zsh.texi, Doc/zshall.1,
- 	  Doc/zshbuiltins.1, Doc/zshcompctl.1, Doc/zshexpn.1,
- 	  Doc/zshmisc.1, Doc/zshoptions.1, Doc/zshparam.1, Doc/zshzle.1:
- 	  yodl generated generated documentation
-
-Mon Jan 27 22:04:29 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/signals.c: temprarily set breaks to zero when executing a trap
-
-	* Src/exec.c: do not reset breaks in doshfunc
-
-	* Src/parse.c: words following for ((...)) are in command position.
-
-Sun Jan 26 23:29:48 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/builtin.c, Src/hashtable.h: fix cd -, use unrecognized
- 	  option arguments literally
-
-	* Src/exec.c: localoptions should not restore RESTRICTED
-
-	* Src/signals.c: terminate a restricted shell if an untrapped INT
- 	  signal is received
-
-	* Src/init.c: set noerrexit to -1 in setupvals()
-
-Sat Jan 25 20:07:46 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
-
-	* Src/subst.c, Src/utils.c: some assignments were missing from my
- 	  spacesplit fix
+	* unposted: Src/Zle/zle_main.c: initialize the first byte of
+	the allocated "line" buffer so that we avoid uninitialized-
+	memory warnings in valgrind.
 
-	* Etc/FAQ: FAQ from Peter: Id: zsh.FAQ,v 2.23 1997/01/24 13:21:16
- 	  pws Exp
+2004-10-16  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* config.h.in, configure, configure.in: check for setsid()
+	* 20490: Src/pattern.c, Src/zsh.h: use lengths for test strings in
+	patterns instead of null termination.
 
-	* Src/Modules/Makefile.in, Src/Modules/clone.c: new builtin: start
- 	  a forked instance of the current shell on a new terminal
+2004-10-14  Peter Stephenson  <pws@csr.com>
 
-Thu Jan 23 15:45:27 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20482: Src/Zle/complist.c: A TAB after entering interactive
+	completion caused nonsense to be inserted into the command
+	line.  The behaviour of TAB is still probably not ideal.
 
-	* Src/Zle/zle_refresh.c, Src/globals.h, Src/prompt.c:
-	  redisplay fix for multiline prompts from Geoff (2817)
+2004-10-12  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/subst.c, Src/utils.c: a${=:- }b expanded to `ab'
+	* unposted: Completion/Unix/Command/_make: got rid of an unused
+	local vaiable (cmdargs).
 
-	* Doc/Zsh/compctl.yo, Doc/Zsh/guide.yo, Doc/Zsh/options.yo,
- 	  Doc/Zsh/restricted.yo, Doc/zsh.yo, Doc/zshmisc.yo: RESTRICTED
- 	  option documentation
+	* unposted: Completion/Unix/Command/_rsync: added 7 more options
+	that were not described.
 
-	* Doc/Makefile.in: generate everything with yodl
+2004-10-08  Peter Stephenson  <pws@csr.com>
 
-	* Doc/zman.yo, Doc/ztexi.yo: itemize environment added
+	* 20467: configure.ac, Doc/Zsh/params.yo, Src/exec.c, Src/jobs.c,
+	Src/signals.c, Src/zsh.h: Finally reintroduce the
+	TIMEFMT escapes from struct rusage removed ages ago.  Uses more
+	sophisticated autconf tests to make configuration seamless.
 
-	* Src/module.c: disable zmodload -a and loading explicitely given
- 	  modules when restricted
+2004-10-07  Peter Stephenson  <pws@csr.com>
 
-	* Doc/Zsh/zle.yo: what-cursor-position zle function documented
+	* 20462: configure.ac, Src/exec.c, Src/init.c, Src/jobs.c,
+	Src/signals.c, Src/zsh.h: Improve process timing by using
+	getrusage() where available (everywhere?) and by starting
+	the wallclock just before a process is forked.
 
-Wed Jan 22 00:54:02 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-10-07  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Doc/Zsh/builtins.yo: cd -sLP documentation
+	* unposted: Completion/Unix/Command/_rsync: added options that
+	are new in rsync 2.6.3.
 
-	* Doc/Zsh/builtins.yo, Src/module.c: zmodload -au removes defined
- 	  but not yet loaded builtins
+2004-10-05  Peter Stephenson  <pws@csr.com>
 
-Tue Jan 21 20:38:24 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* unposted: Update README to indicate 20412.
 
-	* Doc/ztexi.yo: sitem() fix for TeX
+	* 20435: Src/pattern.c: fix crash in negative matching.  Could do
+	with being streamlined but that might be a big change.
 
-	* Misc/compctl-examples: limit/unlimit compctl improvemenmt
+	* 20412 (tweaked): Doc/Zsh/builtins.yo, Src/builtin.c, Src/cond.c,
+	Src/exec.c, Src/utils.c: Make test and [ builtins more POSIX
+	compatible: return status 2 for errors, require integer
+	constants for numeric tests.
 
-	* Doc/Zsh/builtins.yo, Doc/ztexi.yo: TeX changes
+2004-10-01  Wayne Davison  <wayned@users.sourceforge.net>
 
-Mon Jan 20 21:11:22 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20438: Src/builtin.c, Src/hist.c, Src/params.c, Src/zsh.h:
+	If the shell is exiting because it received a signal, we now
+	skip rewriting the history file after appending any new lines.
+	Has no affect unless APPEND_HISTORY, INC_APPEND_HISTORY, or
+	SHARE_HISTORY are set.  This should avoid a history truncation
+	glitch when too many shells are all trying to update the history
+	file at the same time before being killed by a follow-up signal.
 
-	* Src/hashtable.h, acconfig.h, config.h.in, configure,
- 	  configure.in: some old compilers cannot initialise a union
+2004-10-01  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/Zle/zle.h, Src/Zle/zle_keymap.c, Src/options.c: changes for
- 	  K&R compilers
+	* unposted: Src/params.c: silenced two compiler warnings about
+	unused parameters.
 
-	* Src/Zle/deltochar.c: deltochar is IN_ZLE
+2004-10-01  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/Modules/files.c, Src/Zle/zle_misc.c, Src/mem.c: stupid SunOS
- 	  4 has broken headers
+	* unposted: Src/builtin.c, Src/Modules/parameter.c: use convbase
+	instead of a "%d" format to convert a zlong.
 
-	* Src/system.h: cast alloca in VARARR
+2004-10-01  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/Zle/zle_bindings.c, Src/Zle/zle_keymap.c,
- 	  Src/Zle/zle_misc.c: what-cursor-position zle function added
+	* 20277 (modified): Completion/Unix/Command/_make: completer now
+	follows include files and expands variables (and does it all in
+	zsh code instead of using awk or perl).
 
-	* Src/Zle/zle_utils.c: move the mark when characters are
- 	  inserted/deleted.  From Peter (2807)
+2004-10-01  Peter Stephenson  <pws@csr.com>
 
-	* Src/builtin.c, Src/hashtable.h: bash/ksh compatible cd -LP options
+	* 20427, 20339 (modified): Completion/Base/Core/_main_complete,
+	Doc/Zsh/compsys.yo:  Fix for problem with _oldlist and custom
+	completion.  Also snuck in show-completer style with documentation.
 
-	* Src/utils.c: lchdir fix
+2004-09-30  Clint Adams  <clint@zsh.org>
 
-	* Src/Modules/files.c: rm -r works with arbitrary deep
- 	  hierarchies.  rm -r can be interrupted
+	* 20358: Completion/Unix/Command/_make: avoid potential gawk
+	  locale bug by not using awk.
 
-Sun Jan 19 13:30:36 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-09-29  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/glob.c: glob arbitrary deep directory structures
+	* 20418: Src/parse.c: fix crash-inducing bug with mis-parsing of
+	incomplete pipeline expressions (e.g. "zsh -c 'echo |').
 
-	* Src/mem.c, Src/Zle/zle_keymap.c, Src/subst.c, Src/utils.c,
-	  Src/zsh.h: add real hrealloc()
+2004-09-28  Clint Adams  <clint@zsh.org>
 
-Sat Jan 18 22:34:17 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20414: Completion/Unix/Type/_diff_options: correct missing
+	minus in --unified, spotted by Paul Wagland.
 
-	* Src/Zle/zle_keymap.c: in bindkey -s the string was not zrdupped.
+2004-09-27  Peter Stephenson  <pws@csr.com>
 
-	* Src/utils.c: after Zefram's changes getkeystring should return
-	  the result on the heap
+	* unposted: Completion/Unix/Command/_perforce: when adding
+	files, ignore files already open for whatever reason,
+	including those already being added.
 
-	* Src/utils.c: fix file descriptor leak in lchdir
+2004-09-24  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* acconfig.h, config.h.in, configure, configure.in: use the
-	  AC_FUNC_STRCOLL builtin autoconf test
+	* 20409: Completion/Unix/Command/_darcs: Completion for the darcs
+	revision control system.  Derived from the zsh-completion example
+	that comes with darcs.
 
-	* Src/subst.c, Src/system.h, config.h.in, configure, configure.in:
-	  alloca() and VARARR macro added which defines a variable sized
-	  automatic array
+2004-09-21  Peter Stephenson  <pws@csr.com>
 
-Tue Jan 14 23:17:34 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* unposted: Completion/Unix/Command/_perforce: updated for
+	Perforce release 2004.2.
 
-	* Src/glob.c: debugging changes (the change is mostrly reindentation)
+	* 20398: Src/Zle/zle_main.c: allow clean exit from within
+	a zle widget function.
 
-	* Src/Zle/zle_move.c: vi-goto-column did not move to the last column
+2004-09-20  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/glob.c: some old C compilers cannot use typedefed type
-	  defined function prototypes
+	* 20397: Doc/zmacros.yo, Doc/Zsh/invoke.yo, Doc/Zsh/zle.yo: tweaks
+	to account for texinfo's tendency to condense "--" into "-".
 
-	* Src/exec.c: PATH=foo somecommand gives error in restricted mode
+2004-09-20  Peter Stephenson  <pws@csr.com>
 
-	* Src/options.c, Src/init.c: the -r command line option turns on
-	  restricted mode
+	* 20391: Src/params.c: SHLVL didn't get updated in the
+	environment if it was already present.
 
-Mon Jan 13 21:28:35 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-09-20  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/builtin.c, Src/exec.c, Src/hashtable.h, Src/init.c,
-	  Src/options.c, Src/params.c, Src/text.c, Src/zsh.h: RESTRICTED
-	  option added
+	* 20388: Src/Zle/zle_main.c: arrange that "zle internal-widget"
+	called from a "zle -N" widget does not trip the ignoreeof warning.
+	This is the long-documented behavior, but may break old "zle -N"
+	widgets designed as wrappers around delete-char-or-list.
 
-Sun Jan 12 01:00:04 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20387: Src/init.c, Src/Zle/zle_main.c: rather than counting EOF
+	keystrokes as in 20363, pretend that we received an EOF each time
+	the "use 'logout' to logout" warning is printed, and let the top-
+	level loop keep the count.  This way, disabling the warning (by
+	rebinding that key to a "zle -N" widget) also disables counting.
 
-	* Src/Zle/zle_tricky.c: automenu starts iff lastambig is true.
-	  From Zefram (2781)
+2004-09-17  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle.h, Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c,
-	  Src/Zle/zle_main.c, Src/Zle/zle_move.c: add ZLE_LASTCOL flag to
-	  zle-commands which set lastcol.  From Zefram (2780)
+	* 20378: Matthias B <msb@winterdrache.de>: Src/params.c,
+	Src/utils.c, B02typeset.ztst: Fix bugs with metafied characters
+	in tied arrays.
 
-	* Src/Zle/deltochar.c, Src/Zle/zle.h, Src/Zle/zle_bindings.c,
-	  Src/Zle/zle_hist.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_tricky.c, Src/Zle/zle_vi.c: zle removable suffix
-	  cleanup.  ZLE_INSERT and ZLE_DELETE is gone and ZLE_KEEPSUFFIX
-	  added for commands which do not remove autoremovable suffixes.
-	  From Zefram (2779)
+2004-09-16  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle.h, Src/Zle/zle_hist.c, Src/Zle/zle_utils.c: remove
-	  some code duplications and undo fixes.  From Zefram (2769)
+	* 20364: Functions/Completer/_oldlist: use $WIDGETSTYLE.
 
-Sat Jan 11 23:45:50 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-09-13  Peter Stephenson  <pws@csr.com>
 
-	* Src/compat.c: lstat is defined to stat on systems without lstat
+	* 20363: Src/init.c, Src/Zle/zle_main.c: exiting after 10 EOFs
+	with ignore_eof set was broken in zle.
 
-	* Src/system.h: define lstat(X,Y) instead of lstst if HAVE_LSTAT
-	  is not defined
+2004-09-10  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle_tricky.c: ll was not restored for xorrec
+	* 20348: Doc/Zsh/zle.yo, Src/Zle/zle_params.c: Rejig WIDGETSTYLE
+	and add WIDGETFUNC.
 
-	* Src/builtin.c: read -l forgot to duplicate line before assignment
+2004-09-09  Peter Stephenson  <pws@csr.com>
 
-	* Src/jobs.c: do not execute trap when only the child receives the
-	  signal.  Based on article 2480 from Zefram.
+	* 20332: Src/Zle/zle_params.c, Doc/Zsh/zle.yo: add WIDGETSTYLE zle
+	parameter to reveal widget implementation: function name for zle
+	-N widgets and internal completion widget for zle -C widgets.
 
-	* Src/builtin.c, Src/jobs.c: move job control builtins to jobs.c
+	* 20331: Src/builtin.c, Src/hist.c, Src/params.c, Src/prompt.c,
+	Src/zsh.h, Src/Zle/compctl.c: Where possible use internal zlong
+	variables for integers that correspond to shell variables.
 
-	* Src/builtin.c: fix bugs when there was no current job after disown
+2004-09-08  Peter Stephenson  <pws@csr.com>
 
-Thu Jan  9 16:07:31 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20330: Src/Zle/zle_thingy.c, Doc/Zsh/zle.yo: rationalise status
+	from zle -I and improve documentation of status from zle, zle -I,
+	zle -R.
 
-	* Src/rlimits.c: zstrtorlimit was defined instead of zstrtorlimt
+2004-09-08  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/Modules/Makefile.in, Src/Zle/Makefile.in: some buggy makes
-	  could not find out how to make .so from .c
+	* 20325: Src/exec.c, Test/E01options.ztst: fix crash when using
+	the "command" builtin (as opposed to the "command" precommand
+	modifier) when POSIX_BUILTINS is set; (unposted) add test for that
+	and also for EVAL_LINENO.
 
-Wed Jan  8 22:02:51 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20320: Src/builtin.c: rewrite 20318 for simplicity and clarity.
 
-	* Doc/Zsh/zle.yo, Doc/zsh.texi, Doc/zshzle.man, Src/Zle/zle.h,
-	  Src/Zle/zle_bindings.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_utils.c: zle undo rewrite from Zefram (2746)
+2004-09-04  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/Zle/zle.h, Src/Zle/zle_hist.c, Src/Zle/zle_main.c,
-	  Src/Zle/zle_misc.c, Src/Zle/zle_utils.c, Src/Zle/zle_vi.c,
-	  Src/utils.c: feep() just sets a flag and the main zle loop calls
-	  beep() when this flag is set so multiple feeps cause only one
-	  beep.  From Zefram (2745)
+	* 20318: Src/builtin.c: fix subtle xtrace output bug introduced
+	by 20308.
 
-	* Src/hist.c, Src/main.c, Src/utils.c: use shout instead of stderr
-	  where appropriate.  From Zefram (2743)
+2004-09-03  Peter Stephenson  <pws@csr.com>
 
-	* configure, configure.in: on NetBSD <sys/time.h> is needed for
-	  rlimit type checks.  Based on article 2742 from Geoff
+	* 20308: Doc/Zsh/options.yo, Src/builtin.c, Src/exec.c,
+	Src/options.c, Src/zsh.h: add option EVAL_LINENO <Z> which
+	issues separate line numbers inside eval's, as at present.
+	Without it, the line from the surrounding environment is
+	reported.
 
-	* Src/builtin.c: empty cd caused a coredump
+2004-09-02  Peter Stephenson  <pws@csr.com>
 
-	* Doc/Makefile.in: texi -> dvi suffix rule added
+	* 20303: Src/Zle/zle_thingy.c, Doc/Zsh/zle.yo: Make test for
+	zle -I more consistent with other uses of zle. Make zle widgets
+	runnable inside traps.
 
-	* Doc/Zsh/redirect.yo: fix a typo.  From Zefram (2685)
+	* 20300: Src/Zle/zle_main.c: typing ^D to list completions,
+	then two ^C's caused a spurious EOF.
 
-	* Doc/Zsh/expn.yo, Doc/Zsh/grammar.yo: brace related bugfixes
+2004-08-24  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Doc/Makefile.in, Doc/Zsh/arith.yo, Doc/Zsh/builtins.yo,
-	  Doc/Zsh/compat.yo, Doc/Zsh/compctl.yo, Doc/Zsh/cond.yo,
-	  Doc/Zsh/exec.yo, Doc/Zsh/expn.yo, Doc/Zsh/filelist.yo,
-	  Doc/Zsh/files.yo, Doc/Zsh/func.yo, Doc/Zsh/grammar.yo,
-	  Doc/Zsh/guide.yo, Doc/Zsh/index.yo, Doc/Zsh/intro.yo,
-	  Doc/Zsh/invoke.yo, Doc/Zsh/jobs.yo, Doc/Zsh/options.yo,
-	  Doc/Zsh/params.yo, Doc/Zsh/prompt.yo, Doc/Zsh/redirect.yo,
-	  Doc/Zsh/seealso.yo, Doc/Zsh/zle.yo, Doc/paths.yo.in,
-	  Doc/zmacros.yo, Doc/zman.yo, Doc/zsh.yo, Doc/zshbuiltins.yo,
-	  Doc/zshcompctl.yo, Doc/zshexpn.yo, Doc/zshmisc.yo,
-	  Doc/zshoptions.yo, Doc/zshparam.yo, Doc/zshzle.yo, Doc/ztexi.yo:
-	  documentation rewritten into yodl format by Zefram.
+	* 20283: Completion/Unix/Command/_ant: Improved the parsing
+	of the <target...> tag as suggested by Jean-Baptiste Quenot.
 
-Tue Jan  7 23:10:24 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-08-23  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/params.c, Src/builtin.c, Src/exec.c: print error when
-	  changing read-only variables, prevent core dump when assigning
-	  an array to read-only scalar and some other fixes
+	* 20282: Src/Zle/zle_hist.c: fixed a problem with a negative
+	NUMERIC causing wrong movement in combo zle commands such as
+	up-/down-line-or-history and up-/down-line-or-search.
 
-	* Src/Zle/zle_tricky.c: compctl -S bugfix
+2004-08-18  Wayne Davison  <wayned@users.sourceforge.net>
 
-Mon Jan  6 20:43:36 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20269, 20270: Completion/Unix/Command/_make: Don't output the
+	make targets all clumped into a single string when useperl is
+	enabled.  Don't output a bogus target for a "VAR := VAL" line.
 
-	* Src/exec.c, acconfig.h, config.h.in, configure, configure.in:
-	  better /dev/fd filesystem check
+2004-08-16  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/Makefile.in, Src/Zle/zle.h, Src/Zle/zle_tricky.c: make
-	  dependency cleanups
+	* unposted: rename version to 4.2.1-dev-1 so as to avoid
+	confusion with the released version.
 
-	* Src/Zle/Makefile.in, Src/Zle/zle.h, Src/Zle/zle_keymap.c,
-	  Src/Zle/zle_things.sed: autogenerate the enum of z_* and t_*
-	  macros.  From Zefram (2731)
+	* unposted: update Etc/FAQ.yo as already sent to ftp.zsh.org
 
-	* Src/Zle/zle.h, Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c,
-	  Src/Zle/zle_keymap.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_move.c, Src/Zle/zle_utils.c, Src/Zle/zle_vi.c: zle
-	  prefix commands rewrite from Zefram (2722)
+	* 20258: Doc/Zsh/options.yo, Src/prompt.c: save command status
+	as well as error flag when performing substitutions in prompts.
 
-	* Src/Zle/zle.h, Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c:
-	  history-search-*ward serch for complete words.  From Zefram
-	  (2721, 2730)
+	* 20251: Src/math.c, Src/utils.c: Warn when an integer converted
+	from a string is too long and truncate it rather than let it
+	overflow.
 
-	* Doc/zsh.texi, Doc/zshbuiltins.man, Src/Zle/zle_keymap.c,
-	  Src/Zle/zle_main.c: remove bindkey -u -U options.  From Zefram
-	  (2711)
+2004-08-13  Clint Adams  <clint@zsh.org>
 
-	* Src/Zle/Makefile.in, Src/Zle/deltochar.c, Src/Zle/zle.h,
-	  Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c,
-	  Src/Zle/zle_keymap.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_thingy.c, Src/Zle/zle_tricky.c, Src/Zle/zle_vi.c,
-	  Src/mods.conf: first zle extendability patch from Zefram (2710)
+	* unposted: config.guess, config.sub: update to 2004-07-19 and
+	2004-06-24, respectively.
 
-Sun Jan  5 23:33:32 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-08-13  Peter Stephenson  <pws@csr.com>
 
-	* Src/builtin.c, Src/exec.c: do builtin autoloading in execcmd and
-	  do not ignore BINF_PSPECIAL and BINF_MAGICEQUALS flags for the
-	  builtin being loaded
+	* unposted: Version 4.2.1.
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in,
-	  Src/builtin.c, Src/prototypes.h, Src/rlimits.c, Src/utils.c:
-	  move limit/ulimit/unlimit builtins to rlimits.c
+2004-08-11  Oliver Kiddle  <opk@zsh.org>
 
-	* Src/builtin.c, Src/system.h, Src/utils.c, acconfig.h,
-	  config.h.in, configure, configure.in: checks for quad_t and
-	  unsigned resource types
+	* 20254: Completion/Base/Core/_tags: restrict the scope of the
+	default tag-order to fix a problem with cdrecord completion
 
-	* Src/Modules/example.c, Src/Modules/files.c: the copyright notice
-	  was different from the rest of the code
+2004-08-10  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/jobs.c: set_clktck() function added
+	* 20244: Functions/Misc/zed: fix bug with editing of autoloaded
+	functions (introduced by 20089).
 
-	* Src/compat.c, Src/Modules/files.c, Src/builtin.c, Src/utils.c,
-	  Src/zsh.h: safe rm and cd which do not follow any symlinks
+2004-08-07  Oliver Kiddle  <opk@zsh.org>
 
-	* Src/builtin.c, Src/rlimits.awk: safe fallback when RLIM_ macros
-	  are not found
+	* 20237: Completion/Unix/Command/_screen: rewrite completion of
+	screen sessions
 
-	* Src/Zle/zle_main.c: EOF ignored in interactive mode when not in
-	  the first line.  From Peter (2713)
+	* 20237: Completion/Unix/Command/_mysql_utils: complete for
+	mysqlimport and update some of the options
 
-Fri Jan  3 02:26:03 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20236: Completion/Base/Completer/_expand: fix problem with
+	keep-prefix style where a modifier changes or removes the prefix
 
-	* Misc/compctl-examples: setopt/unsetopt compctl fixes
+	* 20235: Completion/Unix/Command/_rsync: synched remote file
+	completion with that in _ssh. quoting needed quoting.
 
-	* Src/Zle/comp.h, Src/Zle/comp1.c, Src/Zle/compctl.c,
-	  Src/Zle/zle.h, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/mods.conf, Src/xmods.conf, Src/Zle/Makefile.in: compctl base
-	  module.  compctl no longer depends on zle instead both zle and
-	  compctl depends on this new comp1 module.  From Zefram (2700)
+2004-08-07  Geoff Wing  <gcw@zsh.org>
 
-	* Src/Zle/zle.h, Src/Zle/zle_keymap.c, Src/Zle/zle_main.c,
-	  Src/Zle/zle_refresh.c, Src/Zle/zle_tricky.c,
-	  Src/Zle/zle_utils.c, Src/utils.c: add showmsg() which displays
-	  an arbitrary message below the ZLE buffer and minibuffer.  From
-	  Zefram (2699)
+	* 20196: Src/prompt.c: still allow user specified text modifiers
+	with a short terminal.  Only disallow if the terminal is really
+	unknown or without sufficient capabilities or if SINGLE_LINE_ZLE
+	option is specified
 
-	* Src/Zle/zle_keymap.c, Src/hashtable.c: omit resize option from
-	  emptytable thus make is available as a generic emptytable
-	  method.  From Zefram (2698)
+2004-08-06  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle_utils.c: literal ^ characters were not escaped when
-	  printing key sequences.  From Zefram (2689)
+	* 20232 with typo corrected: Functions/Zftp/zfcd: remove
+	cached directory listing when changing directory.
 
-	* Src/utils.c: finddir() now can cope with arbitrary long
-	  directories.	From Zefram (2688)
+	* unposted: Config/version.mk: version 4.2.1-test-A.
 
-	* Src/prompt.c: my long directories in prompt fix broke prompt
-	  truncation.  From Zefram (2687)
+2004-08-01  Clint Adams  <clint@zsh.org>
 
-Thu Jan  2 20:57:33 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20230: Completion/Debian/Command/_apt: dumb down apt-get
+	install completion and always complete from all available
+	packages.
 
-	* configure, configure.in: alpha-linux defines signals in
-	  <asm/signum.h>.  From David Krinsky <krinsky@hcs.harvard.edu>
-	  (2706)
+	* 20225: Doc/Zsh/mod_clone.yo: add Philippe Troin's explanations
+	of clone usage.
 
-	* Src/Makefile.in: . does not set positional parameters
+2004-07-30  Peter Stephenson  <pws@csr.com>
 
-	* Src/builtin.c, Src/compat.c: zchdir returns -2 when it looses
-	  the current directory.
+	* unposted: minor tidy up for 20219: neaten read-from-minibuffer
+	and make history-pattern-search use last pattern as default.
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in,
-	  Src/Zle/compctl.c, Src/Zle/zle.h, Src/params.c, Src/zsh.h:
-	  header dependencies and inclusions fixes from Zefram (2697)
+	* unposted: README: mention max function depth is on by default
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in,
-	  Src/conf.sed, Src/mkbltnmlst.sh, Src/mkstamp.sh, Src/mods.conf,
-	  Src/xmods.conf: more Makefile fixes from Zefram (2703)
+	* 20222: INSTALL, configure.ac: turn on max function depth by
+	default to avoid crash.
 
-	* Src/Modules/files.c, Src/utils.c: files module rm -r fixes
+2004-07-29  Peter Stephenson  <pws@csr.com>
 
-	* Src/Modules/files.c: make rm -r safe so that it never follows
-	  symlinks.
+	* 20221: Src/exec.c, Src/signals.c, Test/A05execution.ztst:
+	$LINENO in trap '...' DEBUG was wrongly reported as the line
+	in the trap, not in the surrounding code.  Probably broken
+	in all 4.x builds to date.
 
-	* Src/utils.c (lchdir): paranoid chdir which does not follow
-	  symlinks.  From Zefram (2690)
+	* 20219: Doc/Zsh/contrib.yo, Doc/Zsh/zle.yo,
+	Functions/Zle/.distfiles, Functions/Zle/history-pattern-search,
+	Src/Zle/zle_hist.c, Src/Zle/zle_params.c: make zle parameter
+	HISTNO writeable, add history-pattern-search sample to use it.
 
-	* Src/Modules/Makefile.in, Src/Modules/files.c: module with
-	  builtin ln, mkdir, mv, rm, rmdir, sync utilities.  From Zefram
-	  (2621)
+	* 20208: Src/prompt.c, Doc/Zsh/prompt.yo: ternary code character C
+	etc. treat / as path with zero elements.
 
-	* Src/compat.c: do not use lstat if HAVE_LSTAT is not defined
+2004-07-28  Peter Stephenson  <pws@csr.com>
 
-	* Src/conf.sed, Src/mkbltnmlst.sh, Src/mkstamp.sh: move big shell
-	  scripts from the Makefile to separate files.
+	* 20214: Src/parse.c: fix debugging test that didn't work
+	with recursive functions.
 
-Wed Jan  1 20:04:06 1997  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20204: Motoi Washida: Completion/Base/Utils/_retrieve_cache:
+	typo in definition of _cache_dir.
 
-	* Src/options.c: remove union initialisation hacks and use optno
-	  for aliases
+	* 20200: Completion/Unix/Command/_kfmclient,
+	Completion/Unix/Type/_mime_types: fix some points made by Oliver
+	to tidy up.  Also unposted: don't let _kfmclient drop through
+	to `no more arguments' on failed completion.
 
-	* Src/params.c, Src/hashtable.h: remove the struct iparam hack
-	  which assumed that sizeof(long) == sizeof(void*)
+2004-07-26  Peter Stephenson  <pws@csr.com>
 
-	* Src/system.h, configure, configure.in: dgux CLOBBERS_TYPEAHEAD.
-	  From Roderick Schertler <roderick@gate.net> (2623)
+	* 20199: Completion/Unix/Command/_elinks,
+	Completion/Unix/Type/.distfiles, Completion/Unix/Type/_mime_types,
+	Completion/X/Command/.distfiles, Completion/X/Command/_kfmclient,
+	Doc/Zsh/contrib.yo, Functions/MIME/pick-web-browser,
+	Functions/MIME/zsh-mime-setup: add completion for MIME types
+	and kfmclient, use kfmclient to talk to konqueror and
+	improve mime-types and mailcap styles.
 
-Tue Dec 31 02:28:09 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20198: Src/exec.c, Src/signals.c, Test/C03traps.ztst,
+	Test/Makefile.in, Test/ztst.zsh: EXIT traps were freed before
+	being run.  This isn't recommended by most programming text books.
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in:
-	  improve proto dependency rules
+2004-07-25  Bart Schaefer  <schaefer@zsh.org>
 
-	* Doc/zshbuiltins.man, Doc/zshzle.man, Src/Zle/Makefile.in,
-	  Src/Zle/zle.h, Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c,
-	  Src/Zle/zle_keymap.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
-	  Src/Zle/zle_move.c, Src/Zle/zle_utils.c, Src/Zle/zle_vi.c,
-	  Src/hashtable.c, Src/mods.conf, Src/utils.c, Util/reporter:
-	  keymap rewrite from Zefram (2648)
+	* unposted: Doc/Zsh/contrib.yo: documentation for "zargs".
 
-	* Src/Makefile.in: avoid using -nt test operator
+2004-07-23  Oliver Kiddle  <opk@zsh.org>
 
-	* Src/Zle/zle_tricky.c, Src/params.c, Src/utils.c: use
-	  dupstrpfx/ztrduppfx
+	* 20180 (based on Jean-Baptiste Quenot's 20177):
+	Completion/Unix/Command/_killall: fix to work on BSD systems
 
-Mon Dec 30 23:24:46 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* Motoi Washida <a66@h8.dion.ne.jp>: 20179 (tweaked):
+	Completion/Darwin/Type/_mac_applications,
+	Completion/Darwin/Command/_open, Completion/Darwin/Command/_defaults:
+	new completions for Mac OS X
 
-	* Src/Makefile.in, Src/init.c, Src/mods.conf, Src/xmods.conf:
-	  automatic generation of linked-in module boot code and automatic
-	  autoload code.  From Zefram (2647)
+2004-07-19  Oliver Kiddle  <opk@zsh.org>
 
-	* Src/utils.c: dupsctruct/freestruct now work even if sizeof(int)
-	  != sizeof(void*)
+	* Jean-Baptiste Quenot: 20167: Completion/Unix/Command/_ant:
+	find targets enclosed in single instead of double quotes
 
-	* Src/options.c: option initialisation did not work on Alpha
+2004-07-17  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* Src/Makefile.in: some sh's do not like empty for lists
+	* 20173: Src/mem.c: crash when globbing lots of files; need to
+	NULLify fheap optimisation when reallocating a heap.
 
-	* Src/options.c: use short instead of enum
+2004-07-13  Peter Stephenson  <pws@csr.com>
 
-	* Src/globals.h, Src/input.c, Src/lex.c, Src/zsh.h: after alias
-	  foo='echo ' ; alias bar=foo, foo bar should expand to foo echo.
-	  From Peter (2558)
+	* 20153: Src/Zle/zle_main.c: make zle-line-init run after
+	the initial zrefresh() by moving the latter out of zlecore().
+	Needs an extra call in recursiveedit().
 
-	* Src/compat.c: zgetcwd's result should not be freed
+2004-07-12  Peter Stephenson  <pws@csr.com>
 
-	* Src/prompt.c (putpromptchar): handle long pwd
+	* unposted: NEWS: read it through and tidied it up.
+	Also additions from Oliver.
 
-	* Src/builtin.c, Src/compat.c, Src/init.c: zgetcwd's result should
-	  not be freed
+	* 20151: NEWS: notes on (F) and history -p.
 
-	* Src/glob.c: make functions only called from glob.c static.
-	  Rearrange functions so that they are already defined when first
-	  referenced.
+	* unposted: improve 20150 by setting pointer to NULL when
+	freed.
 
-Sun Dec 29 22:34:21 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-07-11  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* Doc/zsh.texi, Doc/zshexpn.man, Doc/zshmisc.man, Src/glob.c,
-	  Src/lex.c: brace related bugfixes
+	* 20150: Src/Zle/compresult.c: repost of ancient attempt
+	to fix memory leak in completion.
 
-	* Src/glob.c, Src/utils.c: fix a buffer overflow bug in parsecomp()
+	* 20149: Doc/Zsh/zle.yo, Src/init.c, Src/input.c, Src/loop.c,
+	Src/zsh.h, Src/Zle/zle_main.c: alter users/7650 so that
+	prompt variable is always reread; fixes bug that if PS1
+	was altered the prompt string was invalid.
 
-	* Src/exec.c, Src/loop.c, Src/parse.c: case argument should not be
-	  globbed
+2004-07-10  Bart Schaefer  <schaefer@zsh.org>
 
-Sat Dec 28 19:55:04 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20145: Doc/Zsh/contrib.yo, Functions/Zle/read-from-minibuffer:
+	second and third arguments of read-from-minibuffer now specify the
+	initial values of LBUFFER and RBUFFER.
 
-	* Src/options.c (optlookup): no prefix was ignored
+2004-07-07  Peter Stephenson  <pws@csr.com>
 
-	* Src/Makefile.in, Src/Modules/example.c, Src/Zle/compctl.c,
-	  Src/Zle/zle_main.c, Src/init.c, Src/module.c, Src/zsh.h:
-	  addbuiltins() and deletebuiltins() functions to add/delete a
-	  group of builtins.  From Zefram (2646)
+	* 20142: Test/A06assign.ztst: add test for bug fixed in
+	20141.
 
-Fri Dec 27 23:33:20 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20141: Src/builtin.c, Src/exec.c, Src/params.c:  Crash
+	after restoring exported special parameters.  The
+	answer was `pm = tpm' at exec.c:2590.
 
-	* Src/Modules/example.c, Src/Zle/compctl.c, Src/Zle/zle_main.c,
-	  Src/init.c, Src/module.c: addbuiltin can now set all members of
-	  the builtin structure.  From Zefram (2643)
+2004-07-02  Peter Stephenson  <pws@csr.com>
 
-	* Src/options.c: set ALWAYSLASTPROMPT, APPENDHISTORY, AUTOLIST,
-	  AUTOMENU, AUTOPARAMKEYS, AUTOPARAMSLASH, AUTOREMOVESLASH,
-	  LISTAMBIGUOUS, LISTTYPES options by default
+	* 20127: Doc/Zsh/zle.yo, Src/Zle/zle_main.c,
+	Src/Zle/zle_refresh.c: slightly tweaked version of Wayne's
+	patch in users/7652 which only reexpands the prompt when
+	the commandline was trashed by output.
 
-	* Src/main.c, Src/options.c, Src/zsh.h: use the hastable functions
-	  for optiontab instead of the optns array.
+	* 20126, with modifications: .distfiles, ChangeLog-3.1,
+	ChangeLog-4.1, ChangeLog.3.0, FEATURES, INSTALL, MACHINES,
+	NEWS, README, Etc/.distfiles, Etc/ChangeLog-3.1,
+	Etc/ChangeLog-4.1, Etc/FAQ.yo, Etc/FEATURES, Etc/MACHINES,
+	Etc/NEWS, Test/.distfiles, Etc/ChangeLog-3.0: tidy up
+	ready for 4.2.1
 
-	* Src/exec.c: minor noclobber changes
+	* 20125: Doc/Zsh/jobs.yo: say where the output for job
+	notifications goes.
 
-Thu Dec 26 22:43:13 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-07-01  Peter Stephenson  <pws@csr.com>
 
-	* Src/exec.c, Src/hist.c, Src/lex.c, Src/mem.c, Src/params.c,
-	  Src/subst.c, Src/text.c, Src/utils.c: all "can't happen"
-	  messages start with a BUG: From Zefram (2633)
+	* users/7650: Doc/Zsh/zle.yo, Src/Zle/iwidgets.list,
+	Src/Zle/zle_main.c: new zle widget prompt-reset redisplays screen
+	with prompt updated.
 
-	* Src/Makefile.in: better rules for version changes
+2004-06-30  Peter Stephenson  <pws@csr.com>
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in:
-	  some Makefile cleanups
+	* 20118: Doc/Zsh/builtins.yo, Src/Builtins/rlimits.c:
+	Attempt to handle unknown limits by number.  Also improve
+	output and collect common code.
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in,
-	  configure, configure.in: use ..o suffix for module objects.
-	  From Zefram (2632)
+2004-06-28  Peter Stephenson  <pws@csr.com>
 
-	* Src/Makefile.in, Src/init.c, Src/zsh.h: only init.o depends on
-	  zshxmods.h.  From Zefram (2631)
+	* 20112, changed as per 20113: Src/exec.c, Src/parse.c,
+	Src/subst.c, Doc/Zsh/redirect.yo, Test/A04redirect.yo:
+	Fix here-strings to do standard single-word expansion (which
+	was always intended but was partially broken), and also
+	attempt to parse the end string for here-documents in
+	a more standard fashion.
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in:
-	  some hacks to get parallel make work.	 From Zefram (2630)
+2004-06-26  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* Src/Zle/zle.h, Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c,
-	  Src/Zle/zle_main.c, Src/Zle/zle_misc.c, Src/Zle/zle_move.c,
-	  Src/Zle/zle_refresh.c, Src/Zle/zle_tricky.c,
-	  Src/Zle/zle_utils.c, Src/Zle/zle_vi.c, Src/Zle/zle_word.c,
-	  Src/globals.h, Src/init.c, Src/module.c, Src/zsh.h: zle module
-	  autoloading interface cleanup from Zefram (2627)
+	* unposted: Functions/Zle/.distfiles: add zed-set-file-name.
 
-	* Src/Zle/compctl.c, Src/Zle/zle_main.c: remove unnecessary
-	  contitional code for printcompctlp.  From Zefram (2629)
+2004-06-24  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/module.c: print error message when module's boot/cleanup
-	  function not found.  From Zefram (2628)
+	* unposted (see 20092): Completion/Zsh/Context/_condition: fix
+	typos in descriptions.
 
-	* Src/module.c: zmodload -L did not handle module names starting
-	  with `-'. From Zefram (2626)
+2004-06-23  Peter Stephenson  <pws@csr.com>
 
-	* Doc/zshbuiltins.man, Src/hashtable.h, Src/module.c,
-	  Util/reporter: zmodload -a lists builtins declared for
-	  autoloading. -L prints everything in sourcable format.  From
-	  Zefram (2620)
+	* 20089: Doc/Zsh/contrib.yo, Functions/Misc/zed,
+	Functions/Zle/zed-set-file-name: various zed enhancements.
 
-	* Src/Zle/zle_main.c, Src/hashtable.c, Src/options.c,
-	  Src/params.c, Src/zsh.h: Make ZSH_HASH_DEBUG less visible.  From
-	  Zefram (2619)
+2004-06-22  Clint Adams  <clint@zsh.org>
 
-	* Src/builtin.c, Src/compat.c, Src/utils.c: handle arbitrary long
-	  pathnames in pwd
+	* 20091: Src/Modules/pcre.c: silence gcc "unused parameter" warnings.
 
-Wed Dec 25 16:04:45 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-06-22  Peter Stephenson  <pws@csr.com>
 
-	* Doc/zsh.texi, Doc/zshoptions.man, Src/Makefile.in,
-	  Src/Zle/zle_tricky.c, Src/builtin.c, Src/glob.c, Src/globals.h,
-	  Src/init.c, Src/main.c, Src/params.c, Src/prototypes.h,
-	  Src/utils.c, Src/zsh.h, Src/options.c: New hash table for
-	  options, option aliases.  From Zefram (2612)
+	* 20076, 20084: Doc/Zsh/grammar.yo, Doc/Zsh/params.yo, Src/exec.c,
+	Src/loop.c, Src/params.c, Src/parse.c, Src/prompt.c, Src/text.c,
+	Src/zsh.h, Test/A01grammar.ztst: { ... } always { ... } syntax
+	for making sure tidy-up code is run.
 
-Tue Dec 24 02:25:20 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-06-21  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/Zle/zle_tricky.c, Src/glob.c, Src/hashtable.c, Src/utils.c:
-	  move . and .. special case handling into zreaddir().	From
-	  Zefram (2617)
+	* unposted: Doc/Zsh/zle.yo: copy-prev-shell-word has no default
+	bindings, so it shouldn't claim those of copy-prev-word.
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in:
-	  parallel make support gone again as it always rebuilt everything
+	* 19785 (cont'd): Doc/zsh/builtins.yo, Doc/zsh/compsys.yo:
+	Previously uncommitted documentation changes (Oliver).
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Zle/Makefile.in:
-	  More Makefile cleanups.  Parallel make now runs fine
+	* users/7267: Functions/Zle/predict-on: Minor update to cooperate
+	with zle-line-init.
 
-	* Src/Zle/zle.h, Src/Zle/zle_main.c, Src/globals.h, Src/init.c,
-	  Src/main.c, Src/module.c, Src/zsh.h, Src/Makefile.in,
-	  Src/Modules/Makefile.in, Src/Zle/Makefile.in: module makefile
-	  improvements, better support for builtin modules.  From Zefram
-	  (2611)
+2004-06-19  Clint Adams  <clint@zsh.org>
 
-Sat Dec 21 02:00:12 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20081: Doc/Zsh/mod_pcre.yo: document -pcre-match condition.
 
-	* Src/version.h: zsh-3.1.0 released
+2004-06-18  Oliver Kiddle  <opk@zsh.org>
 
-	* Makefile.in: modifications for the beta series
+	* 20077: Completion/Zsh/Command/_disable,
+	Completion/Zsh/Command/_enable: fix completion of reserved words
 
-	* Src/Zle/zle_main.c, Src/globals.h, Src/hist.c, Src/module.c,
- 	  Src/zsh.h: changes to allow compilation on SunOS 4 with K&R
- 	  compiler
+2004-06-18  Peter Stephenson  <pws@csr.com>
 
-	* Doc/zsh.texi, Doc/zshbuiltins.man, Src/builtin.c, Src/hashtable.h:
-	  pwd now accepts -L and -P to be compatible with bash and ksh
+	* 20033: Completion/Base/Utility/_arguments: unconfirmed fix
+	for configure output parsing with square brackets.
 
-	* configure, configure.in: SunOS 4 shared libraries do not work
- 	  when they are stripped
+2004-06-17  Oliver Kiddle  <opk@zsh.org>
 
-Thu Dec 19 21:27:17 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20069: Completion/Unix/Command/_iconv: complete character
+	encodings case-insensitively for GNU iconv
 
-	* Src/init.c: work around a bug in NeXTStep 3.2 which caused slow
- 	  refresh
+	* 20059: Completion/Unix/Command/_chown: check for systems
+	using . separator instead of for those using :
 
-	* Etc/FAQ: FAQ from Peter: Id: zsh.FAQ,v 2.22 1996/12/19 09:52:11
- 	  pws Exp
+2004-06-16  Oliver Kiddle  <opk@zsh.org>
 
-Wed Dec 18 23:51:24 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* users/7553: Completion/compdump, Completion/compinit:
+	include zsh version in dump file to avoid problems with upgrades
 
-	* Doc/zsh.texi, Etc/FAQ, META-FAQ: ftp.prz.tu-berlin.de no longer
- 	  mirrors zsh, uiarchive.uiuc.edu name correction
+2004-06-15  Clint Adams  <clint@zsh.org>
 
-Tue Dec 17 20:08:58 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20055: Completion/Unix/Command/_tla: additions and fixes
+	from Jason McCarty.
 
-	* Src/params.c: remove some compiler varnings
+2004-06-09  Peter Stephenson  <pws@csr.com>
 
-	* Src/Makefile.in: rlimits.h depends on rlimits.awk.  Cosmetic
- 	  changes.  From Zefram (2589)
+	* c.f. 20034: Test/V03mathfunc.ztst: tests for the zsh/mathfunc
+	module.
 
-Mon Dec 16 03:33:12 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-06-08  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* README: unknown limits should no longer be a problem
+	* 20029: Src/Modules/mathfunc.c: rand48(seed) stopped being
+	random after the second call.
 
-	* Src/glob.c: toggles were not reset after a comma in a glob
- 	  qualifier list (e.g. *(@-.,/))
+2004-06-08  Peter Stephenson  <pws@csr.com>
 
-	* Src/builtin.c: fg %% failed and disabled job control sometimes
- 	  when there were no current job
+	* Philippe Troin: 20026: INSTALL: nit-pick.
 
-Sun Dec 15 01:07:40 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* Philippe Troin, 19996, plus 20025: configure.ac, INSTALL: add
+	configure option --with-tcsetpgrp.
 
-	* README: beta warning
+	* 20024: Doc/Zsh/func.yo: Improve documentation for TRAPNAL
+	functions.
 
-	* Misc/compctl-examples: compctl for zmodload
+2004-06-03  Felix Rosencrantz <f_rosencrantz@yahoo.com>
 
-Sat Dec 14 22:50:00 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 20002: Src/Zle/compmatch.c: Fix a problem with an inconsistent
+	struct change in cmp_anchors().
 
-	* Src/Zle/zle_main.c: Remove unnecessary prefix delay in zle.
-  	  From Zefram (2583)
+2004-06-03  Peter Stephenson  <pws@csr.com>
 
-	* Src/exec.c (execcmd): builtin < / > / closed stdin
+	* 20017: Doc/.distfiles: add zsh.html to doc distribution.
 
-	* configure, Src/Makefile.in, Src/builtin.c, Src/rlimits.awk,
- 	  configure.in: awk generated rlimits from Peter (2573)
+	* users/7467: Completion/Base/Core/_dispatch: quoted commands
+	weren't found in dispatcher lookup.
 
-	* config.guess, config.sub, configure, configure.in: upgrade to
- 	  autoconf-2.12.  Linux machines are still recognized without the
- 	  -gnu suffix
+2004-06-02  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* configure, configure.in: working fifos should be tested in /tmp
+	* unposted: builtin.c, exec.c, glob.c, hashtable.c, hist.c, init.c,
+	jobs.c, loop.c, mem.c, module.c, options.c, params.c, parse.c,
+	subst.c, system.h, utils.c, watch.c, Builtins/rlimits.c,
+	Builtins/sched.c, Modules/cap.c, Modules/clone.c,
+	Modules/datetime.c, Modules/example.c, Modules/files.c,
+	Modules/langinfo.c, Modules/mapfile.c, Modules/mathfunc.c,
+	Modules/parameter.c, Modules/socket.c, Modules/stat.c,
+	Modules/system.c, Modules/tcp.c, Modules/termcap.c,
+	Modules/terminfo.c, Modules/zftp.c, Modules/zprof.c,
+	Modules/zpty.c, Modules/zselect.c, Modules/zutil.c, Zle/compcore.c,
+	Zle/compctl.c, Zle/complete.c, Zle/complist.c, Zle/compresult.c,
+	Zle/computil.c, Zle/deltochar.c, Zle/zle_hist.c, Zle/zle_keymap.c,
+	Zle/zle_main.c, Zle/zle_misc.c, Zle/zle_move.c, Zle/zle_params.c,
+	Zle/zle_refresh.c, Zle/zle_thingy.c, Zle/zle_tricky.c,
+	Zle/zle_utils.c, Zle/zle_vi.c, Zle/zle_word.c, Zle/zleparameter.c:
+	Silenced unused-parameter compiler warnings.
 
-Wed Dec 11 02:30:39 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-05-28  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/Zle/zle_tricky.c, Src/builtin.c, Src/exec.c, Src/globals.h,
- 	  Src/hist.c, Src/init.c, Src/input.c, Src/lex.c, Src/zsh.h:
- 	  remove the alias stack and fix several related bugs. From Peter
- 	  (2548, 2551)
+	* 19980: Src/glob.c, Src/hashtable.c, Src/jobs.c, Src/loop.c,
+	Src/params.c, Src/parse.c, Src/pattern.c, Src/Modules/datetime.c,
+	Src/prompt.c, Src/subst.c, Src/utils.c, Src/Modules/zftp.c,
+	Src/Zle/compcore.c, Src/Zle/compctl.c, Src/Zle/complete.c,
+	Src/Zle/computil.c, Src/Zle/zle_hist.c, Src/Zle/zle_refresh.c,
+	Src/Zle/zle_tricky.c:  Fixed some compiler warnings that gcc
+	outputs with -W.
 
-	* Doc/zsh.texi, META-FAQ: ftp mirror site changes
+2004-05-28  Clint Adams  <clint@zsh.org>
 
-	* Src/params.c: use the heap in getstrvalue()
+	* 19991: Completion/Unix/Command/_lynx: complete .htm files
+	too.
 
-Tue Dec 10 02:27:35 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-05-25  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle_refresh.c: single line zle refresh bugfix from Geoff
- 	  (2549)
+	* 19976: Src/exec.c, Src/jobs.c: `job table full' messages
+	spotted by many people were traced by Wayne to thisjob
+	being -1, which wasn't handled in a test no one understands
+	anyway.
 
-	* Src/subst.c: ${(l:4:)foo} stopped working between 3.0.0 and 3.0.1
+	* Compiled by Thorsten Kampe in zsh-users/7474:
+	Doc/Zsh/options.yo: reorder option descriptions into subheadings.
 
-	* Src/math.c: $((#\c)) character code expansion did not work when
- 	  c was a metafied
+2004-05-21  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/params.c: $foo[i] did not work when foo[i] was a metafied
- 	  character
+	* 19967+: Src/builtin.c, Src/hist.c Src/params.c,
+	Doc/Zsh/builtins.yo, Functions/Misc/zcalc: added a -a
+	option to `fc -p' to enable automatic popping of the
+	pushed history list on function exit.  Updated zcalc.
 
-	* Src/builtin.c: use the heap in zexit()
+2004-05-21  Peter Stephenson  <pws@csr.com>
 
-Sun Dec  8 21:32:06 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19971: Src/exec.c, Src/params.c: use putenv to put "_"
+	into exec'd environment, avoiding horrific hack.
 
-	* Src/utils.c, Doc/zshbuiltins.man, Src/hashtable.h, Src/module.c:
- 	  zmodload can be used to define atoloaded builtins and module
- 	  dependencies
+2004-05-20  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Doc/zsh.texi, Doc/zshoptions.man: options documentation
- 	  improvements from Zefram (2529)
+	* 19962: Src/builtin.c, Src/hist.c, Doc/Zsh/builtins.yo,
+	Functions/Misc/zcalc: added the ability to push/pop the history
+	list via the new -p/-P options to fc.  Used this in zcalc to
+	make the switch to zcalc's private history-list very smooth.
 
-	* Src/globals.h, Src/hist.c, Src/zsh.h: HIST_REDUCE_BLANKS from
- 	  Wayne (2446)
+2004-05-19  Peter Stephenson  <pws@csr.com>
 
-	* Etc/FEATURES, Etc/NEWS: news in zsh-3.1
+	* unposted: Completion/Unix/Command/_perforce: tweak
+	to allow changes and revisions with >, <, = qualifiers.
 
-	* Src/hashtable.h: security: do not import MODULE_PATH
+2004-05-13  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* Src/input.c: no further input should be attempted when lexstop
- 	  is true (e.g. after eof).
+	* 19941: Src/math.c, Test/C01arith.ztst: (( x, )) triggered
+	an internal bug instead of reporting an error.
 
-	* Src/Makefile.in: make tags fix
+2004-05-13  Peter Stephenson  <pws@csr.com>
 
-	* Misc/compctl-examples: MH compctl changes from Peter (2535)
+	* 19936: Functions/Misc/zcalc: bad name for temporary history
+	file invites clashes.
 
-	* Src/Zle/zle_tricky.c, Src/glob.c, Src/hashtable.c, Src/utils.c:
- 	  unmetafy did not put a null terminator to the end of the string.
-  	  zreaddir discarded the metafied filename.  readdir was used
- 	  instead of zreaddir in zle_tricky.c.  From Zefram (2533)
+2004-05-12  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle_vi.c: vi-replace-chars now emulates better the real
- 	  vi.  From Zefram (2496)
+	* 19920 modified c.f. 19921: Src/mem.c: attempt to improve
+	behaviour of hrealloc, particularly when using mmap().
 
-	* Src/jobs.c: CLK_TCK is 60 on NeXT not 64 as defined in the
- 	  system headers.  From Robert F Tobler
- 	  <rft@raven.cg.tuwien.ac.at> (2522)
+2004-05-11  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/input.c, Src/zsh.h: alias foo='a=b foo' ; foo caused an
- 	  infinite loop.  From Peter (2515)
+	* 19893 (plus one extra tweak): Src/hist.c: Fix the
+	potential for an infinite loop in lockhistfile().
 
-	* Src/builtin.c, Src/zsh.h: put hash tables to a linked list when
- 	  hash-debug is enabled and move the simplified bin_hashinfo into
- 	  hashtable.c.  From Zefram (2509)
+2004-05-05  Wayne Davison  <wayned@users.sourceforge.net>
 
-	* Src/builtin.c, Src/Zle/compctl.c: more bad option fixes. Make
- 	  the getopts builtin 8-bit clean.  From Zefram (2508)
+	* 19878: Src/utils.c: a single-character change fixes the
+	new strftime() return-check idiom.
 
-	* Src/builtin.c: show metafied characters correctly in bad option
- 	  errors.  From Zefram (2497)
+2004-05-04  Peter Stephenson  <pws@csr.com>
 
-Thu Dec  5 03:59:45 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19877: Src/prompt.c, Src/utils.c, Src/Modules/datetime.c:
+	Improve 19869: remove infinite loop and attempt to test
+	for whether strftime() encountered an error.
 
-	* Src/Makefile.in, Src/Modules/Makefile.in, Src/Modules/example.c,
- 	  Src/Zle/Makefile.in, Src/Zle/deltochar.c, Src/Zle/zle.h,
- 	  Src/Zle/zle_bindings.c, Src/Zle/zle_hist.c, Src/Zle/zle_main.c,
- 	  Src/Zle/zle_misc.c, Src/Zle/zle_move.c, Src/Zle/zle_refresh.c,
- 	  Src/Zle/zle_tricky.c, Src/Zle/zle_utils.c, Src/Zle/zle_vi.c,
- 	  Src/Zle/zle_word.c, Src/builtin.c, Src/globals.h,
- 	  Src/hashtable.c, Src/hashtable.h, Src/init.c, Src/input.c,
- 	  Src/loop.c, Src/main.c, Src/module.c, Src/modules-bltin,
- 	  Src/prompt.c, Src/prototypes.h, Src/utils.c, Src/zsh.h,
- 	  configure, configure.in: Move zle into a separate directory and
- 	  convert it to an optional auto-loadable module.  Create Modules
- 	  subdirectory.  Many Makefile changes.  boot_modname and
- 	  cleanup_modname is back since on elf all module use one common
- 	  name space.  Lots of other changes.
+2004-05-04  Clint Adams  <clint@zsh.org>
 
-Wed Nov 27 03:20:53 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19869: Src/prompt.c, Src/utils.c: avoid segfault when
+	prompt-expanding '%D{%p}' or '%D{%P}' under locales with null
+	strings for am_pm.
 
-	* Src/Zle/zle_main.c, Src/Zle/zle_vi.c: ANSI was broken and fixed
- 	  again in zle_main.c ESC in vi command mode caused SEGV.  From
- 	  Zefram (2479)
+2004-05-02  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* configure, configure.in: -pedantic is used with
- 	  --enable-zsh-debug.  Link non-debugged zsh with -s.  From Zefram
- 	  (2479)
+	* 19858: Doc/Zsh/options.yo, Src/jobs.c, Src/options.c,
+	Src/signals.c, Src/signals.h: TRAPS_ASYNC option done properly,
+	not blocking signals during sigsuspend to wait for children.
 
-Tue Nov 26 02:45:15 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-05-01  Clint Adams  <clint@zsh.org>
 
-	* Src/exec.c: the STTY parameter did not work well when pipes were
- 	  used.  From Peter (2474)
+	* 19863: Completion/Zsh/Type/_command_names, Doc/Zsh/compsys.yo:
+	allow search path for command names to be overridden by means of new
+	command-path style.
 
-	* Src/Zle/zle_main.c: little fix for the bindkey patch from Peter
- 	  (2470)
+2004-04-28  Clint Adams  <clint@zsh.org>
 
-	* Doc/zshbuiltins.man, Src/Zle/zle.h, Src/Zle/zle_bindings.c,
- 	  Src/Zle/zle_hist.c, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
- 	  Src/Zle/zle_tricky.c, Src/Zle/zle_vi.c, Src/builtin.c,
- 	  Src/globals.h, Src/hashtable.c, Src/init.c: big multi-character
- 	  key bindings fix from Zefram (2464)
+	* 19845: Completion/Debian/Command/_apt-move: apt-move
+	completion function from Steven Kowalik.
 
-	* Doc/zshbuiltins.man, Src/hashtable.h, Src/module.c, Src/zsh.h:
- 	  The -f option of zmodload is removed.  Improved zmodload
- 	  documentation.
+2004-04-27  Peter Stephenson  <pws@csr.com>
 
-	* Src/hashtable.h, Doc/zshbuiltins.man, Src/module.c: zmodload
- 	  with -i will not complain and will succeed without doing
- 	  anything if an already loaded module is loaded or a non-loaded
- 	  module is unloaded.  From Zefram (2463)
+	* 19839 (plus suggestion from 19842):
+	Completion/Unix/Type/_path_files: handle existing (#q)'s
+	in qualifiers when adding sort options and adding back
+	qualifiers from command line.
 
-	* Doc/Makefile.in, Doc/zshbuiltins.man, Doc/zshparam.man: zmodload
- 	  documentation.  It only appears in the final manual if dynamic
- 	  modules are enabled.  Note that the texinfo documentation is
- 	  still missing.  From Zefram (2460)
+	* 19840: Src/Zle/zle_main.c: also, vared now only takes
+	one normal argument.
 
-	* Etc/FAQ: FAQ from Peter: Id: zsh.FAQ,v 2.21 1996/11/25 09:13:28
- 	  pws Exp
+	* 19837: Src/Zle/zle_main.c: fix 19733 which accidentally
+	removed the -e option to vared.
 
-Mon Nov 25 02:39:08 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-04-26  Doug Kearns  <djkea2@mugca.its.monash.edu.au>
 
-	* Src/module.c: try to load the modules with .DL_EXT appended
- 	  first.  Honor PATH_DIRS when loading a module.
+	* unposted: Completion/Unix/Command/_aap: short and long options
+	are mutually exclusive
 
-	* Src/Makefile.in: handle force ruleas as in the top-level Makefile
+2004-04-23  Peter Stephenson  <pws@csr.com>
 
-	* Makefile.in, Src/Makefile.in, Src/init.c: module install added,
- 	  default module_path is $(libdir)/zsh/$(VERSION).  From Zefram
- 	  (2458 and 2465 with modifications)
+	* 19825: Completion/Unix/Command/_perforce: suggested by Michael
+	Denio: add `changes' style to allow limitting list of changes
+	offered for completion.
 
-	* Src/Makefile.in: optimized and made more silent
+	* 19810: Src/exec.c: avoid setting flag on Eprog which may
+	no longer be valid.  Had no feedback, so don't know if
+	it helps, but at worst harmless.
 
-	* Src/Makefile.in, Src/Modules/example.c, Src/Zle/deltochar.c,
- 	  Src/init.c, Src/main.c, Src/module.c: modules can now statically
- 	  compiled into zsh.  From Zefram (2455)
+	* 19812: Src/builtin.c: avoid race with autoloaded trap functions.
+	However, I think these still need substantial improvement.
 
-Sun Nov 24 22:44:12 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-04-21  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle_move.c: vi-goto-mark fix from Thorsten
+	* 19809: Src/jobs.c, Src/signals.c, Src/signals.h: improve
+	zsh-users/7365 by only queuing traps when TRAPS_ASYNC is set.
+	This avoids any nasty races, including one reported by Vincent
+	Stemen.
 
-	* Src/utils.c: dupnode mergerd into the simplified dupstruct2,
- 	  freetreenode merged into the simplified freestruct
+2004-04-21  Oliver Kiddle  <opk@zsh.org>
 
-	* Src/globals.h, Src/text.c, Doc/zsh.texi, Doc/zshmisc.man,
- 	  Src/lex.c, Src/loop.c, Src/parse.c, Src/utils.c, Src/zsh.h: for
- 	  ((expr; expr; expr)) command added
+	* 19806: Src/prompt.c: fix bug with %v expansion and negative index
 
-Sat Nov 23 23:34:58 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-04-20  Peter Stephenson  <pws@csr.com>
 
-	* Src/exec.c:
-	  ((...)) substituted the expression twice and coredumped on (())
+	* 19801: Src/builtin.c: Autoloading of TRAP functions was never
+	implemented.
 
-	* Doc/zsh.texi, Doc/zshcompctl.man: compctl -e clarification from
- 	  Peter (2453)
+2004-04-20  Oliver Kiddle  <opk@zsh.org>
 
-	* Src/hist.c (hend): minor cleanup from Wayne (2447)
+	* 19767, 19785: Src/builtin.c, Src/exec.c, Src/hashtable.c,
+	Src/zsh.h, Completion/compinit, Completion/compdump,
+	Completion/compinstall, Completion/bashcompinit,
+	Completion/Base/Widget/_next_tags, Completion/Zsh/Type/_functions,
+	Completion/Zsh/Command/_typeset, Doc/Zsh/builtins.yo:
+	store flags for -z and -k options to autoload allowing the
+	completion system to be used with ksh_autoload set
 
-	* Doc/zsh.texi, Doc/zshzle.man, Src/Zle/zle_hist.c:
- 	  insert-last-word with numeric arguments inserts the given word
- 	  from the previous history event.  From Bart (2445),
- 	  documentation by me.
+	* 19800: Test/B02typeset.ztst: reverse sense of `declare +m' test
 
-	* Src/subst.c, acconfig.h, config.h.in, configure, configure.in:
- 	  added configure check for variable-length automatic arrays
+2004-04-19  Clint Adams  <clint@zsh.org>
 
-Wed Nov 20 00:58:06 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19798: Completion/Unix/Command/.distfiles,
+	Completion/Unix/Command/_bogofilter: rudimentary completion for
+	bogoutil.
 
-	* Src/utils.c: The spell checker always tries to fix as many
- 	  leading directory compontents as possible.  From Bart (2429)
+2004-04-19  Peter Stephenson  <pws@csr.com>
 
-	* Src/Zle/zle.h, Src/Zle/zle_main.c, Src/Zle/zle_misc.c,
- 	  Src/Zle/zle_tricky.c, Src/Zle/zle_vi.c: the source was not ANSI
- 	  C compatible.  From Thorsten Meinecke <kaefer@aglaia.aball.DE>
+	* zsh-users/7365: Doc/Zsh/options.yo, Src/jobs.c, Src/options.c,
+	Src/signals.c, Src/zsh.h, plus unposted Etc/NEWS hunk: new option
+	TRAPS_ASYNC, turn off to stop traps being run while waiting
+	for a child process.
 
-	* Src/Zle/zle_tricky.c: my spell-word fix used an uninitialised
- 	  pointer.  Fix from Bart (2428)
+2004-04-18  Clint Adams  <clint@zsh.org>
 
-Sun Nov 17 21:21:22 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19792: Completion/X/Command/_mplayer: complete .m2v and .m2p,
+	thanks to Rene H. Larsen.
 
-	* Src/Makefile.in: fix the .SUFFIXES list
+2004-04-17  Oliver Kiddle  <opk@zsh.org>
 
-	* Src/module.c: do not call dlclose() if cleanup_module failed
- 	  (returned nonzero)
+	* 19790: Completion/Zsh/Command/_zcompile: complete functions
+	after -a and allow multiple -z/-k options
 
-	* Src/Makefile.in, Src/init.c, Src/main.c, Src/prototypes.h,
- 	  configure, configure.in: try to support dynamic loading on SVR4
- 	  systems
+2004-04-17  Doug Kearns  <djkea2@mugca.its.monash.edu.au>
 
-	* config.h.in: Makefile and configure fixes from Zefram (2416)
+	* 19775: Completion/Unix/Command/_php: new completion for php
+	* unposted: Completion/Unix/Command/_elinks: declare and initialise
+	return value parameter
 
-	* Src/params.c: remove a few memory leaks when initialising the
- 	  parameter table.
+2004-04-15  Peter Stephenson  <pws@csr.com>
 
-	* Src/exec.c, Src/zsh.h: allow arbitrary number of multios.  From
- 	  Zefram (2414)
+	* see 19778 etc.: Doc/Makefile.in: remove change from 19735.
 
-	* Src/exec.c, Src/parse.c, Src/text.c, Src/zsh.h: do not convert
- 	  ((...)) to builtin let internally.
+2004-04-15  Clint Adams  <clint@zsh.org>
 
-Sat Nov 16 23:57:40 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19606: Completion/Unix/Command/_tla: switch tla completion to
+	the version by Jason McCarty, Erik Toubro Nielsen, and Rob Weir.
 
-	* Src/zle_tricky.c: spell-word zle function did not work for word
- 	  beginning with a tilde
+2004-04-14  Clint Adams  <clint@zsh.org>
 
-	* Src/hist.c: histignoredups ignores insignificant whitespace
- 	  changes.  From Peter (1949)
+	* Jay Berkenbilt: 19769: Completion/Unix/Command/_rsync:
+	fix quoting for remote file completion, add -L to ls command.
 
-	* Src/zle_main.c: execute-last-named-cmd may point to an already
- 	  removed zle function after a zle module is deleted.  From Zefram
- 	  (2418)
+2004-04-14  Oliver Kiddle  <opk@zsh.org>
 
-	* Doc/Makefile.in: give some explanation if the user compiling zsh
- 	  has no makeinfo
+	* Ingo Rohlfs: 19747: Completion/Unix/Command/_subversion:
+	complete files/urls for svn cp and mv commands
 
-	* configure.in: fix a problem introduced by patch 2338.  From
- 	  Zefram (2416)
+	* unposted: Completion/Unix/Command/_cdrecord: add missing local
 
-	* Makefile.in, acconfig.h, configure.in: Makefile and configure
- 	  fixes from Zefram (2416)
+	* 19768: Completion/compinit: suggest running compaudit to see
+	insecure files and directories and send errors to stderr
 
-	* Src/zle_tricky.c: the cursor moved back on TAB when it was on
- 	  "".  From Zefram (2415)
+2004-04-06  Wayne Davison  <wayned@users.sourceforge.net>
 
-Thu Nov 14 12:59:25 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19743: Test/D02glob.ztst: Test the new F glob qualifier.
 
-	* Src/zle_refresh.c: one more refresh fix from Geoff (2404)
+	* 19741: Src/glob.c: Minor optimization to qualnonemptydir() when
+	a dir contains a subdir.
 
-	* Src/Makefile.in, Src/Modules/deltochar.c, Src/Modules/example.c,
- 	  configure, configure.in: move modules into Src/Modules
+2004-04-06  Oliver Kiddle  <opk@zsh.org>
 
-Wed Nov 13 21:47:28 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19712, 19740: Src/params.c, Doc/Zsh/params.c: allow assigning to
+	associative array elements where the i or r subscript flag is used
 
-	* Src/Modules/deltochar.c, Src/Modules/example.c, Src/module.c:
- 	  unload the module if the boot routine failed
+2004-04-06  Peter Stephenson  <pws@csr.com>
 
-	* config.guess, config.sub: recognize i[6-9]86
+	* Peter Castro <doctor@fruitbat.org>: 19735 (minus texinfo hunk):
+	Doc/Makefile.in, Src/builtin.c, Src/exec.c, Src/main.c,
+	Src/system.h, configure.ac: improved use of paths, text/binary
+	and dynamic library usage for Cygwin.
 
-	* Src/globals.h, Src/init.c, Src/utils.c: make fdtable dynamic
+	* 19733 (with improved documentation): Doc/Zsh/contrib.yo,
+	Doc/Zsh/zle.yo, Functions/Misc/zed, Src/Zle/zle_keymap.c,
+	Src/Zle/zle_main.c: vared -M and -m allow you to provide
+	main and alternate keymap; zed will use keymaps zed and zed-vicmd.
 
-	* Src/zle_refresh.c: zle_refresh fix from Geoff (2387)
+2004-04-05  Peter Stephenson  <pws@csr.com>
 
-	* Src/zle_refresh.c: some checks added.  From Geoff (2386)
+	* unposted, suggested by Wayne: Doc/Zsh/expn.yo:
+	make 19728 clearer.
 
-	* Src/zle_refresh.c: fix an off-by-one array bound bug.  From
- 	  Geoff (2359)
+	* 19728: Doc/Zsh/expn.yo: explain that (^F) (from 19717)
+	doesn't mean `non-empty directories', you need (/^F) for that.
 
-	* Doc/zsh.texi, Doc/zshbuiltins.man, Src/Modules/deltochar.c,
- 	  Src/hashtable.h, Src/module.c, Src/zle_main.c: handle name
- 	  clashes when adding zle modules and remove bindings when a zle
- 	  module is removed.  From Peter (2370)
+	* unposted: ChangeLog, ChangeLog-4.1: move stuff up to 4.2.0
+	out of ChangeLog.
 
-	* Src/zle_refresh.c: zle_refresh scrolling change from Geoff (2351)
+	* unposted: Config/version.mk: update version to 4.2.0-dev-1;
+	not tagged or released, this is just to avoid clashes with
+	the released version.
 
-	* Src/Modules/deltochar.c, Src/module.c, Src/zle.h,
- 	  Src/zle_main.c, Src/zle_misc.c, Src/zle_tricky.c, Src/zle_vi.c:
- 	  zle function modules from Peter (2339)
+2004-04-01  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-Tue Nov 12 21:35:18 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19717: Doc/Zsh/expn.y, Src/glob.c: use F glob qualifier
+	for `full' (non-empty) directories.
 
-	* Src/init.c, Src/zle_refresh.c: zle-refresh patch from Geoff (2336)
+2004-03-31  Bart Schaefer  <schaefer@zsh.org>
 
-	* Src/hashtable.h, Src/module.c: rename modload to zmodload.  From
- 	  Peter (2333)
+	* unposted: Functions/Misc/zrecompile: change "mv" to "mv -f"
+	when backing up .zwc files, because zcompile creates the files
+	read-only.  See thread ending at users/7269.
 
-	* Src/Makefile.in: added automatic ansi2knr rules
+2004-03-30  Oliver Kiddle  <opk@zsh.org>
 
-Mon Nov 11 21:55:17 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19708: Completion/compaudit: change getent() function to
+	handle two arguments
 
-	* Src/Makefile.in, Src/Modules/example.c, Src/module.c, configure,
- 	  configure.in: various module changes from Zefram (2338)
+	* 19707: Src/params.c, Test/D05array.ztst: fix bug where a
+	nagative index into an array returned a one element array
+	instead of a scalar
 
-	* configure, configure.in: a $ was missing.  IRIX gcc needs
- 	  -shared for modules.  From Peter
+2004-03-25  Clint Adams  <clint@zsh.org>
 
-Wed Nov  6 20:54:33 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19691: Completion/Unix/Type/_diff_options: Allow more than
+	one --exclude or -x to diff.
 
-	* Src/Makefile.in, Src/mod_example.c: moduule modifications for
- 	  old compilers
+2004-03-25  Peter Stephenson  <pws@csr.com>
 
-Sun Nov  3 23:00:05 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19683: Src/utils.c: Work around occasional problem on
+	Cygwin with dllwrap.
 
-	* Src/system.h: set OPEN_MAX to 64 if NOFILE is not defined
+	* 19682: Doc/Zsh/builtins.yo, Etc/NEWS, Src/signals.c: Don't
+	run ZERR, DEBUG or EXIT traps inside other traps; caused confusion
+	and incompatibility.
 
-	* Src/hashtable.c: disable -f TRAPxxx permanently removed the
-	  function
+2004-03-24  Peter Stephenson  <pws@csr.com>
 
-	* Functions/pushd: setopt localoptions must come after
-	  emulate -R zsh
+	* 19674 plus unposted changes suggested in 19676:
+	configure.ac, Doc/Zsh/mod_zftp.yo, Src/Modules/zftp.c,
+	Etc/NEWS, Functions/Zftp/zfstat: Add support for non-standard
+	ports to core zftp.  Not yet handled by the function system
+	(except zfstat reports port): needed in lastloc	and bookmarks.
 
-Sat Nov  2 22:47:53 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+2004-03-23  Peter Stephenson  <pws@csr.com>
 
-	* Src/compat.c, Src/hashtable.c, Src/utils.c: do not blindly
- 	  assume that . and .. are always the first two enrties in a
- 	  directory.  Problem discovered by Hideki ONO and fixed by Bart
- 	  (2309)
+	* 19661: Danek Duvall: Completion/Unix/Type/_diff_options:
+	support diff -u on Solaris from 2.10 up.
 
-	* Src/utils.c: max_zsh_fd should not be decreased below zero
+2004-03-22  Clint Adams  <clint@zsh.org>
 
-Thu Oct 31 01:38:10 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19673: Peter Palfrader: Completion/Unix/Command/_cvs:
+	tags can contain the + character.
 
-	* Src/Makefile.in, Src/globals.h, Src/hashtable.c,
- 	  Src/hashtable.h, Src/init.c, Src/mod_example.c, Src/module.c,
- 	  Src/prototypes.h, Src/zsh.h, acconfig.h, config.h.in, configure,
- 	  configure.in: support dynamically loaded binary modules
+2004-03-22  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
 
-	* Src/hist.c: zsh splitted lines longer than 1022 while reading
- 	  the history file
+	* 19669, 19670: Danek Duvall: Completion/compaudit: Use of
+	getent to check groups was slow; typo caused duplicate fpath
+	entries.
 
-	* Src/glob.c (doesmatch): <-number> range glob did not work
+	* 19671: Src/Zle/zle_main.c: error in zle-line-init caused
+	infinite loop.
 
-	* Src/builtin.c: read -c ignored its first parameter
+2004-03-20  Bart Schaefer  <schaefer@zsh.org>
 
-Fri Oct 25 20:50:38 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
+	* 19666 (tweaked): Completion/Unix/Command/_ssh: fixes for remote
+	file completion for scp, suggested by Jay Berkenbilt <ejb@ql.org>.
 
-	* Src/version.h: zsh-3.0.1 released
+	* users/7172: Functions/Prompts/prompt_bart_setup: include "unset"
+	among the localoptions, as this relies on it.
diff --git a/Doc/Zsh/builtins.yo b/Doc/Zsh/builtins.yo
index 167ea356d..d5a0f787f 100644
--- a/Doc/Zsh/builtins.yo
+++ b/Doc/Zsh/builtins.yo
@@ -17,6 +17,18 @@ item(tt(ARG1))(
 Same as tt(ARG2).
 )\
 )\
+def(module)(2)(\
+item(tt(ARG1))(
+See ifzman(the section `The ARG2 Module' in zmanref(zshmodules))\
+ifnzman(noderef(The ARG2 Module)).
+)\
+)\
+def(zlecmd)(1)(\
+item(tt(ARG1))(
+See ifzman(the section `Zle Builtins' in zmanref(zshzle))\
+ifnzman(noderef(Zle Builtins)).
+)\
+)\
 startitem()
 prefix(-)
 findex(.)
@@ -48,23 +60,40 @@ which may have effects on shell parameters.  A zero exit code is returned.
 findex(alias)
 cindex(aliases, defining)
 cindex(aliases, listing)
-item(tt(alias) [ {tt(PLUS()|tt(-))}tt(gmrL) ] [ var(name)[tt(=)var(value)] ... ])(
+item(tt(alias) [ {tt(PLUS()|tt(-))}tt(gmrsL) ] [ var(name)[tt(=)var(value)] ... ])(
 For each var(name) with a corresponding var(value), define an alias
 with that value.  A trailing space in var(value) causes the next word
 to be checked for alias expansion.  If the tt(-g) flag is present,
 define a global alias; global aliases are expanded even if they do not
 occur in command position.
 
+If the tt(-s) flags is present, define a suffix alias: if the command
+word on a command line is in the form `var(text)tt(.)var(name)', where
+var(text) is any non-empty string, it is replaced by the text
+`var(value) var(text)tt(.)var(name)'.  Note that var(name) is treated as
+a literal string, not a pattern.  A trailing space in var(value) is not
+special in this case.  For example,
+
+example(alias -s ps=gv)
+
+will cause the command `tt(*.ps)' to be expanded to `tt(gv *.ps)'.  As
+alias expansion is carried out earlier than globbing, the `tt(*.ps)' will
+then be expanded.  Suffix aliases constitute a different name space from
+other aliases (so in the above example it is still possible
+to create an alias for the command tt(ps)) and the two sets are never
+listed together.
+
 For each var(name) with no var(value),
 print the value of var(name), if any.  With no arguments, print all
-currently defined aliases.  If the tt(-m) flag is given the arguments
-are taken as patterns (they should be quoted to preserve them from being
-interpreted as glob patterns), and the aliases matching these patterns
-are printed.  When printing aliases and the tt(-g) or tt(-r) flags
-are present, then restrict the printing to global or regular
-aliases, respectively.  Using `tt(PLUS())' instead of `tt(-)', or ending
-the option list with a single `tt(PLUS())', prevents the values of the
-aliases from being printed.
+currently defined aliases other than suffix aliases.  If the tt(-m) flag
+is given the arguments are taken as patterns (they should be quoted to
+preserve them from being interpreted as glob patterns), and the aliases
+matching these patterns are printed.  When printing aliases and one of
+the tt(-g), tt(-r) or tt(-s) flags is present, restrict the printing to
+global, regular or suffix aliases, respectively; a regular alias is one
+which is neither a global nor a suffix alias.   Using `tt(PLUS())'
+instead of `tt(-)', or ending the option list with a single
+`tt(PLUS())', prevents the values of the aliases from being printed.
 
 If the tt(-L) flag is present, then print each
 alias in a manner suitable for putting in a startup script.  The exit
@@ -74,9 +103,9 @@ which no alias has been defined.
 findex(autoload)
 cindex(functions, autoloading)
 cindex(autoloading functions)
-item(tt(autoload) [ {tt(PLUS())|tt(-)}tt(UXmt) ] [ tt(-w) ] [ var(name) ... ])(
-Equivalent to tt(functions -u), with the exception of tt(-X)/tt(+X)
-and tt(-w).
+item(tt(autoload) [ {tt(PLUS())|tt(-)}tt(UXktz) ] [ tt(-w) ] [ var(name) ... ])(
+Equivalent to tt(functions -u), with the exception of tt(-X)/tt(+X) and
+tt(-w).
 
 The flag tt(-X) may be used only inside a shell function, and may not be
 followed by a var(name).  It causes the calling function to be marked for
@@ -91,10 +120,14 @@ function was not previously defined em(and) a definition for it was found.
 This does em(not) replace any existing definition of the function.  The
 exit status is nonzero (failure) if the function was already defined or
 when no definition was found.  In the latter case the function remains
-undefined and marked for autoloading.
+undefined and marked for autoloading.  If ksh-style autoloading is
+enabled, the function created will contain the contents of the file
+plus a call to the function itself appended to it, thus giving normal
+ksh autoloading behaviour on the first call to the function.
 
-With the tt(-w) flag, the var(name)s are taken as names of wordcode
-files and all functions defined in them are marked for autoloading.
+With the tt(-w) flag, the var(name)s are taken as names of files compiled
+with the tt(zcompile) builtin, and all functions defined in them are
+marked for autoloading.
 )
 findex(bg)
 cindex(jobs, backgrounding)
@@ -103,6 +136,7 @@ item(var(job) ... tt(&))(
 Put each specified var(job) in the background,
 or the current job if none is specified.
 )
+zlecmd(bindkey)
 findex(break)
 cindex(exiting loops)
 cindex(loops, exiting)
@@ -116,6 +150,7 @@ item(tt(builtin) var(name) [ var(args) ... ])(
 Executes the builtin var(name), with the given var(args).
 )
 alias(bye)(exit)
+module(cap)(zsh/cap)
 findex(cd)
 cindex(directories, changing)
 xitem(tt(cd) [ tt(-sLP) ] [ var(arg) ])
@@ -152,7 +187,29 @@ to their true values.  If the tt(-L) option is given symbolic links are
 followed regardless of the state of the tt(CHASE_LINKS) option.
 )
 alias(chdir)(cd)
-prefix(command)
+module(clone)(zsh/clone)
+findex(command)
+item(tt(command) [ tt(-pvV) ] var(simple command))(
+The simple command argument is taken as an external command instead of
+a function or builtin and is executed. If the tt(POSIX_BUILTINS) option
+is set, builtins will also be executed but certain special properties
+of them are suppressed. The tt(-p) flag causes a default path to be
+searched instead of that in tt($path). With the tt(-v) flag, tt(command)
+is similar to tt(whence) and with tt(-V), it is equivalent to tt(whence
+-v).
+
+See also noderef(Precommand Modifiers).
+)
+module(comparguments)(zsh/computil)
+module(compcall)(zsh/compctl)
+module(compctl)(zsh/compctl)
+module(compdescribe)(zsh/computil)
+module(compfiles)(zsh/computil)
+module(compgroups)(zsh/computil)
+module(compquote)(zsh/computil)
+module(comptags)(zsh/computil)
+module(comptry)(zsh/computil)
+module(compvalues)(zsh/computil)
 findex(continue)
 cindex(loops, continuing)
 cindex(continuing loops)
@@ -165,24 +222,40 @@ var(n)-1 loops and resume at the var(n)th enclosing loop.
 alias(declare)(typeset)
 findex(dirs)
 cindex(directory stack, printing)
-item(tt(dirs) [ tt(-v) ] [ var(arg) ... ])(
+xitem(tt(dirs) [ tt(-c) ] [ var(arg) ... ])
+item(tt(dirs) [ tt(-lpv) ])(
 With no arguments, print the contents of the directory stack.
-If the tt(-v) option is given, number the directories
-in the stack when printing.
 Directories are added to this stack with the tt(pushd) command,
 and removed with the tt(cd) or tt(popd) commands.
 If arguments are specified, load them onto the directory stack,
 replacing anything that was there, and push the current directory
 onto the stack.
+
+startitem()
+item(tt(-c))(
+clear the directory stack.
+)
+item(tt(-l))(
+print directory names in full instead of using of using tt(~) expressions.
+)
+item(tt(-p))(
+print directory entries one per line.
+)
+item(tt(-v))(
+number the directories in the stack when printing.
+)
+enditem()
+
 )
 findex(disable)
 cindex(disabling commands)
 cindex(commands, disabling)
-item(tt(disable) [ tt(-afmr) ] var(name) ...)(
+item(tt(disable) [ tt(-afmrs) ] var(name) ...)(
 Temporarily disable the var(name)d hash table elements.  The default
 is to disable builtin commands.  This allows you to use an external
 command with the same name as a builtin command.  The tt(-a) option
-causes tt(disable) to act on aliases.  The tt(-f) option causes
+causes tt(disable) to act on regular or global aliases.  The tt(-s)
+option causes tt(disable) to act on suffix aliases.  The tt(-f) option causes
 tt(disable) to act on shell functions.  The tt(-r) options causes
 tt(disable) to act on reserved words.  Without arguments all disabled
 hash table elements from the corresponding hash table are printed.
@@ -201,6 +274,12 @@ Remove the specified var(job)s from the job table; the shell will
 no longer report their status, and will not complain if you
 try to exit an interactive shell with them running or stopped.
 If no var(job) is specified, disown the current job.
+
+If the var(job)s are currently stopped and the tt(AUTO_CONTINUE) option
+is not set, a warning is printed containing information about how to
+make them running after they have been disowned.  If one of the latter
+two forms is used, the var(job)s will automatically be made running,
+independent of the setting of the tt(AUTO_CONTINUE) option.
 )
 findex(echo)
 item(tt(echo) [ tt(-neE) ] [ var(arg) ... ])(
@@ -222,6 +301,8 @@ sitem(tt(\v))(vertical tab)
 sitem(tt(\\))(backslash)
 sitem(tt(\0)var(NNN))(character code in octal)
 sitem(tt(\x)var(NN))(character code in hexadecimal)
+sitem(tt(\u)var(NNNN))(unicode character code in hexadecimal)
+sitem(tt(\U)var(NNNNNNNN))(unicode character code in hexadecimal)
 endsitem()
 
 pindex(BSD_ECHO, use of)
@@ -229,12 +310,8 @@ The tt(-E) flag, or the tt(BSD_ECHO) option, can be used to disable
 these escape sequences.  In the latter case, tt(-e) flag can be used to
 enable them.
 )
-findex(echotc)
-cindex(termcap string, printing)
-item(tt(echotc) var(cap) [ var(arg) ... ])(
-Output the termcap string corresponding to the capability
-var(cap), with optional arguments.
-)
+module(echotc)(zsh/termcap)
+module(echoti)(zsh/terminfo)
 findex(emulate)
 cindex(compatibility, sh)
 cindex(compatibility, ksh)
@@ -269,11 +346,12 @@ modes except tt(ksh).
 findex(enable)
 cindex(enabling commands)
 cindex(commands, enabling)
-item(tt(enable) [ tt(-afmr) ] var(name) ...)(
+item(tt(enable) [ tt(-afmrs) ] var(name) ...)(
 Enable the var(name)d hash table elements, presumably disabled
 earlier with tt(disable).  The default is to enable builtin commands.
-The tt(-a) option causes tt(enable) to act on aliases.  The tt(-f)
-option causes tt(enable) to act on shell functions.  The tt(-r)
+The tt(-a) option causes tt(enable) to act on regular or global aliases.
+The tt(-s) option causes tt(enable) to act on suffix aliases.
+The tt(-f) option causes tt(enable) to act on shell functions.  The tt(-r)
 option causes tt(enable) to act on reserved words.  Without arguments
 all enabled hash table elements from the corresponding hash table are
 printed.  With the tt(-m) flag the arguments are taken as patterns
@@ -313,6 +391,8 @@ findex(fc)
 cindex(history, editing)
 cindex(editing history)
 xitem(tt(fc) [ tt(-e) var(ename) ] [ tt(-nlrdDfEim) ] [ var(old)tt(=)var(new) ... ] [ var(first) [ var(last) ] ])
+xitem(tt(fc) tt(-p) [ tt(-a) ] [ var(filename) [ var(histsize) [ var(savehistsize) ] ] ])
+xitem(tt(fc) tt(-P))
 item(tt(fc) tt(-ARWI) [ var(filename) ])(
 Select a range of commands from var(first) to var(last) from the
 history list.
@@ -349,6 +429,37 @@ Adding the tt(-i) flag causes the dates to be printed in ISO8601
 `var(yyyy)tt(-)var(mm)tt(-)var(dd)' format.
 With the tt(-D) flag, tt(fc) prints elapsed times.
 
+cindex(history, stack)
+cindex(stack, history)
+
+`tt(fc -p)' pushes the current history list onto a stack and switches to a
+new history list.  If the tt(-a) option is also specified, this history list
+will be automatically popped when the current function scope is exited, which
+is a much better solution than creating a trap function to call `tt(fc -P)'
+manually.  If no arguments are specified, the history list is left empty,
+tt($HISTFILE) is unset, and tt($HISTSIZE) & tt($SAVEHIST) are set to their
+default values.  If one argument is given, tt($HISTFILE) is set to that
+filename, tt($HISTSIZE) & tt($SAVEHIST) are left unchanged, and the history
+file is read in (if it exists) to initialize the new list.  If a second
+argument is specified, tt($HISTSIZE) & tt($SAVEHIST) are instead set to the
+single specified numeric value.  Finally, if a third argument is specified,
+tt($SAVEHIST) is set to a separate value from tt($HISTSIZE).  You are free to
+change these environment values for the new history list however you desire
+in order to manipulate the new history list.
+
+`tt(fc -P)' pops the history list back to an older list saved by `tt(fc -p)'.
+The current list is saved to its tt($HISTFILE) before it is destroyed
+(assuming that tt($HISTFILE) and tt($SAVEHIST) are set appropriately, of
+course).  The values of tt($HISTFILE), tt($HISTSIZE), and tt($SAVEHIST) are
+restored to the values they had when `tt(fc -p)' was called.  Note that this
+restoration can conflict with making these variables "local", so your best
+bet is to avoid local declarations for these variables in functions that use
+`tt(fc -p)'.  The one other guaranteed-safe combination is declaring these
+variables to be local at the top of your function and using the automatic
+option (tt(-a)) with `tt(fc -p)'.  Finally, note that it is legal to manually
+pop a push marked for automatic popping if you need to do so before the
+function exits.
+
 cindex(history, file)
 cindex(file, history)
 `tt(fc -R)' reads the history from the given file,
@@ -372,14 +483,16 @@ Bring each specified var(job) in turn to the foreground.
 If no var(job) is specified, resume the current job.
 )
 findex(float)
-item(tt(float) [ {tt(PLUS())|tt(-)}tt(EFghlrtux) ] [ var(name)[tt(=)var(value)] ... ])(
+item(tt(float) [ {tt(PLUS())|tt(-)}tt(EFHghlprtux) ] [ tt(-LRZ) [ var(n) ]] \
+[ var(name)[tt(=)var(value)] ... ])(
 Equivalent to tt(typeset -E), except that options irrelevant to floating
 point numbers are not permitted.
 )
 findex(functions)
-item(tt(functions) [ {tt(PLUS())|tt(-)}tt(UXmtu) ] [ var(name) ... ])(
+item(tt(functions) [ {tt(PLUS())|tt(-)}tt(UXkmtuz) ] [ var(name) ... ])(
 Equivalent to tt(typeset -f).
 )
+module(getcap)(zsh/cap)
 findex(getln)
 cindex(line, reading)
 cindex(reading a line)
@@ -395,6 +508,7 @@ Checks the var(arg)s for legal options.  If the var(arg)s are omitted,
 use the positional parameters.  A valid option argument
 begins with a `tt(PLUS())' or a `tt(-)'.  An argument not beginning with
 a `tt(PLUS())' or a `tt(-)', or the argument `tt(--)', ends the options.
+Note that a single `tt(-)' is not considered a valid option argument.
 var(optstring) contains the letters that tt(getopts)
 recognizes.  If a letter is followed by a `tt(:)', that option
 is expected to have an argument.  The options can be
@@ -424,7 +538,7 @@ an error message when an option is invalid.  The exit status is
 nonzero when there are no more options.
 )
 findex(hash)
-item(tt(hash) [ tt(-dfmrv) ] [ var(name)[tt(=)var(value)] ] ...)(
+item(tt(hash) [ tt(-Ldfmrv) ] [ var(name)[tt(=)var(value)] ] ...)(
 tt(hash) can be used to directly modify the contents of the command
 hash table, and the named directory hash table.  Normally one would
 modify these tables by modifying one's tt(PATH)
@@ -466,10 +580,14 @@ the hash table will be unchanged.
 
 The tt(-v) option causes hash table entries to be listed as they are
 added by explicit specification.  If has no effect if used with tt(-f).
+
+If the tt(-L) flag is present, then each hash table entry is printed in
+the form of a call to hash.
 )
 alias(history)(fc -l)
 findex(integer)
-item(tt(integer) [ {tt(PLUS())|tt(-)}tt(ghlrtux) ] [ var(name)[tt(=)var(value)] ... ])(
+item(tt(integer) [ {tt(PLUS())|tt(-)}tt(Hghilprtux) ] \
+[ tt(-LRZ) [ var(n) ]] [ var(name)[tt(=)var(value)] ... ])(
 Equivalent to tt(typeset -i), except that options irrelevant to
 integers are not permitted.
 )
@@ -493,22 +611,31 @@ used by daemons, to indicate their state.
 findex(kill)
 cindex(killing jobs)
 cindex(jobs, killing)
-xitem(tt(kill) [ tt(-s) var(signal_name) ] var(job) ...)
-xitem(tt(kill) [ tt(-)var(sig) ] var(job) ...)
+xitem(tt(kill) [ tt(-s) var(signal_name) | tt(-n) var(signal_number) | \
+tt(-)var(sig) ] var(job) ...)
 item(tt(kill) tt(-l) [ var(sig) ... ])(
 Sends either tt(SIGTERM) or the specified signal to the given
 jobs or processes.
-Signals are given by number or by names, without the `tt(SIG)' prefix.
+Signals are given by number or by names, with or without the `tt(SIG)'
+prefix.
 If the signal being sent is not `tt(KILL)' or `tt(CONT)', then the job
 will be sent a `tt(CONT)' signal if it is stopped.
 The argument var(job) can be the process ID of a job
 not in the job list.
-In the third form, tt(kill -l), if var(sig) is not
+In the second form, tt(kill -l), if var(sig) is not
 specified the signal names are listed.  Otherwise, for each
 var(sig) that is a name, the corresponding signal number is
 listed.  For each var(sig) that is a signal number or a number
 representing the exit status of a process which was terminated or
 stopped by a signal the name of the signal is printed.
+
+On some systems, alternative signal names are allowed for a few signals.
+Typical examples are tt(SIGCHLD) and tt(SIGCLD) or tt(SIGPOLL) and
+tt(SIGIO), assuming they correspond to the same signal number.  tt(kill
+-l) will only list the preferred form, however tt(kill -l) var(alt) will
+show if the alternative form corresponds to a signal number.  For example,
+under Linux tt(kill -l IO) and tt(kill -l POLL) both output 29, hence
+tt(kill -IO) and tt(kill -POLL) have the same effect.
 )
 findex(let)
 item(tt(let) var(arg) ...)(
@@ -532,6 +659,10 @@ set the limit to the specified value.  If the tt(-h) flag
 is given, use hard limits instead of soft limits.
 If no var(resource) is given, print all limits.
 
+When looping over multiple resources, the shell will abort immediately if
+it detects a badly formed argument.  However, if it fails to set a limit
+for some other reason it will continue trying to set the remaining limits.
+
 var(resource) can be one of:
 
 startsitem()
@@ -548,14 +679,24 @@ sitem(tt(maxproc))(Maximum number of processes.)
 sitem(tt(maxpthreads))(Maximum number of threads per process.)
 sitem(tt(memorylocked))(Maximum amount of memory locked in RAM.)
 sitem(tt(memoryuse))(Maximum resident set size.)
+sitem(tt(msgqueue))(Maximum number of bytes in POSIX message queues.)
 sitem(tt(resident))(Maximum resident set size.)
+sitem(tt(sigpending))(Maximum number of pending signals.)
 sitem(tt(sockbufsize))(Maximum size of all socket buffers.)
 sitem(tt(stacksize))(Maximum stack size for each process.)
 sitem(tt(vmemorysize))(Maximum amount of virtual memory.)
 endsitem()
 
 Which of these resource limits are available depends on the system.
-var(resource) can be abbreviated to any unambiguous prefix.
+var(resource) can be abbreviated to any unambiguous prefix.  It
+can also be an integer, which corresponds to the integer defined
+for the resource by the operating system.
+
+If argument corresponds to a number which is out of the range of the
+resources configured into the shell, the shell will try to read or write
+the limit anyway, and will report an error if this fails.  As the shell
+does not store such resources internally, an attempt to set the limit will
+fail unless the tt(-s) option is present.
 
 var(limit) is a number, with an optional scaling factor, as follows:
 
@@ -567,9 +708,11 @@ sitem([var(mm)tt(:)]var(ss))(minutes and seconds)
 endsitem()
 )
 findex(local)
-item(tt(local) [ {tt(PLUS())|tt(-)}tt(AEFLRUZahilrtu) [var(n)]] [ var(name)[tt(=)var(value)] ] ...)(
-Same as tt(typeset), except that the options tt(-g), tt(-x) and
-tt(-f) are not permitted.
+item(tt(local) [ {tt(PLUS())|tt(-)}tt(AEFHUahlprtux) ] \
+[ tt(-LRZi) [ var(n) ]] [ var(name)[tt(=)var(value)] ] ...)(
+Same as tt(typeset), except that the options tt(-g), and
+tt(-f) are not permitted.  In this case the tt(-x) option does not force
+the use of tt(-g), i.e. exported variables will be local to functions.
 )
 findex(log)
 vindex(watch, use of)
@@ -596,8 +739,10 @@ If the tt(PUSHD_MINUS) option is set, the meanings of `tt(PLUS())' and
 `tt(-)' in this context are swapped.
 )
 findex(print)
-item(tt(print) [ tt(-bnrslzpNDPoOicm) ] [ tt(-u)var(n) ] [ tt(-R) [ tt(-en) ]] [ var(arg) ... ])(
-With no flags or with flag `tt(-)', the arguments are printed on
+xitem(tt(print) [ tt(-abcDilmnNoOpPrsz) ] [ tt(-u) var(n) ] [ tt(-f) var(format) ] [ tt(-C) var(cols) ])
+item(  [ tt(-R) [ tt(-en) ]] [ var(arg) ... ])(
+With the `tt(-f)' option the arguments are printed as described by tt(printf).
+With no flags or with the flag `tt(-)', the arguments are printed on
 the standard output as described by tt(echo), with the following differences:
 the escape sequence `tt(\M-)var(x)' metafies the character
 var(x) (sets the highest bit),
@@ -607,36 +752,44 @@ Finally, if not in an escape
 sequence, `tt(\)' escapes the following character and is not printed.
 
 startitem()
-item(tt(-r))(
-Ignore the escape conventions of tt(echo).
-)
-item(tt(-R))(
-Emulate the BSD tt(echo) command, which does not process escape sequences
-unless the tt(-e) flag is given.  The tt(-n) flag suppresses the trailing
-newline.  Only the tt(-e) and tt(-n) flags are recognized after
-tt(-R); all other arguments and options are printed.
+item(tt(-a))(
+Print arguments with the column incrementing first.  Only useful with the
+tt(-c) and tt(-C) options.
 )
 item(tt(-b))(
 Recognize all the escape sequences defined for the tt(bindkey) command,
 see 
-ifzman(zmanref(zshmodules))\
-ifnzman(noderef(The zsh/zle Module))\
+ifzman(zmanref(zshzle))\
+ifnzman(noderef(Zle Builtins))\
 .
 )
+item(tt(-c))(
+Print the arguments in columns.  Unless tt(-a) is also given, arguments are
+printed with the row incrementing first.
+)
+item(tt(-C) var(cols))(
+Print the arguments in var(cols) columns.  Unless tt(-a) is also given,
+arguments are printed with the row incrementing first.
+)
+item(tt(-D))(
+Treat the arguments as directory names, replacing prefixes with tt(~)
+expressions, as appropriate.
+)
+item(tt(-i))(
+If given together with tt(-o) or tt(-O), sorting is performed
+case-independently.
+)
+item(tt(-l))(
+Print the arguments separated by newlines instead of spaces.
+)
 item(tt(-m))(
 Take the first argument as a pattern (should be quoted), and remove
 it from the argument list together with subsequent arguments that
 do not match this pattern.
 )
-item(tt(-s))(
-Place the results in the history list instead of on the standard output.
-)
 item(tt(-n))(
 Do not add a newline to the output.
 )
-item(tt(-l))(
-Print the arguments separated by newlines instead of spaces.
-)
 item(tt(-N))(
 Print the arguments separated and terminated by nulls.
 )
@@ -646,40 +799,76 @@ Print the arguments sorted in ascending order.
 item(tt(-O))(
 Print the arguments sorted in descending order.
 )
-item(tt(-i))(
-If given together with tt(-o) or tt(-O), sorting is performed
-case-independently.
+item(tt(-p))(
+Print the arguments to the input of the coprocess.
 )
-item(tt(-c))(
-Print the arguments in columns.
+item(tt(-P))(
+Perform prompt expansion (see
+ifzman(zmanref(zshmisc))\
+ifnzman(noderef(Prompt Expansion))\
+).
 )
-item(tt(-u)var(n))(
-Print the arguments to file descriptor var(n).
+item(tt(-r))(
+Ignore the escape conventions of tt(echo).
 )
-item(tt(-p))(
-Print the arguments to the input of the coprocess.
+item(tt(-R))(
+Emulate the BSD tt(echo) command, which does not process escape sequences
+unless the tt(-e) flag is given.  The tt(-n) flag suppresses the trailing
+newline.  Only the tt(-e) and tt(-n) flags are recognized after
+tt(-R); all other arguments and options are printed.
 )
-item(tt(-z))(
-Push the arguments onto the editing buffer stack, separated by spaces;
-no escape sequences are recognized.
+item(tt(-s))(
+Place the results in the history list instead of on the standard output.
 )
-item(tt(-D))(
-Treat the arguments as directory names, replacing prefixes with tt(~)
-expressions, as appropriate.
+item(tt(-u) var(n))(
+Print the arguments to file descriptor var(n).
 )
-item(tt(-P))(
-Perform prompt expansion (see noderef(Prompt Expansion)).
+item(tt(-z))(
+Push the arguments onto the editing buffer stack, separated by spaces.
 )
 enditem()
+
+If any of `tt(-m)', `tt(-o)' or `tt(-O)' are used in combination with
+`tt(-f)' and there are no arguments (after the removal process in the
+case of `tt(-m)') then nothing is printed.
+)
+findex(printf)
+item(tt(printf) var(format) [ var(arg) ... ])(
+Print the arguments according to the format specification. Formatting
+rules are the same as used in C. The same escape sequences as for tt(echo)
+are recognised in the format. All C conversion specifications ending in
+one of csdiouxXeEfgGn are handled. In addition to this, `tt(%b)' can be
+used instead of `tt(%s)' to cause escape sequences in the argument to be
+recognised and `tt(%q)' can be used to quote the argument in such a way
+that allows it to be reused as shell input. With the numeric format
+specifiers, if the corresponding argument starts with a quote character,
+the numeric value of the following character is used as the number to
+print otherwise the argument is evaluated as an arithmetic expression. See
+noderef(Arithmetic Evaluation) for a description of arithmetic
+expressions. With `tt(%n)', the corresponding argument is taken as an
+identifier which is created as an integer parameter.
+
+Normally, conversion specifications are applied to each argument in order
+but they can explicitly specify the var(n)th argument is to be used by
+replacing `tt(%)' by `tt(%)var(n)tt($)' and `tt(*)' by `tt(*)var(n)tt($)'.
+It is recommended that you do not mix references of this explicit style
+with the normal style and the handling of such mixed styles may be subject
+to future change.
+
+If arguments remain unused after formatting, the format string is reused
+until all arguments have been consumed. With the tt(print) builtin, this
+can be suppressed by using the tt(-r) option. If more arguments are
+required by the format than have been specified, the behaviour is as if
+zero or an empty string had been specified as the argument.
 )
 findex(pushd)
 pindex(PUSHD_TO_HOME, use of)
 pindex(PUSHD_MINUS, use of)
 pindex(CDABLE_VARS, use of)
 pindex(PUSHD_SILENT, use of)
-xitem(tt(pushd) [ var(arg) ])
-xitem(tt(pushd) var(old) var(new))
-item(tt(pushd) {tt(PLUS())|tt(-)}var(n))(
+xitem(tt(pushd) [ tt(-sLP) ] [ var(arg) ])
+xitem(tt(pushd) [ tt(-sLP) ] var(old) var(new))
+item(tt(pushd) [ tt(-sLP) ] {tt(PLUS())|tt(-)}var(n))(
 Change the current directory, and push the old current directory
 onto the directory stack.  In the first form, change the
 current directory to var(arg).
@@ -700,6 +889,9 @@ of `tt(PLUS())' and `tt(-)' in this context are swapped.
 
 If the option tt(PUSHD_SILENT) is not set, the directory
 stack will be printed after a tt(pushd) is performed.
+
+The options tt(-s), tt(-L) and tt(-P) have the same meanings as for the
+tt(cd) builtin.
 )
 findex(pushln)
 item(tt(pushln) [ var(arg) ... ])(
@@ -716,18 +908,27 @@ contain symbolic links.
 alias(r)(fc -e -)
 findex(read)
 vindex(IFS, use of)
-item(tt(read) [ tt(-rzpqAclneE) ] [ tt(-k) [ var(num) ] ] \
-[ tt(-u)var(n) ] [ var(name)[tt(?)var(prompt)] ] [ var(name) ...  ])(
+ifzman(xitem(tt(read) [ tt(-rszpqAclneE) ] [ tt(-t) [ var(num) ] ] [ tt(-k) [ var(num) ] ] [ tt(-d) var(delim) ]))
+item(ifnzman(tt(read) [ tt(-rszpqAclneE) ] [ tt(-t) [ var(num) ] ] [ tt(-k) [ var(num) ] ] [ tt(-d) var(delim) ]) [ tt(-u) var(n) ] [ var(name)[tt(?)var(prompt)] ] [ var(name) ...  ])(
+vindex(REPLY, use of)
+vindex(reply, use of)
 Read one line and break it into fields using the characters
 in tt($IFS) as separators, except as noted below.
 The first field is assigned to the first var(name), the second field
 to the second var(name), etc., with leftover
 fields assigned to the last var(name).
+If var(name) is omitted then
+tt(REPLY) is used for scalars and tt(reply) for arrays.
 
 startitem()
 item(tt(-r))(
 Raw mode: a `tt(\)' at the end of a line does not signify line
-continuation.
+continuation and backslashes in the line don't quote the following
+character and are not removed.
+)
+item(tt(-s))(
+Don't echo back characters if reading from the terminal.  Currently does
+not work with the tt(-q) option.
 )
 item(tt(-q))(
 Read only one character from the terminal and set var(name) to
@@ -742,9 +943,6 @@ Read only one (or var(num)) characters.  All are assigned to the first
 var(name), without word splitting.  This flag is ignored when tt(-q) is
 present.  Input is read from the terminal unless one of tt(-u) or tt(-p)
 is present.  This option may also be used within zle widgets.
-
-Note that var(num) must be in the argument word that follows tt(-k), not
-in the same word.  See tt(-u).
 )
 item(tt(-z))(
 Read one entry from the editor buffer stack and assign it to the first
@@ -770,8 +968,7 @@ function used for completion (specified with the tt(-K) flag to
 tt(compctl)).  If the tt(-c) flag is given, the words of the
 current command are read. If the tt(-l) flag is given, the whole
 line is assigned as a scalar.  If both flags are present, tt(-l)
-is used and tt(-c) is ignored.  If var(name) is omitted then
-tt(REPLY) is used for scalars and tt(reply) for arrays.
+is used and tt(-c) is ignored.
 )
 item(tt(-n))(
 Together with tt(-c), the number of the word the cursor is on is
@@ -780,15 +977,40 @@ read.  Note that the command name is word number 1, not word 0,
 and that when the cursor is at the end of the line, its character
 index is the length of the line plus one.
 )
-item(tt(-u)var(n))(
-Input is read from file descriptor var(n), where var(n) is a single
-digit and must em(not) be separated from tt(-u) by any whitespace.
+item(tt(-u) var(n))(
+Input is read from file descriptor var(n).
 )
 item(tt(-p))(
 Input is read from the coprocess.
 )
+item(tt(-d) var(delim))(
+Input is terminated by the first character of var(delim) instead of
+by newline.
+)
+item(tt(-t) [ var(num) ])(
+Test if input is available before attempting to read.  If var(num)
+is present, it must begin with a digit and will be evaluated
+to give a number of seconds, which may be a floating point number;
+in this case the read times out if input is not available within this
+time.  If var(num) is not present, it is taken to be zero, so that
+tt(read) returns immediately if no input is available.
+If no input is available, return status 1 and do not set any variables.
+ifzman( )
+This option is not available when reading from the editor buffer with
+tt(-z), when called from within completion with tt(-c) or tt(-l), with
+tt(-q) which clears the input queue before reading, or within zle where
+other mechanisms should be used to test for input.
+ifzman( )
+Note that read does not attempt to alter the input processing mode.  The
+default mode is canonical input, in which an entire line is read at a time,
+so usually `tt(read -t)' will not read anything until an entire line has
+been typed.  However, when reading from the terminal with tt(-k)
+input is processed one key at a time; in this case, only availability of
+the first character is tested, so that e.g. `tt(read -t -k 2)' can still
+block on the second character.  Use two instances of `tt(read -t -k)' if
+this is not what is wanted.
+)
 enditem()
-
 If the first argument contains a `tt(?)', the remainder of this
 word is used as a var(prompt) on standard error when the shell
 is interactive.
@@ -821,17 +1043,19 @@ the effect is different for zero and non-zero return status.  With zero
 status (or after an implicit return at the end of the trap), the shell
 will return to whatever it was previously processing; with a non-zero
 status, the shell will behave as interrupted except that the return
-status of the trap is retained.  Note that the signal which caused the
-trap is passed as the first argument, so the statement `tt(return
-$((128PLUS()$1)))' will return the same status as if the signal had not
-been trapped.
+status of the trap is retained.  Note that the numeric value of the signal
+which caused the trap is passed as the first argument, so the statement
+`tt(return $((128PLUS()$1)))' will return the same status as if the signal
+had not been trapped.
 )
+module(sched)(zsh/sched)
 findex(set)
 cindex(parameters, listing)
 cindex(parameters, positional)
 cindex(parameters, setting array)
 cindex(array parameters, setting)
-item(tt(set) [ {tt(PLUS())|tt(-)}var(options) | {tt(PLUS())|tt(-)}tt(o) var(option_name) ] ... [ {tt(PLUS())|tt(-)}tt(A) [ var(name) ] ] [ var(arg) ... ])(
+pindex(KSH_ARRAYS, use of)
+item(tt(set) [ {tt(PLUS())|tt(-)}var(options) | {tt(PLUS())|tt(-)}tt(o) [ var(option_name) ] ] ... [ {tt(PLUS())|tt(-)}tt(A) [ var(name) ] ] [ var(arg) ... ])(
 Set the options for the shell and/or set the positional parameters, or
 declare and set an array.  If the tt(-s) option is given, it causes the
 specified arguments to be sorted before assigning them to the positional
@@ -839,17 +1063,41 @@ parameters (or to the array var(name) if tt(-A) is used).  With tt(PLUS()s)
 sort arguments in descending order.  For the meaning of the other flags, see
 ifzman(zmanref(zshoptions))\
 ifnzman(noderef(Options))\
-.  Flags may be specified by name using the tt(-o) option.
+.  Flags may be specified by name using the tt(-o) option. If no option
+name is supplied with tt(-o), the current option states are printed.
+With tt(PLUS()o) they are printed in a form that can be used as input
+to the shell.
 
-If the tt(-A) flag is specified, var(name) is
-set to an array containing the given var(arg)s. if tt(PLUS()A) is used and
-var(name) is an array, the given arguments will replace the initial
-elements of that array; if no var(name) is specified, all arrays are
-printed.  Otherwise the positional parameters are set.  If no arguments are
-given, then the names and values of all parameters are printed on the
-standard output.  If the only argument is `tt(PLUS())',
-the names of all parameters are printed.
+If the tt(-A) flag is specified, var(name) is set to an array containing
+the given var(arg)s; if no var(name) is specified, all arrays are printed
+together with their values.
+
+If tt(PLUS()A) is used and var(name) is an array, the
+given arguments will replace the initial elements of that array; if no
+var(name) is specified, all arrays are printed without their values.
+
+The behaviour of arguments after tt(-A) var(name) or tt(PLUS()A) var(name)
+depends on whether the option tt(KSH_ARRAYS) is set.  If it is not set, all
+arguments following var(name) are treated as values for the array,
+regardless of their form.  If the option is set, normal option processing
+continues at that point; only regular arguments are treated as values for
+the array.  This means that
+
+example(set -A array -x -- foo)
+
+sets tt(array) to `tt(-x -- foo)' if tt(KSH_ARRAYS) is not set, but sets
+the array to tt(foo) and turns on the option `tt(-x)' if it is set.
+
+If the tt(-A) flag is not present, but there are arguments beyond the
+options, the positional parameters are set.  If the option list (if any)
+is terminated by `tt(-)tt(-)', and there are no further arguments, the
+positional parameters will be unset.
+
+If no arguments and no `tt(-)tt(-)' are given, then the names and values of
+all parameters are printed on the standard output.  If the only argument is
+`tt(PLUS())', the names of all parameters are printed.
 )
+module(setcap)(zsh/cap)
 findex(setopt)
 cindex(options, setting)
 item(tt(setopt) [ {tt(PLUS())|tt(-)}var(options) | \
@@ -875,6 +1123,7 @@ item(tt(source) var(file) [ var(arg) ... ])(
 Same as tt(.), except that the current directory is always searched and
 is always searched first, before directories in tt($path).
 )
+module(stat)(zsh/stat)
 findex(suspend)
 cindex(shell, suspending)
 cindex(suspending the shell)
@@ -888,6 +1137,12 @@ xitem(tt(test) [ var(arg) ... ])
 item(tt([) [ var(arg) ... ] tt(]))(
 Like the system version of tt(test).  Added for compatibility;
 use conditional expressions instead (see noderef(Conditional Expressions)).
+The main differences between the conditional expression syntax and the
+tt(test) and tt([) builtins are:  these commands are not handled
+syntactically, so for example an empty variable expansion may cause an
+argument to be omitted; syntax errors cause status 2 to be returned instead
+of a shell error; and arithmetic operators expect integer arguments rather
+than arithemetic expressions.
 )
 findex(times)
 cindex(shell, timing)
@@ -919,6 +1174,8 @@ If var(sig) is tt(0) or tt(EXIT)
 and the tt(trap) statement is not executed inside the body of a function,
 then the command var(arg) is executed when the shell terminates.
 
+tt(ZERR), tt(DEBUG) and tt(EXIT) traps are not executed inside other traps.
+
 The tt(trap) command with no arguments prints a list of commands
 associated with each signal.
 
@@ -935,6 +1192,11 @@ will print the line number of a command executed after it has run, while
 example(TRAPDEBUG() { print $LINENO; })
 
 will always print the number zero.
+
+Alternative signal names are allowed as described under tt(kill) above.
+Defining a trap under either name causes any trap under an alternative
+name to be removed.  However, it is recommended that for consistency
+users stick exclusively to one name or another.
 )
 findex(true)
 cindex(doing nothing, successfully)
@@ -960,10 +1222,12 @@ Equivalent to tt(whence -v).
 findex(typeset)
 cindex(parameters, setting)
 cindex(parameters, declaring)
-xitem(tt(typeset) [ {tt(PLUS())|tt(-)}tt(AEFLRUZafghilrtuxm) [var(n)]] [ \
+xitem(tt(typeset) [ {tt(PLUS())|tt(-)}tt(AEFHUafghklprtuxmz) ] [ tt(-LRZi) \
+[ var(n) ]] [ \
 var(name)[tt(=)var(value)] ... ])
-item(tt(typeset) -T [ {tt(PLUS()|tt(-))}tt(LRUZrux) ] \
-  var(SCALAR)[tt(=)var(value)] var(array))(
+item(tt(typeset) -T [ {tt(PLUS()|tt(-))}tt(Urux) ] \
+ [ tt(-LRZ) [ var(n) ]] \
+ var(SCALAR)[tt(=)var(value)] var(array) tt([) var(sep) tt(]))(
 Set or display attributes and values for shell parameters.
 
 A parameter is created for each var(name) that does not already refer
@@ -972,55 +1236,77 @@ var(name) (even those that already exist), and is unset again when the
 function completes.  See
 ifzman(`Local Parameters' in zmanref(zshparam))\
 ifnzman(noderef(Local Parameters))\
-.  Local parameters are not exported unless tt(ALL_EXPORT) is set, in
-which case the parameter is exported em(only) when var(name) does not
-already exist.  The same rules apply to special shell parameters, which
+.  The same rules apply to special shell parameters, which
 retain their special attributes when made local.
 
 For each var(name)tt(=)var(value) assignment, the parameter
-var(name) set to var(value).  Note that arrays currently cannot be
+var(name) is set to var(value).  Note that arrays currently cannot be
 assigned in tt(typeset) expressions, only scalars and integers.
 
-For each remaining var(name) that refers to a parameter that is set, the
-name and value of the parameter are printed in the form of an assignment.
-Nothing is printed for newly-created parameters, or if any attribute flags
-listed below are given.  Using `tt(PLUS())' instead of minus to introduce
-an attribute turns it off.
-
-If the tt(-T) option is given, exactly two (or zero) var(name)
-arguments must be present.  They represent a scalar and an array (in
-that order) that will be tied together in the manner of tt($PATH) and
-tt($path).  In other words, an array present in the latter variable
-appears as a scalar with the elements of the array joined by colons in
-the former.  Only the scalar may have an initial value.  Both the
-scalar and the array may otherwise be manipulated as normal.  If one
-is unset, the other will automatically be unset too.  There is no way
-of untying the variables without unsetting them, or converting the
-type of one them with another tt(typeset) command; tt(+T) does not work,
-assigning an array to var(SCALAR) is an error, and assigning a scalar
-to var(array) sets it to be a single-element array.  Note that
-both tt(typeset -xT ...) and tt(export -T ...) work, but only the
-scalar will be marked for export.
-
-The flag tt(-g) (global) flag is treated specially: it means that any
+If the shell option tt(TYPESET_SILENT) is not set, for each remaining
+var(name) that refers to a parameter that is set, the name and value of the
+parameter are printed in the form of an assignment.  Nothing is printed for
+newly-created parameters, or when any attribute flags listed below are
+given along with the var(name).  Using `tt(PLUS())' instead of minus to
+introduce an attribute turns it off.
+
+If the tt(-p) option is given, parameters and values are printed in the
+form of a typeset comand and an assignment (which will be printed
+separately for arrays and associative arrays), regardless of other flags
+and options.  Note that the tt(-h) flag on parameters is respected; no
+value will be shown for these parameters.
+
+If the tt(-T) option is given, two or three arguments must be present (an
+exception is that zero arguments are allowed to show the list of parameters
+created in this fashion).  The first two are the name of a scalar and an
+array parameter (in that order) that will be tied together in the manner of
+tt($PATH) and tt($path).  The optional third argument is a single-character
+separator which will be used to join the elements of the array to form the
+scalar; if absent, a colon is used, as with tt($PATH).  Only the first
+character of the separator is significant; any remaining characters are
+ignored.  Only the scalar parameter may be assigned an initial value.  Both
+the scalar and the array may otherwise be manipulated as normal.  If one is
+unset, the other will automatically be unset too.  There is no way of
+untying the variables without unsetting them, or converting the type of one
+of them with another tt(typeset) command; tt(+T) does not work, assigning
+an array to var(SCALAR) is an error, and assigning a scalar to var(array)
+sets it to be a single-element array.  Note that both `tt(typeset -xT ...)'
+and `tt(export -T ...)' work, but only the scalar will be marked for
+export.  Setting the value using the scalar version causes a split on all
+separators (which cannot be quoted).
+
+The tt(-g) (global) flag is treated specially: it means that any
 resulting parameter will not be restricted to local scope.  Note that this
 does not necessarily mean that the parameter will be global, as the flag
 will apply to any existing parameter (even if unset) from an enclosing
 function.  This flag does not affect the parameter after creation, hence it
 has no effect when listing existing parameters, nor does the flag tt(+g)
-have any effect.
+have any effect except in combination with tt(-m) (see below).
 
 If no var(name) is present, the names and values of all parameters are
 printed.  In this case the attribute flags restrict the display to only
 those parameters that have the specified attributes, and using `tt(PLUS())'
 rather than `tt(-)' to introduce the flag suppresses printing of the values
-of parameters when there is no parameter name.  Also, if the option list
-ends with `tt(PLUS())', values will not be printed.  If only the tt(-m)
-flag is given the arguments are taken as patterns (which should be quoted)
-and all parameters (or functions with the tt(-f) flag) with matching names
-are printed.  If no attribute flags and no tt(-m) flag is present, the
-parameter names will be preceded by a list of any attributes (tt(array),
-tt(association), tt(exported), tt(integer), tt(readonly)).
+of parameters when there is no parameter name.  Also, if the last option
+is the word `tt(PLUS())', then names are printed but values are not.
+
+If the tt(-m) flag is given the var(name) arguments are taken as patterns
+(which should be quoted).  With no attribute flags, all parameters (or
+functions with the tt(-f) flag) with matching names are printed (the shell
+option tt(TYPESET_SILENT) is not used in this case).  Note that tt(-m) is
+ignored if no patterns are given.  If the tt(+g) flag is combined with
+tt(-m), a new local parameter is created for every matching parameter that
+is not already local.  Otherwise tt(-m) applies all other flags or
+assignments to the existing parameters.  Except when assignments are made
+with var(name)tt(=)var(value), using tt(+m) forces the matching parameters
+to be printed, even inside a function.
+
+If no attribute flags are given and either no tt(-m) flag is present or
+the tt(+m) form was used, each parameter name printed is preceded by a
+list of the attributes of that parameter (tt(array), tt(association),
+tt(exported), tt(integer), tt(readonly)).  If tt(+m) is used with attribute
+flags, and all those flags are introduced with tt(PLUS()), the matching
+parameter names are printed but their values are not.
 
 The following attribute flags may be specified:
 
@@ -1033,20 +1319,21 @@ ifnzman(noderef(Array Parameters))\
 )
 item(tt(-L))(
 Left justify and remove leading blanks from var(value).
-If var(n) is nonzero, it defines the width of the field;
-otherwise it is determined by the width of the value of the first
-assignment.
+If var(n) is nonzero, it defines the width of the field.
+If var(n) is zero, the width is determined by the width of the value of
+the first assignment.  In the case of numeric parameters, the length of the
+complete value assigned to the parameter is used to determine the width,
+not the value that would be output.
 When the parameter is expanded, it is filled on the right with
 blanks or truncated if necessary to fit the field.
+Note truncation can lead to unexpected results with numeric parameters.
 Leading zeros are removed if the tt(-Z) flag is also set.
 )
 item(tt(-R))(
-Right justify and fill with leading blanks.  If var(n) is nonzero
-if defines the width of the field;
-otherwise it is determined by the width of the value of the first
-assignment.
-When the parameter is expanded, the field is left filled with
-blanks or truncated from the end.
+Similar to tt(-L), except that right justification is used;
+when the parameter is expanded, the field is left filled with
+blanks or truncated from the end.  May not be combined with the tt(-Z)
+flag.
 )
 item(tt(-U))(
 For arrays (but not for associative arrays), keep only the first
@@ -1055,11 +1342,12 @@ colon-separated special parameters like tt(PATH) or tt(FIGNORE), etc.
 This flag has a different meaning when used with tt(-f); see below.
 )
 item(tt(-Z))(
-Right justify and fill with leading zeros if the first non-blank
-character is a digit and the tt(-L) flag has not been set.
-If var(n) is nonzero it defines the width of the field;
-otherwise it is determined by the width of the value of the
-first assignment.
+Specially handled if set along with the tt(-L) flag.
+Otherwise, similar to tt(-R), except that leading zeros are used for
+padding instead of blanks if the first non-blank character is a digit.
+Numeric parameters are specially handled: they are always eligible
+for padding with zeroes, and the zeroes are inserted at an appropriate
+place in the output.
 )
 item(tt(-a))(
 The names refer to array parameters.  An array parameter may be
@@ -1069,18 +1357,21 @@ shown.
 )
 item(tt(-f))(
 The names refer to functions rather than parameters.  No assignments
-can be made, and the only other valid flags are tt(-t), tt(-u) and
-tt(-U).  The flag tt(-t) turns on execution tracing for this
+can be made, and the only other valid flags are tt(-t), tt(-k), tt(-u),
+tt(-U) and tt(-z).  The flag tt(-t) turns on execution tracing for this
 function.  The tt(-u) and tt(-U) flags cause the function to be
 marked for autoloading; tt(-U) also causes alias expansion to be
 suppressed when the function is loaded.  The tt(fpath) parameter
 will be searched to find the function definition when the function
-is first referenced; see noderef(Functions).
+is first referenced; see noderef(Functions). The tt(-k) and tt(-z) flags
+make the function be loaded using ksh-style or zsh-style autoloading
+respectively. If neither is given, the setting of the KSH_AUTOLOAD option
+determines how the function is loaded.
 )
 item(tt(-h))(
 Hide: only useful for special parameters (those marked `<S>' in the table in
 ifzman(zmanref(zshparams))\
-ifnzman(noderef(Parameters))\
+ifnzman(noderef(Parameters Set By The Shell))\
 ), and for local parameters with the same name as a special parameter,
 though harmless for others.  A special parameter with this attribute will
 not retain its special effect when made local.  Thus after `tt(typeset -h
@@ -1092,9 +1383,19 @@ special tt(PATH) parameter is not altered in any way.  It is also possible
 to create a local parameter using `tt(typeset +h )var(special)', where the
 local copy of var(special) will retain its special properties regardless of
 having the tt(-h) attribute.  Global special parameters loaded from shell
-modules (currently those in tt(mapfile) and tt(parameter)) are
+modules (currently those in tt(zsh/mapfile) and tt(zsh/parameter)) are
 automatically given the tt(-h) attribute to avoid name clashes.
 )
+item(tt(-H))(
+Hide value: specifies that tt(typeset) will not display the value of the
+parameter when listing parameters; the display for such parameters is
+always as if the `tt(PLUS())' flag had been given.  Use of the parameter is
+in other respects normal, and the option does not apply if the parameter is
+specified by name, or by pattern with the tt(-m) option.  This is on by
+default for the parameters in the tt(zsh/parameter) and tt(zsh/mapfile)
+modules.  Note, however, that unlike the tt(-h) flag this is also useful
+for non-special parameters.
+)
 item(tt(-i))(
 Use an internal integer representation.  If var(n) is nonzero it
 defines the output arithmetic base, otherwise it is determined by the
@@ -1117,7 +1418,9 @@ Convert the result to lower case whenever the parameter is expanded.
 The value is em(not) converted when assigned.
 )
 item(tt(-r))(
-The given var(name)s are marked readonly.
+The given var(name)s are marked readonly.  Note that if var(name) is a
+special parameter, the readonly attribute can be turned on, but cannot then
+be turned off.
 )
 item(tt(-t))(
 Tags the named parameters.  Tags have no special meaning to the shell.
@@ -1130,17 +1433,21 @@ This flag has a different meaning when used with tt(-f); see above.
 )
 item(tt(-x))(
 Mark for automatic export to the environment of subsequently
-executed commands.
+executed commands.  If the option tt(GLOBAL_EXPORT) is set, this implies
+the option tt(-g), unless tt(+g) is also explicitly given; in other words
+the parameter is not made local to the enclosing function.  This is for
+compatibility with previous versions of zsh.
 )
 enditem()
 )
 findex(ulimit)
 cindex(resource limits)
 cindex(limits, resource)
-item(tt(ulimit) [ tt(-SHacdflmnpstv) [ var(limit) ] ... ])(
+item(tt(ulimit) [ [ tt(-SHacdfilmnpqstvx) | tt(-N) var(resource) [ var(limit) ] ... ])(
 Set or display resource limits of the shell and the processes started by
 the shell.  The value of var(limit) can be a number in the unit specified
-below or the value `tt(unlimited)'.  If the tt(-H) flag is given use
+below or the value `tt(unlimited)'.  By default, only soft limits are
+manipulated. If the tt(-H) flag is given use
 hard limits instead of soft limits.  If the tt(-S) flag is given
 together with the tt(-H) flag set both hard and soft limits.  If no
 options are used, the file size limit (tt(-f)) is assumed.  If
@@ -1148,19 +1455,37 @@ var(limit) is omitted the current value of the specified resources are
 printed.  When more than one resource values are printed the limit name and
 unit is printed before each value.
 
+When looping over multiple resources, the shell will abort immediately if
+it detects a badly formed argument.  However, if it fails to set a limit
+for some other reson it will continue trying to set the remaining limits.
+
 startsitem()
 sitem(tt(-a))(Lists all of the current resource limits.)
 sitem(tt(-c))(512-byte blocks on the size of core dumps.)
 sitem(tt(-d))(K-bytes on the size of the data segment.)
 sitem(tt(-f))(512-byte blocks on the size of files written.)
+sitem(tt(-i))(The number of pending signals.)
 sitem(tt(-l))(K-bytes on the size of locked-in memory.)
 sitem(tt(-m))(K-bytes on the size of physical memory.)
 sitem(tt(-n))(open file descriptors.)
+sitem(tt(-q))(Bytes in POSIX message queues.)
 sitem(tt(-s))(K-bytes on the size of the stack.)
 sitem(tt(-t))(CPU seconds to be used.)
 sitem(tt(-u))(processes available to the user.)
-sitem(tt(-v))(K-bytes on the size of virtual memory.)
+sitem(tt(-v))(K-bytes on the size of virtual memory.  On some systems this
+refers to the limit called `address space'.)
+sitem(tt(-x))(The number of locks on files.)
 endsitem()
+
+A resource may also be specified by integer in the form `tt(-N)
+var(resource)', where var(resource) corresponds to the integer defined for
+the resource by the operating system.  This may be used to set the limits
+for resources known to the shell which do not correspond to option letters.
+Such limits will be shown by number in the output of `tt(ulimit -a)'.
+
+The number may alternatively be out of the range of limits compiled into
+the shell.  The shell will try to read or write the limit anyway, and
+will report an error if this fails.
 )
 findex(umask)
 cindex(umask)
@@ -1178,10 +1503,12 @@ alias(unalias)(unhash -a)
 cindex(functions, removing)
 alias(unfunction)(unhash -f)
 findex(unhash)
-item(tt(unhash) [ tt(-adfm) ] var(name) ...)(
+item(tt(unhash) [ tt(-adfms) ] var(name) ...)(
 Remove the element named var(name) from an internal hash table.  The
 default is remove elements from the command hash table.  The tt(-a)
-option causes tt(unhash) to remove aliases.  The tt(-f) option causes
+option causes tt(unhash) to remove regular or global aliases.
+The tt(-s) option causes tt(unhash) to remove suffix aliases.
+The tt(-f) option causes
 tt(unhash) to remove shell functions.  The tt(-d) options causes
 tt(unhash) to remove named directories.  If the tt(-m) flag is given
 the arguments are taken as patterns (should be quoted) and all elements
@@ -1199,7 +1526,7 @@ flag is given.
 )
 findex(unset)
 cindex(parameters, unsetting)
-item(tt(unset) [ tt(-fm) ] var(name) ...)(
+item(tt(unset) [ tt(-fmv) ] var(name) ...)(
 Each named parameter is unset.
 Local parameters remain local even if unset; they appear unset within scope,
 but the previous value will still reappear when the scope ends.
@@ -1213,6 +1540,9 @@ be quoted) and all parameters with matching names are unset.  Note that this
 cannot be used when unsetting associative array elements, as the subscript
 will be treated as part of the pattern.
 
+The tt(-v) flag specifies that var(name) refers to parameters. This is the
+default behaviour.
+
 tt(unset -f) is equivalent to tt(unfunction).
 )
 findex(unsetopt)
@@ -1226,6 +1556,7 @@ If the tt(-m) flag is given the arguments are taken as patterns
 (which should be quoted to preserve them from being interpreted as glob
 patterns), and all options with names matching these patterns are unset.
 )
+zlecmd(vared)
 findex(wait)
 cindex(waiting for jobs)
 cindex(jobs, waiting for)
@@ -1291,55 +1622,74 @@ item(tt(which) [ tt(-wpams) ] var(name) ...)(
 Equivalent to tt(whence -c).
 )
 findex(zcompile)
-cindex(wordcode, creation)
+cindex(.zwc files, creation)
 cindex(compilation)
-xitem(tt(zcompile) [ tt(-U) ] [ tt(-z) | tt(-k) ] [ tt(-r) | tt(-m) ] var(file) [ var(name) ... ])
-xitem(tt(zcompile) tt(-c) [ tt(-M) ] [ tt(-z) | tt(-k) ] [ tt(-r) | tt(-m) ] var(file) [ var(name) ... ])
+xitem(tt(zcompile) [ tt(-U) ] [ tt(-z) | tt(-k) ] [ tt(-R) | tt(-M) ] var(file) [ var(name) ... ])
+xitem(tt(zcompile) tt(-ca) [ tt(-m) ] [ tt(-R) | tt(-M) ] var(file) [ var(name) ... ])
 item(tt(zcompile -t) var(file) [ var(name) ... ])(
-This builtin command can be used to compile functions or scripts and
-store the compiled form in a file, and to examine files containing
+This builtin command can be used to compile functions or scripts,
+storing the compiled form in a file, and to examine files containing
 the compiled form.  This allows faster autoloading of functions and
 execution of scripts by avoiding parsing of the text when the files
 are read.
 
-The first form (without the tt(-c) or tt(-t) options) creates a
-compiled file.  If only the var(file) argument is provided, the
+The first form (without the tt(-c), tt(-a) or tt(-t) options) creates a
+compiled file.  If only the var(file) argument is given, the
 output file has the name `var(file)tt(.zwc)' and will be placed in
-the same directory as the var(file).  This will make the compiled
-file be loaded instead of the normal function file when the function
-is autoloaded (see
+the same directory as the var(file).  The shell will load the compiled
+file instead of the normal function file when the function
+is autoloaded; see
 ifzman(\
 the section `Autoloading Functions' in zmanref(zshfunc)
 )\
 ifnzman(\
 noderef(Functions)
 )\
-for a description of how autoloaded functions are searched).  The
-extension tt(.zwc) stands for `zsh word codes'.
-
-If there is at least one var(name) argument, all those named files
-are compiled into one output var(file).  If var(file) does not end
-in tt(.zwc), this extension is automatically appended.  Files
-containing multiple compiled functions are called `digest' files,
-and are intended to be used as elements of the tt(FPATH)/tt(fpath)
+for a description of how autoloaded functions are searched.  The
+extension tt(.zwc) stands for `zsh word code'.
+
+If there is at least one var(name) argument, all the named files
+are compiled into the output var(file) given as the first argument.  If
+var(file) does not end in tt(.zwc), this extension is automatically
+appended.  Files containing multiple compiled functions are called `digest'
+files, and are intended to be used as elements of the tt(FPATH)/tt(fpath)
 special array.
 
-The second form, with the tt(-c) option, writes the definitions for
-all the named functions into var(file).  The names must be functions
-currently defined in the shell or marked for autoloading.  If the
-tt(-M) option is given, too, the var(name)s are used as patterns and
-all functions whose names match one of these patterns will be
-written. If no var(name) is given, the definitions of all functions
-currently defined or marked as autoloaded will be written.
+The second form, with the tt(-c) or tt(-a) options, writes the compiled
+definitions for all the named functions into var(file).  For tt(-c), the
+names must be functions currently defined in the shell, not those marked
+for autoloading.  Undefined functions that are marked for autoloading
+may be written by using the tt(-a) option, in which case the tt(fpath)
+is searched and the contents of the definition files for those
+functions, if found, are compiled into var(file).  If both tt(-c) and
+tt(-a) are given, names of both defined functions and functions marked
+for autoloading may be given.  In either case, the functions in files
+written with the tt(-c) or tt(-a) option will be autoloaded as if the
+tt(KSH_AUTOLOAD) option were unset.
+
+The reason for handling loaded and not-yet-loaded functions with
+different options is that some definition files for autoloading define
+multiple functions, including the function with the same name as the
+file, and, at the end, call that function.  In such cases the output of
+`tt(zcompile -c)' does not include the additional functions defined in
+the file, and any other initialization code in the file is lost.  Using
+`tt(zcompile -a)' captures all this extra information.
+
+If the tt(-m) option is combined with tt(-c) or tt(-a),
+the var(name)s are used as patterns and all functions whose names
+match one of these patterns will be written. If no var(name) is given,
+the definitions of all functions currently defined or marked as
+autoloaded will be written.
 
 The third form, with the tt(-t) option, examines an existing
 compiled file.  Without further arguments, the names of the original
-files compiled into it are listed.  The first line of output tells
+files compiled into it are listed.  The first line of output shows
 the version of the shell which compiled the file and how the file
-will be used (mapping or reading the file).  With arguments, nothing
-is output and the return value is set to zero if em(all) var(name)s
-name files contained in the wordcode file, and non-zero if at least
-one var(name) is not contained in it.
+will be used (i.e. by reading it directly or by mapping it into memory).
+With arguments, nothing is output and the return value is set to zero if
+definitions for em(all) var(name)s were found in the compiled
+file, and non-zero if the definition for at least one var(name) was not
+found.
 
 Other options:
 
@@ -1347,67 +1697,78 @@ startitem()
 item(tt(-U))(
 Aliases are not expanded when compiling the var(name)d files.
 )
-item(tt(-r))(
+item(tt(-R))(
 When the compiled file is read, its contents are copied into the
-shell's memory, rather than memory-mapped (see tt(-m)).  This
+shell's memory, rather than memory-mapped (see tt(-M)).  This
 happens automatically on systems that do not support memory mapping.
 
 When compiling scripts instead of autoloadable functions, it is
-often desirable to use this option. Otherwise the whole file will
-remain mapped if the script has defined one or more functions, even
-if the rest of the file will not be used again.
+often desirable to use this option; otherwise the whole file, including the
+code to define functions which have already been defined, will
+remain mapped, consequently wasting memory.
 )
-item(tt(-m))(
+item(tt(-M))(
 The compiled file is mapped into the shell's memory when read. This
 is done in such a way that multiple instances of the shell running
-on the same host will share this mapped file.  If neither tt(-r) nor
-tt(-m) is given, the tt(zcompile) builtin decides what to do based
+on the same host will share this mapped file.  If neither tt(-R) nor
+tt(-M) is given, the tt(zcompile) builtin decides what to do based
 on the size of the compiled file.
 )
 xitem(tt(-k))
 item(tt(-z))(
-These options are used when the compiled file contains functions and
-those functions are to be autoloaded. If tt(-z) is given, the
-function will be autoloaded as if the tt(KSHAUTOLOAD) option is
+These options are used when the compiled file contains functions which
+are to be autoloaded. If tt(-z) is given, the
+function will be autoloaded as if the tt(KSH_AUTOLOAD) option is
 em(not) set, even if it is set at the time the compiled file is
-read. The tt(-k) makes the function be loaded as if tt(KASHAUTOLOAD)
-em(is) set.  If neither of these options is given, the function will
-be loaded as determined by the setting of the tt(KSHAUTOLOAD) option
-at the time the compiled file is read.
-
-These options may also be repeated among the listed var(name)s to
-specify the loading style of all following functions, up to the next
-tt(-k) or tt(-z).
+read, while if the tt(-k) is given, the function will be loaded as if
+tt(KSH_AUTOLOAD) em(is) set.  These options also take precedence over
+any tt(-k) or tt(-z) options specified to the tt(autoload) builtin. If
+neither of these options is given, the function will be loaded as
+determined by the setting of the tt(KSH_AUTOLOAD) option at the time
+the compiled file is read.
+ifzman( )
+These options may also appear as many times as necessary between the listed
+var(name)s to specify the loading style of all following functions, up to
+the next tt(-k) or tt(-z).
+)
+ifnzman(enditem()
 )
-enditem()
-
 The created file always contains two versions of the compiled
 format, one for big-endian machines and one for small-endian
-machines. The upshot of this is that the compiled file is machine
+machines.  The upshot of this is that the compiled file is machine
 independent and if it is read or mapped, only one half of the file
 is actually used (and mapped).
+ifzman(enditem())
 )
+module(zformat)(zsh/zutil)
+module(zftp)(zsh/zftp)
+zlecmd(zle)
 findex(zmodload)
 cindex(modules, loading)
 cindex(loading modules)
 xitem(tt(zmodload) [ tt(-dL) ] [ ... ])
-xitem(tt(zmodload -e) [ ... ])
+xitem(tt(zmodload -e) [ tt(-A) ] [ ... ])
 xitem(tt(zmodload) [ tt(-a) [ tt(-bcpf) [ tt(-I) ] ] ] [ tt(-iL) ] ...)
-item(tt(zmodload) tt(-u) [ tt(-abcdpf) [ tt(-I) ] ] [ tt(-iL) ] ...)(
-tt(zmodload) performs operations relating to zsh's loadable modules.
-This feature is not available on all operating systems,
-or on all installations on a particular operating system.
-
-Without arguments all currently loaded binary modules are printed.
-The tt(-L) option causes this list to be in the form of a series of
-tt(zmodload) commands.  Forms with arguments are:
+xitem(tt(zmodload) tt(-u) [ tt(-abcdpf) [ tt(-I) ] ] [ tt(-iL) ] ...)
+xitem(tt(zmodload) tt(-A) [ tt(-L) ] [ var(modalias)[tt(=)var(module)] ... ])
+item(tt(zmodload) tt(-R) var(modalias) ... )(
+Performs operations relating to zsh's loadable modules.
+Loading of modules while the shell is running (`dynamical loading') is not
+available on all operating systems, or on all installations on a particular
+operating system, although the tt(zmodload) command itself is always
+available and can be used to manipulate modules built into versions of the
+shell executable without dynamical loading.
+
+Without arguments the names of all currently loaded binary modules are
+printed.  The tt(-L) option causes this list to be in the form of a
+series of tt(zmodload) commands.  Forms with arguments are:
 
 startitem()
 xitem(tt(zmodload) [ tt(-i) ] var(name) ... )
 item(tt(zmodload) tt(-u) [ tt(-i) ] var(name) ...)(
 In the simplest case, tt(zmodload) loads a binary module.  The module must
 be in a file with a name consisting of the specified var(name) followed by
-a standard suffix, usually `tt(.so)'.
+a standard suffix, usually `tt(.so)' (`tt(.sl)' on HPUX).
 If the module to be loaded is
 already loaded and the tt(-i) option is given, the duplicate module is
 ignored.  Otherwise tt(zmodload) prints an error message.
@@ -1484,7 +1845,7 @@ tt(zmodload) work on autoloaded parameters instead.
 xitem(tt(zmodload) tt(-af) [ tt(-L) ])
 xitem(tt(zmodload) tt(-af) [ tt(-i) ] var(name) [ var(function) ... ])
 item(tt(zmodload) tt(-uf) [ tt(-i) ] var(function) ...)(
-The tt(-p) option is like the tt(-b), tt(-p), and tt(-c) options, but
+The tt(-f) option is like the tt(-b), tt(-p), and tt(-c) options, but
 makes tt(zmodload) work on autoloaded math functions instead. 
 )
 xitem(tt(zmodload) tt(-a) [ tt(-L) ])
@@ -1492,21 +1853,68 @@ xitem(tt(zmodload) tt(-a) [ tt(-i) ] var(name) [ var(builtin) ... ])
 item(tt(zmodload) tt(-ua) [ tt(-i) ] var(builtin) ...)(
 Equivalent to tt(-ab) and tt(-ub).
 )
-item(tt(zmodload -e) [ var(string) ... ])(
-The tt(-e) option without arguments lists all loaded modules loaded.
-With arguments only the return status is set to zero
+item(tt(zmodload -e) [ tt(-A) ] [ var(string) ... ])(
+The tt(-e) option without arguments lists all loaded modules; if the tt(-A)
+option is also given, module aliases corresponding to loaded modules are
+also shown.  With arguments only the return status is set to zero
 if all var(string)s given as arguments are names of loaded modules
 and to one if at least on var(string) is not the name of a
-loaded module. This can be used to test for the availability 
-of things implemented by modules.
+loaded module.  This can be used to test for the availability 
+of things implemented by modules.  In this case, any aliases are
+automatically resolved and the tt(-A) flag is not used.
+)
+item(tt(zmodload) tt(-A) [ tt(-L) ] [ var(modalias)[tt(=)var(module)] ... ])(
+For each argument, if both var(modalias) and var(module) are given,
+define var(modalias) to be an alias for the module var(module).
+If the module var(modalias) is ever subsequently requested, either via a
+call to tt(zmodload) or implicitly, the shell will attempt to load
+var(module) instead.  If var(module) is not given, show the definition of
+var(modalias).  If no arguments are given, list all defined module aliases.
+When listing, if the tt(-L) flag was also given, list the definition as a
+tt(zmodload) command to recreate the alias.
+
+The existence of aliases for modules is completely independent of whether
+the name resolved is actually loaded as a module: while the alias exists,
+loading and unloading the module under any alias has exactly the same
+effect as using the resolved name, and does not affect the connection
+between the alias and the resolved name which can be removed either by
+tt(zmodload -R) or by redefining the alias.  Chains of aliases (i.e. where
+the first resolved name is itself an alias) are valid so long as these are
+not circular.  As the aliases take the same format as module names, they
+may include path separators:  in this case, there is no requirement for any
+part of the path named to exist as the alias will be resolved first.  For
+example, `tt(any/old/alias)' is always a valid alias.
+
+Dependencies added to aliased modules are actually added to the resolved
+module; these remain if the alias is removed.  It is valid to create an
+alias whose name is one of the standard shell modules and which resolves to
+a different module.  However, if a module has dependencies, it
+will not be possible to use the module name as an alias as the module will
+already be marked as a loadable module in its own right.
+
+Apart from the above, aliases can be used in the tt(zmodload) command
+anywhere module names are required.  However, aliases will not be
+shown in lists of loaded modules with a bare `tt(zmodload)'.
+)
+item(tt(zmodload) tt(-R) var(modalias) ... )(
+For each var(modalias) argument that was previously defined as a module
+alias via tt(zmodload -A), delete the alias.  If any was not defined, an
+error is caused and the remainder of the line is ignored.
 )
 enditem()
 
-Note that tt(zsh) makes no difference between modules that were linked 
+Note that tt(zsh) makes no distinction between modules that were linked 
 into the shell and modules that are loaded dynamically. In both cases
 this builtin command has to be used to make available the builtins and
 other things defined by modules (unless the module is autoloaded on
-these definitions). This is even true for systems that don't support
+these definitions). This is true even for systems that don't support
 dynamic loading of modules.
 )
+module(zparseopts)(zsh/zutil)
+module(zprof)(zsh/zprof)
+module(zpty)(zsh/zpty)
+module(zregexparse)(zsh/zutil)
+module(zsocket)(zsh/net/socket)
+module(zstyle)(zsh/zutil)
+module(ztcp)(zsh/net/tcp)
 enditem()
diff --git a/Src/Builtins/rlimits.awk b/Src/Builtins/rlimits.awk
index 5e48725e2..e1a06fe2b 100644
--- a/Src/Builtins/rlimits.awk
+++ b/Src/Builtins/rlimits.awk
@@ -6,7 +6,7 @@
 #
 BEGIN {limidx = 0}
 
-/^[\t ]*(#[\t ]*define[\t _]*RLIMIT_[A-Z_]*[\t ]*[0-9][0-9]*|RLIMIT_[A-Z_]*,[\t ]*)/ {
+/^[\t ]*(#[\t ]*define[\t _]*RLIMIT_[A-Z_]*[\t ]*[0-9][0-9]*|RLIMIT_[A-Z_]*,[\t ]*|RLIMIT_[A-Z_]*[\t ]*=[\t ]*[0-9][0-9]*,[\t ]*)/ {
     limindex = index($0, "RLIMIT_")
     limtail = substr($0, limindex, 80)
     split(limtail, tmp)
@@ -18,6 +18,11 @@ BEGIN {limidx = 0}
 	limindex = index($0, ",")
 	limnam = substr(limnam, 1, limindex-1)
     }
+    if (limnum == "=") {
+	limnum = limidx++
+	limindex = index($0, ",")
+	limnam = substr(limnam, 1, limindex-1)
+    }
     limrev[limnam] = limnum
     if (lim[limnum] == "") {
 	lim[limnum] = limnam
@@ -29,6 +34,7 @@ BEGIN {limidx = 0}
 	    if (limnam == "CPU")     { msg[limnum] = "Tcputime" }
 	    if (limnam == "DATA")    { msg[limnum] = "Mdatasize" }
 	    if (limnam == "FSIZE")   { msg[limnum] = "Mfilesize" }
+	    if (limnam == "LOCKS")   { msg[limnum] = "Nmaxfilelocks" }
 	    if (limnam == "MEMLOCK") { msg[limnum] = "Mmemorylocked" }
 	    if (limnam == "NOFILE")  { msg[limnum] = "Ndescriptors" }
 	    if (limnam == "NPROC")   { msg[limnum] = "Nmaxproc" }
@@ -39,6 +45,8 @@ BEGIN {limidx = 0}
 	    if (limnam == "STACK")   { msg[limnum] = "Mstacksize" }
 	    if (limnam == "TCACHE")  { msg[limnum] = "Ncachedthreads" }
 	    if (limnam == "VMEM")    { msg[limnum] = "Mvmemorysize" }
+	    if (limnam == "SIGPENDING") { msg[limnum] = "Nsigpending" }
+	    if (limnam == "MSGQUEUE") { msg[limnum] = "Nmsgqueue" }
         }
     }
 }
@@ -50,7 +58,13 @@ BEGIN {limidx = 0}
 }
 # in case of GNU libc
 /^[\t ]*RLIM_NLIMITS[\t ]*=[\t ]*RLIMIT_NLIMITS/ {
-    nlimits = limidx
+    if(!nlimits) { nlimits = limidx }
+}
+/^[\t ]*RLIM(IT)?_NLIMITS[\t ]*=[\t ]*[0-9][0-9]*/ {
+    limindex = index($0, "=")
+    limtail = substr($0, limindex, 80)
+    split(limtail, tmp)
+    nlimits = tmp[2]
 }
 
 END {
diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c
index f81ce2412..9256f25b2 100644
--- a/Src/Builtins/rlimits.c
+++ b/Src/Builtins/rlimits.c
@@ -44,12 +44,17 @@ enum {
 
 # include "rlimits.h"
 
-# if defined(RLIM_T_IS_QUAD_T) || defined(RLIM_T_IS_LONG_LONG) || defined(RLIM_T_IS_UNSIGNED)
 static rlim_t
 zstrtorlimt(const char *s, char **t, int base)
 {
     rlim_t ret = 0;
- 
+
+    if (strcmp(s, "unlimited") == 0) {
+	if (t)
+	    *t = (char *) s + 9;
+	return RLIM_INFINITY;
+    }
+# if defined(RLIM_T_IS_QUAD_T) || defined(RLIM_T_IS_LONG_LONG) || defined(RLIM_T_IS_UNSIGNED)
     if (!base) {
 	if (*s != '0')
 	    base = 10;
@@ -67,63 +72,114 @@ zstrtorlimt(const char *s, char **t, int base)
 	    ret = ret * base + (idigit(*s) ? (*s - '0') : (*s & 0x1f) + 9);
     if (t)
 	*t = (char *)s;
-    return ret;
-}
 # else /* !RLIM_T_IS_QUAD_T && !RLIM_T_IS_LONG_LONG && !RLIM_T_IS_UNSIGNED */
-#  define zstrtorlimt(a, b, c)	zstrtol((a), (b), (c))
+    ret = zstrtol(s, t, base);
 # endif /* !RLIM_T_IS_QUAD_T && !RLIM_T_IS_LONG_LONG && !RLIM_T_IS_UNSIGNED */
-
-/* Display resource limits.  hard indicates whether `hard' or `soft'  *
- * limits should be displayed.  lim specifies the limit, or may be -1 *
- * to show all.                                                       */
+    return ret;
+}
 
 /**/
 static void
-showlimits(int hard, int lim)
+showlimitvalue(int lim, rlim_t val)
 {
-    int rt;
-    rlim_t val;
-
-    /* main loop over resource types */
-    for (rt = 0; rt != ZSH_NLIMITS; rt++)
-	if (rt == lim || lim == -1) {
-	    /* display limit for resource number rt */
-	    printf("%-16s", recs[rt]);
-	    val = (hard) ? limits[rt].rlim_max : limits[rt].rlim_cur;
-	    if (val == RLIM_INFINITY)
-		printf("unlimited\n");
-	    else if (limtype[rt] == ZLIMTYPE_TIME) {
-		/* time-type resource -- display as hours, minutes and
-		seconds. */
-		printf("%d:%02d:%02d\n", (int)(val / 3600),
-		       (int)(val / 60) % 60, (int)(val % 60));
-	    } else if (limtype[rt] == ZLIMTYPE_NUMBER || limtype[rt] == ZLIMTYPE_UNKNOWN) {
-		/* pure numeric resource */
-		printf("%d\n", (int)val);
-	    } else if (val >= 1024L * 1024L)
-		/* memory resource -- display with `K' or `M' modifier */
+    /* display limit for resource number lim */
+    if (lim < ZSH_NLIMITS)
+	printf("%-16s", recs[lim]);
+    else
+    {
+	/* Unknown limit, hence unknown units. */
+	printf("%-16d", lim);
+    }
+    if (val == RLIM_INFINITY)
+	printf("unlimited\n");
+    else if (lim >= ZSH_NLIMITS)
+    {
 # ifdef RLIM_T_IS_QUAD_T
-		printf("%qdMB\n", val / (1024L * 1024L));
-	    else
-		printf("%qdkB\n", val / 1024L);
+	printf("%qd\n", val);
 # else
 #  ifdef RLIM_T_IS_LONG_LONG
-		printf("%lldMB\n", val / (1024L * 1024L));
-            else
-		printf("%lldkB\n", val / 1024L);
+	printf("%lld\n", val);
 #  else
 #   ifdef RLIM_T_IS_UNSIGNED
-		printf("%luMB\n", val / (1024L * 1024L));
-            else
-		printf("%lukB\n", val / 1024L);
+	printf("%lu\n", val);
 #   else
-		printf("%ldMB\n", val / (1024L * 1024L));
-            else
-		printf("%ldkB\n", val / 1024L);
+	printf("%ld\n", val);
 #   endif /* RLIM_T_IS_UNSIGNED */
 #  endif /* RLIM_T_IS_LONG_LONG */
 # endif /* RLIM_T_IS_QUAD_T */
+    }
+    else if (limtype[lim] == ZLIMTYPE_TIME) {
+	/* time-type resource -- display as hours, minutes and
+	   seconds. */
+	printf("%d:%02d:%02d\n", (int)(val / 3600),
+	       (int)(val / 60) % 60, (int)(val % 60));
+    } else if (limtype[lim] == ZLIMTYPE_NUMBER ||
+	       limtype[lim] == ZLIMTYPE_UNKNOWN) {
+	/* pure numeric resource */
+	printf("%d\n", (int)val);
+    } else if (val >= 1024L * 1024L)
+	/* memory resource -- display with `K' or `M' modifier */
+# ifdef RLIM_T_IS_QUAD_T
+	printf("%qdMB\n", val / (1024L * 1024L));
+    else
+	printf("%qdkB\n", val / 1024L);
+# else
+#  ifdef RLIM_T_IS_LONG_LONG
+    printf("%lldMB\n", val / (1024L * 1024L));
+    else
+	printf("%lldkB\n", val / 1024L);
+#  else
+#   ifdef RLIM_T_IS_UNSIGNED
+    printf("%luMB\n", val / (1024L * 1024L));
+    else
+	printf("%lukB\n", val / 1024L);
+#   else
+    printf("%ldMB\n", val / (1024L * 1024L));
+    else
+	printf("%ldkB\n", val / 1024L);
+#   endif /* RLIM_T_IS_UNSIGNED */
+#  endif /* RLIM_T_IS_LONG_LONG */
+# endif /* RLIM_T_IS_QUAD_T */
+}
+
+/* Display resource limits.  hard indicates whether `hard' or `soft'  *
+ * limits should be displayed.  lim specifies the limit, or may be -1 *
+ * to show all.                                                       */
+
+/**/
+static int
+showlimits(char *nam, int hard, int lim)
+{
+    int rt;
+
+    if (lim >= ZSH_NLIMITS)
+    {
+	/*
+	 * Not configured into the shell.  Ask the OS
+	 * explicitly for this limit.
+	 */
+	struct rlimit vals;
+	if (getrlimit(lim, &vals) < 0)
+	{
+	    zwarnnam(nam, "can't read limit: %e", NULL, errno);
+	    return 1;
 	}
+	showlimitvalue(lim, hard ? vals.rlim_max : vals.rlim_cur);
+    }
+    else if (lim != -1)
+    {
+	showlimitvalue(lim, hard ? limits[lim].rlim_max :
+		       limits[lim].rlim_cur);
+    }
+    else
+    {
+	/* main loop over resource types */
+	for (rt = 0; rt != ZSH_NLIMITS; rt++)
+	    showlimitvalue(rt, (hard) ? limits[rt].rlim_max :
+			   limits[rt].rlim_cur);
+    }
+
+    return 0;
 }
 
 /* Display a resource limit, in ulimit style.  lim specifies which   *
@@ -131,121 +187,165 @@ showlimits(int hard, int lim)
  * soft limit should be displayed.                                   */
 
 /**/
-static void
-printulimit(int lim, int hard, int head)
+static int
+printulimit(char *nam, int lim, int hard, int head)
 {
     rlim_t limit;
 
     /* get the limit in question */
-    limit = (hard) ? limits[lim].rlim_max : limits[lim].rlim_cur;
+    if (lim >= ZSH_NLIMITS)
+    {
+	struct rlimit vals;
+
+	if (getrlimit(lim, &vals) < 0)
+	{
+	    zwarnnam(nam, "can't read limit: %e", NULL, errno);
+	    return 1;
+	}
+	limit = (hard) ? vals.rlim_max : vals.rlim_cur;
+    }
+    else
+	limit = (hard) ? limits[lim].rlim_max : limits[lim].rlim_cur;
     /* display the appropriate heading */
     switch (lim) {
-    case RLIMIT_CPU:
-	if (head)
-	    printf("cpu time (seconds)         ");
-	break;
-    case RLIMIT_FSIZE:
+    case RLIMIT_CORE:
 	if (head)
-	    printf("file size (blocks)         ");
+	    printf("-c: core file size (blocks)    ");
 	if (limit != RLIM_INFINITY)
 	    limit /= 512;
 	break;
     case RLIMIT_DATA:
 	if (head)
-	    printf("data seg size (kbytes)     ");
+	    printf("-d: data seg size (kbytes)     ");
 	if (limit != RLIM_INFINITY)
 	    limit /= 1024;
 	break;
-    case RLIMIT_STACK:
+    case RLIMIT_FSIZE:
 	if (head)
-	    printf("stack size (kbytes)        ");
+	    printf("-f: file size (blocks)         ");
 	if (limit != RLIM_INFINITY)
-	    limit /= 1024;
+	    limit /= 512;
 	break;
-    case RLIMIT_CORE:
+# ifdef HAVE_RLIMIT_SIGPENDING
+    case RLIMIT_SIGPENDING:
+	if (head)
+	    printf("-i: pending signals            ");
+	break;
+# endif
+# ifdef HAVE_RLIMIT_MEMLOCK
+    case RLIMIT_MEMLOCK:
 	if (head)
-	    printf("core file size (blocks)    ");
+	    printf("-l: locked-in-memory size (kb) ");
 	if (limit != RLIM_INFINITY)
-	    limit /= 512;
+	    limit /= 1024;
 	break;
-# ifdef RLIMIT_RSS
+# endif /* HAVE_RLIMIT_MEMLOCK */
+/* If RLIMIT_VMEM and RLIMIT_RSS are defined and equal, avoid *
+ * duplicate case statement.  Observed on QNX Neutrino 6.1.0. */
+# if defined(HAVE_RLIMIT_RSS) && !defined(RLIMIT_VMEM_IS_RSS)
     case RLIMIT_RSS:
 	if (head)
-	    printf("resident set size (kbytes) ");
+	    printf("-m: resident set size (kbytes) ");
 	if (limit != RLIM_INFINITY)
 	    limit /= 1024;
 	break;
-# endif /* RLIMIT_RSS */
-# ifdef RLIMIT_MEMLOCK
-    case RLIMIT_MEMLOCK:
+# endif /* HAVE_RLIMIT_RSS */
+# if defined(HAVE_RLIMIT_VMEM) && defined(HAVE_RLIMIT_RSS) && defined(RLIMIT_VMEM_IS_RSS)
+    case RLIMIT_VMEM:
 	if (head)
-	    printf("locked-in-memory size (kb) ");
+	    printf("-m: memory size (kb)           ");
 	if (limit != RLIM_INFINITY)
 	    limit /= 1024;
 	break;
-# endif /* RLIMIT_MEMLOCK */
-# ifdef RLIMIT_NPROC
-    case RLIMIT_NPROC:
+# endif /* HAVE_RLIMIT_VMEM */
+# ifdef HAVE_RLIMIT_NOFILE
+    case RLIMIT_NOFILE:
 	if (head)
-	    printf("processes                  ");
+	    printf("-n: file descriptors           ");
 	break;
-# endif /* RLIMIT_NPROC */
-# ifdef RLIMIT_NOFILE
-    case RLIMIT_NOFILE:
+# endif /* HAVE_RLIMIT_NOFILE */
+# ifdef HAVE_RLIMIT_MSGQUEUE
+    case RLIMIT_MSGQUEUE:
 	if (head)
-	    printf("file descriptors           ");
+	    printf("-q: bytes in POSIX msg queues  ");
 	break;
-# endif /* RLIMIT_NOFILE */
-# ifdef RLIMIT_VMEM
-    case RLIMIT_VMEM:
+# endif
+    case RLIMIT_STACK:
 	if (head)
-	    printf("virtual memory size (kb)   ");
+	    printf("-s: stack size (kbytes)        ");
 	if (limit != RLIM_INFINITY)
 	    limit /= 1024;
 	break;
-# endif /* RLIMIT_VMEM */
-# if defined RLIMIT_AS && RLIMIT_AS != RLIMIT_VMEM
-    case RLIMIT_AS:
+    case RLIMIT_CPU:
+	if (head)
+	    printf("-t: cpu time (seconds)         ");
+	break;
+# ifdef HAVE_RLIMIT_NPROC
+    case RLIMIT_NPROC:
+	if (head)
+	    printf("-u: processes                  ");
+	break;
+# endif /* HAVE_RLIMIT_NPROC */
+# if defined(HAVE_RLIMIT_VMEM) && (!defined(HAVE_RLIMIT_RSS) || !defined(RLIMIT_VMEM_IS_RSS))
+    case RLIMIT_VMEM:
 	if (head)
-	    printf("address space (kb)         ");
+	    printf("-v: virtual memory size (kb)   ");
 	if (limit != RLIM_INFINITY)
 	    limit /= 1024;
 	break;
-# endif /* RLIMIT_AS */
-# ifdef RLIMIT_TCACHE
-    case RLIMIT_TCACHE:
+# endif /* HAVE_RLIMIT_VMEM */
+# if defined HAVE_RLIMIT_AS && !defined(RLIMIT_VMEM_IS_AS)
+    case RLIMIT_AS:
 	if (head)
-	    printf("cached threads             ");
+	    printf("-v: address space (kb)         ");
+	if (limit != RLIM_INFINITY)
+	    limit /= 1024;
 	break;
-# endif /* RLIMIT_TCACHE */
-# ifdef RLIMIT_AIO_OPS
-    case RLIMIT_AIO_OPS:
+# endif /* HAVE_RLIMIT_AS */
+# ifdef HAVE_RLIMIT_LOCKS
+    case RLIMIT_LOCKS:
 	if (head)
-	    printf("AIO operations             ");
+	    printf("-x: file locks                 ");
 	break;
-# endif /* RLIMIT_AIO_OPS */
-# ifdef RLIMIT_AIO_MEM
+# endif /* HAVE_RLIMIT_LOCKS */
+# ifdef HAVE_RLIMIT_AIO_MEM
     case RLIMIT_AIO_MEM:
 	if (head)
-	    printf("AIO locked-in-memory (kb)  ");
+	    printf("-N %2d: AIO locked-in-memory (kb) ", RLIMIT_AIO_MEM);
 	if (limit != RLIM_INFINITY)
 	    limit /= 1024;
 	break;
-# endif /* RLIMIT_AIO_MEM */
-# ifdef RLIMIT_SBSIZE
+# endif /* HAVE_RLIMIT_AIO_MEM */
+# ifdef HAVE_RLIMIT_AIO_OPS
+    case RLIMIT_AIO_OPS:
+	if (head)
+	    printf("-N %2d: AIO operations          ", RLIMIT_AIO_OPS);
+	break;
+# endif /* HAVE_RLIMIT_AIO_OPS */
+# ifdef HAVE_RLIMIT_TCACHE
+    case RLIMIT_TCACHE:
+	if (head)
+	    printf("-N %2d: cached threads          ", RLIMIT_TCACHE);
+	break;
+# endif /* HAVE_RLIMIT_TCACHE */
+# ifdef HAVE_RLIMIT_SBSIZE
     case RLIMIT_SBSIZE:
 	if (head)
-	    printf("socket buffer size (kb)    ");
+	    printf("-N %2d: socket buffer size (kb) ", RLIMIT_SBSIZE);
 	if (limit != RLIM_INFINITY)
 	    limit /= 1024;
 	break;
-# endif /* RLIMIT_SBSIZE */
-# ifdef RLIMIT_PTHREAD
+# endif /* HAVE_RLIMIT_SBSIZE */
+# ifdef HAVE_RLIMIT_PTHREAD
     case RLIMIT_PTHREAD:
 	if (head)
-	    printf("threads per process        ");
+	    printf("-N %2d: threads per process     ", RLIMIT_PTHREAD);
+	break;
+# endif /* HAVE_RLIMIT_PTHREAD */
+    default:
+	if (head)
+	    printf("-N %2d:                         ", lim);
 	break;
-# endif /* RLIMIT_PTHREAD */
     }
     /* display the limit */
     if (limit == RLIM_INFINITY)
@@ -265,6 +365,93 @@ printulimit(int lim, int hard, int head)
 #  endif /* RLIM_T_IS_LONG_LONG */
 # endif /* RLIM_T_IS_QUAD_T */
     }
+
+    return 0;
+}
+
+/**/
+static int
+do_limit(char *nam, int lim, rlim_t val, int hard, int soft, int set)
+{
+    if (lim >= ZSH_NLIMITS) {
+	struct rlimit vals;
+	if (getrlimit(lim, &vals) < 0)
+	{
+	    /* best guess about error */
+	    zwarnnam(nam, "can't read limit: %e", NULL, errno);
+	    return 1;
+	}
+	if (hard)
+	{
+	    if (val > vals.rlim_max && geteuid()) {
+		zwarnnam(nam, "can't raise hard limits", NULL, 0);
+		return 1;
+	    }
+	    vals.rlim_max = val;
+	    /*
+	     * not show if all systems will do this silently, but
+	     * best be safe...
+	     */
+	    if (val < vals.rlim_cur)
+		vals.rlim_cur = val;
+	}
+	if (soft || !hard) {
+	    if (val > vals.rlim_max) {
+		zwarnnam(nam, "limit exceeds hard limit", NULL, 0);
+		return 1;
+	    }
+	    else
+		vals.rlim_cur = val;
+	}
+	if (!set)
+	{
+	    zwarnnam(nam,
+		     "warning: unrecognised limit %d, use -s to set",
+		     NULL, lim);
+	    return 1;
+	}
+	else if (setrlimit(lim, &vals) < 0)
+	{
+	    zwarnnam(nam, "setrlimit failed: %e", NULL, errno);
+	    return 1;
+	}
+    } else {
+	/* new limit is valid and has been interpreted; apply it to the
+	specified resource */
+	if (hard) {
+	    /* can only raise hard limits if running as root */
+	    if (val > current_limits[lim].rlim_max && geteuid()) {
+		zwarnnam(nam, "can't raise hard limits", NULL, 0);
+		return 1;
+	    } else {
+		limits[lim].rlim_max = val;
+		if (val < limits[lim].rlim_cur)
+		    limits[lim].rlim_cur = val;
+	    }
+	}
+	if (soft || !hard) {
+	    if (val > limits[lim].rlim_max) {
+		/* no idea about this difference, don't intend to worry */
+		if (*nam == 'u')
+		{
+		    /* ulimit does this */
+		    if (val > current_limits[lim].rlim_max && geteuid()) {
+			zwarnnam(nam, "value exceeds hard limit", NULL, 0);
+			return 1;
+		    }
+		    limits[lim].rlim_max = limits[lim].rlim_cur = val;
+		} else {
+		    /* but limit does this */
+		    zwarnnam(nam, "limit exceeds hard limit", NULL, 0);
+		    return 1;
+		}
+	    } else
+		limits[lim].rlim_cur = val;
+	    if (set && zsetlimit(lim, "limit"))
+		return 1;
+	}
+    }
+    return 0;
 }
 
 /* limit: set or show resource limits.  The variable hard indicates *
@@ -272,46 +459,57 @@ printulimit(int lim, int hard, int head)
 
 /**/
 static int
-bin_limit(char *nam, char **argv, char *ops, int func)
+bin_limit(char *nam, char **argv, Options ops, UNUSED(int func))
 {
     char *s;
     int hard, limnum, lim;
     rlim_t val;
     int ret = 0;
 
-    hard = ops['h'];
-    if (ops['s'] && !*argv)
+    hard = OPT_ISSET(ops,'h');
+    if (OPT_ISSET(ops,'s') && !*argv)
 	return setlimits(NULL);
     /* without arguments, display limits */
-    if (!*argv) {
-	showlimits(hard, -1);
-	return 0;
-    }
+    if (!*argv)
+	return showlimits(nam, hard, -1);
     while ((s = *argv++)) {
 	/* Search for the appropriate resource name.  When a name matches (i.e. *
 	 * starts with) the argument, the lim variable changes from -1 to the   *
 	 * number of the resource.  If another match is found, lim goes to -2.  */
-	for (lim = -1, limnum = 0; limnum < ZSH_NLIMITS; limnum++)
-	    if (!strncmp(recs[limnum], s, strlen(s))) {
-		if (lim != -1)
-		    lim = -2;
-		else
-		    lim = limnum;
-	    }
+	if (idigit(*s))
+	{
+	    lim = (int)zstrtol(s, NULL, 10);
+	}
+	else
+	    for (lim = -1, limnum = 0; limnum < ZSH_NLIMITS; limnum++)
+		if (!strncmp(recs[limnum], s, strlen(s))) {
+		    if (lim != -1)
+			lim = -2;
+		    else
+			lim = limnum;
+		}
 	/* lim==-1 indicates that no matches were found.       *
 	 * lim==-2 indicates that multiple matches were found. */
 	if (lim < 0) {
-	    zwarnnam("limit",
+	    zwarnnam(nam,
 		     (lim == -2) ? "ambiguous resource specification: %s"
 		     : "no such resource: %s", s, 0);
 	    return 1;
 	}
 	/* without value for limit, display the current limit */
-	if (!(s = *argv++)) {
-	    showlimits(hard, lim);
-	    return 0;
+	if (!(s = *argv++))
+	    return showlimits(nam, hard, lim);
+	if (lim >= ZSH_NLIMITS)
+	{
+	    val = zstrtorlimt(s, &s, 10);
+	    if (*s)
+	    {
+		/* unknown limit, no idea how to scale */
+		zwarnnam(nam, "unknown scaling factor: %s", s, 0);
+		return 1;
+	    }
 	}
-	if (limtype[lim] == ZLIMTYPE_TIME) {
+	else if (limtype[lim] == ZLIMTYPE_TIME) {
 	    /* time-type resource -- may be specified as seconds, or minutes or *
 	     * hours with the `m' and `h' modifiers, and `:' may be used to add *
 	     * together more than one of these.  It's easier to understand from *
@@ -325,48 +523,83 @@ bin_limit(char *nam, char **argv, char *ops, int func)
 		else if (*s == ':')
 		    val = val * 60 + zstrtorlimt(s + 1, &s, 10);
 		else {
-		    zwarnnam("limit", "unknown scaling factor: %s", s, 0);
+		    zwarnnam(nam, "unknown scaling factor: %s", s, 0);
 		    return 1;
 		}
 	    }
 	} else if (limtype[lim] == ZLIMTYPE_NUMBER || limtype[lim] == ZLIMTYPE_UNKNOWN) {
 	    /* pure numeric resource -- only a straight decimal number is
 	    permitted. */
-	    val = zstrtorlimt(s, &s, 10);
+	    char *t = s;
+	    val = zstrtorlimt(t, &s, 10);
+	    if (s == t) {
+		zwarnnam(nam, "limit must be a number", NULL, 0);
+		return 1;
+	    }
 	} else {
 	    /* memory-type resource -- `k' and `M' modifiers are permitted,
 	    meaning (respectively) 2^10 and 2^20. */
 	    val = zstrtorlimt(s, &s, 10);
-	    if (!*s || ((*s == 'k' || *s == 'K') && !s[1]))
-		val *= 1024L;
-	    else if ((*s == 'M' || *s == 'm') && !s[1])
+	    if (!*s || ((*s == 'k' || *s == 'K') && !s[1])) {
+		if (val != RLIM_INFINITY)
+		    val *= 1024L;
+	    } else if ((*s == 'M' || *s == 'm') && !s[1])
 		val *= 1024L * 1024;
 	    else {
-		zwarnnam("limit", "unknown scaling factor: %s", s, 0);
+		zwarnnam(nam, "unknown scaling factor: %s", s, 0);
 		return 1;
 	    }
 	}
-	/* new limit is valid and has been interpreted; apply it to the
-	specified resource */
+	if (do_limit(nam, lim, val, hard, !hard, OPT_ISSET(ops, 's')))
+	    ret++;
+    }
+    return ret;
+}
+
+/**/
+static int
+do_unlimit(char *nam, int lim, int hard, int soft, int set, int euid)
+{
+    /* remove specified limit */
+    if (lim >= ZSH_NLIMITS) {
+	struct rlimit vals;
+	if (getrlimit(lim, &vals) < 0)
+	{
+	    zwarnnam(nam, "can't read limit: %e", NULL, errno);
+	    return 1;
+	}
 	if (hard) {
-	    /* can only raise hard limits if running as root */
-	    if (val > current_limits[lim].rlim_max && geteuid()) {
-		zwarnnam("limit", "can't raise hard limits", NULL, 0);
+	    if (euid && vals.rlim_max != RLIM_INFINITY) {
+		zwarnnam(nam, "can't remove hard limits", NULL, 0);
 		return 1;
-	    } else {
-		limits[lim].rlim_max = val;
-		if (val < limits[lim].rlim_cur)
-		    limits[lim].rlim_cur = val;
-	    }
-	} else if (val > limits[lim].rlim_max) {
-	    zwarnnam("limit", "limit exceeds hard limit", NULL, 0);
+	    } else
+		vals.rlim_max = RLIM_INFINITY;
+	}
+	if (!hard || soft)
+	    vals.rlim_cur = vals.rlim_max;
+	if (!set) {
+	    zwarnnam(nam,
+		     "warning: unrecognised limit %d, use -s to set",
+		     NULL, lim);
+	    return 1;
+	} else if (setrlimit(lim, &vals) < 0) {
+	    zwarnnam(nam, "setrlimit failed: %e", NULL, errno);
+	    return 1;
+	}
+    } else {
+	if (hard) {
+	    if (euid && current_limits[lim].rlim_max != RLIM_INFINITY) {
+		zwarnnam(nam, "can't remove hard limits", NULL, 0);
+		return 1;
+	    } else
+		limits[lim].rlim_max = RLIM_INFINITY;
+	}
+	if (!hard || soft)
+	    limits[lim].rlim_cur = limits[lim].rlim_max;
+	if (set && zsetlimit(lim, nam))
 	    return 1;
-	} else
-	    limits[lim].rlim_cur = val;
-	if (ops['s'] && zsetlimit(lim, "limit"))
-	    ret++;
     }
-    return ret;
+    return 0;
 }
 
 /* unlimit: remove resource limits.  Much of this code is the same as *
@@ -374,13 +607,13 @@ bin_limit(char *nam, char **argv, char *ops, int func)
 
 /**/
 static int
-bin_unlimit(char *nam, char **argv, char *ops, int func)
+bin_unlimit(char *nam, char **argv, Options ops, UNUSED(int func))
 {
     int hard, limnum, lim;
     int ret = 0;
     uid_t euid = geteuid();
 
-    hard = ops['h'];
+    hard = OPT_ISSET(ops,'h');
     /* Without arguments, remove all limits. */
     if (!*argv) {
 	for (limnum = 0; limnum != RLIM_NLIMITS; limnum++) {
@@ -392,7 +625,7 @@ bin_unlimit(char *nam, char **argv, char *ops, int func)
 	    } else
 		limits[limnum].rlim_cur = limits[limnum].rlim_max;
 	}
-	if (ops['s'])
+	if (OPT_ISSET(ops,'s'))
 	    ret += setlimits(nam);
 	if (ret)
 	    zwarnnam(nam, "can't remove hard limits", NULL, 0);
@@ -402,13 +635,17 @@ bin_unlimit(char *nam, char **argv, char *ops, int func)
 	     * matches (i.e. starts with) the argument, the lim variable  *
 	     * changes from -1 to the number of the resource.  If another *
 	     * match is found, lim goes to -2.                            */
-	    for (lim = -1, limnum = 0; limnum < ZSH_NLIMITS; limnum++)
-		if (!strncmp(recs[limnum], *argv, strlen(*argv))) {
-		    if (lim != -1)
-			lim = -2;
-		    else
-			lim = limnum;
-		}
+	    if (idigit(**argv)) {
+		lim = (int)zstrtol(*argv, NULL, 10);
+	    } else {
+		for (lim = -1, limnum = 0; limnum < ZSH_NLIMITS; limnum++)
+		    if (!strncmp(recs[limnum], *argv, strlen(*argv))) {
+			if (lim != -1)
+			    lim = -2;
+			else
+			    lim = limnum;
+		    }
+	    }
 	    /* lim==-1 indicates that no matches were found.       *
 	     * lim==-2 indicates that multiple matches were found. */
 	    if (lim < 0) {
@@ -417,16 +654,8 @@ bin_unlimit(char *nam, char **argv, char *ops, int func)
 			 : "no such resource: %s", *argv, 0);
 		return 1;
 	    }
-	    /* remove specified limit */
-	    if (hard) {
-		if (euid && current_limits[lim].rlim_max != RLIM_INFINITY) {
-		    zwarnnam(nam, "can't remove hard limits", NULL, 0);
-		    ret++;
-		} else
-		    limits[lim].rlim_max = RLIM_INFINITY;
-	    } else
-		limits[lim].rlim_cur = limits[lim].rlim_max;
-	    if (ops['s'] && zsetlimit(lim, nam))
+	    else if (do_unlimit(nam, lim, hard, !hard, OPT_ISSET(ops, 's'),
+				euid))
 		ret++;
 	}
     }
@@ -437,9 +666,9 @@ bin_unlimit(char *nam, char **argv, char *ops, int func)
 
 /**/
 static int
-bin_ulimit(char *name, char **argv, char *ops, int func)
+bin_ulimit(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
 {
-    int res, resmask = 0, hard = 0, soft = 0, nres = 0;
+    int res, resmask = 0, hard = 0, soft = 0, nres = 0, all = 0, ret = 0;
     char *options;
 
     do {
@@ -462,12 +691,29 @@ bin_ulimit(char *name, char **argv, char *ops, int func)
 		case 'S':
 		    soft = 1;
 		    continue;
+		case 'N':
+		    if (options[1]) {
+			res = (int)zstrtol(options+1, NULL, 10);
+		    } else if (*argv) {
+			res = (int)zstrtol(*argv++, NULL, 10);
+		    } else {
+			zwarnnam(name, "number required after -N",
+				 NULL, 0);
+			return 1;
+		    }
+		    /*
+		     * fake it so it looks like we just finished an option...
+		     */
+		    while (options[1])
+			options++;
+		    break;
 		case 'a':
-		    if (*argv || options[1] || resmask) {
-			zwarnnam(name, "no arguments required after -a",
+		    if (resmask) {
+			zwarnnam(name, "no limits allowed with -a",
 				 NULL, 0);
 			return 1;
 		    }
+		    all = 1;
 		    resmask = (1 << RLIM_NLIMITS) - 1;
 		    nres = RLIM_NLIMITS;
 		    continue;
@@ -486,31 +732,50 @@ bin_ulimit(char *name, char **argv, char *ops, int func)
 		case 'c':
 		    res = RLIMIT_CORE;
 		    break;
-# ifdef RLIMIT_RSS
+# ifdef HAVE_RLIMIT_RSS
 		case 'm':
 		    res = RLIMIT_RSS;
 		    break;
-# endif /* RLIMIT_RSS */
-# ifdef RLIMIT_MEMLOCK
+# endif /* HAVE_RLIMIT_RSS */
+# ifdef HAVE_RLIMIT_MEMLOCK
 		case 'l':
 		    res = RLIMIT_MEMLOCK;
 		    break;
-# endif /* RLIMIT_MEMLOCK */
-# ifdef RLIMIT_NOFILE
+# endif /* HAVE_RLIMIT_MEMLOCK */
+# ifdef HAVE_RLIMIT_NOFILE
 		case 'n':
 		    res = RLIMIT_NOFILE;
 		    break;
-# endif /* RLIMIT_NOFILE */
-# ifdef RLIMIT_NPROC
+# endif /* HAVE_RLIMIT_NOFILE */
+# ifdef HAVE_RLIMIT_NPROC
 		case 'u':
 		    res = RLIMIT_NPROC;
 		    break;
-# endif /* RLIMIT_NPROC */
-# ifdef RLIMIT_VMEM
+# endif /* HAVE_RLIMIT_NPROC */
+# if defined(HAVE_RLIMIT_VMEM) || defined(HAVE_RLIMIT_AS)
 		case 'v':
+#  ifdef HAVE_RLIMIT_VMEM
 		    res = RLIMIT_VMEM;
+#  else
+		    res = RLIMIT_AS;
+#  endif
+		    break;
+# endif /* HAVE_RLIMIT_VMEM */
+# ifdef HAVE_RLIMIT_LOCKS
+		case 'x':
+		    res = RLIMIT_LOCKS;
+		    break;
+# endif
+# ifdef HAVE_RLIMIT_SIGPENDING
+		case 'i':
+		    res = RLIMIT_SIGPENDING;
+		    break;
+# endif
+# ifdef HAVE_RLIMIT_MSGQUEUE
+		case 'q':
+		    res = RLIMIT_MSGQUEUE;
 		    break;
-# endif /* RLIMIT_VMEM */
+# endif
 		default:
 		    /* unrecognised limit */
 		    zwarnnam(name, "bad option: -%c", NULL, *options);
@@ -520,6 +785,11 @@ bin_ulimit(char *name, char **argv, char *ops, int func)
 		    resmask |= 1 << res;
 		    nres++;
 		}
+		if (all && res != -1) {
+		    zwarnnam(name, "no limits allowed with -a",
+			     NULL, 0);
+		    return 1;
+		}
 	    }
 	}
 	if (!*argv || **argv == '-') {
@@ -533,6 +803,10 @@ bin_ulimit(char *name, char **argv, char *ops, int func)
 	    nres++;
 	    continue;
 	}
+	if (all) {
+	    zwarnnam(name, "no arguments allowed after -a", NULL, 0);
+	    return 1;
+	}
 	if (res < 0)
 	    res = RLIMIT_FSIZE;
 	if (strcmp(*argv, "unlimited")) {
@@ -548,65 +822,39 @@ bin_ulimit(char *name, char **argv, char *ops, int func)
 		break;
 	    case RLIMIT_DATA:
 	    case RLIMIT_STACK:
-# ifdef RLIMIT_RSS
+# ifdef HAVE_RLIMIT_RSS
 	    case RLIMIT_RSS:
-# endif /* RLIMIT_RSS */
-# ifdef RLIMIT_MEMLOCK
+# endif /* HAVE_RLIMIT_RSS */
+# ifdef HAVE_RLIMIT_MEMLOCK
 	    case RLIMIT_MEMLOCK:
-# endif /* RLIMIT_MEMLOCK */
-# ifdef RLIMIT_VMEM
+# endif /* HAVE_RLIMIT_MEMLOCK */
+/* If RLIMIT_VMEM and RLIMIT_RSS are defined and equal, avoid *
+ * duplicate case statement.  Observed on QNX Neutrino 6.1.0. */
+# if defined(HAVE_RLIMIT_VMEM) && !defined(RLIMIT_VMEM_IS_RSS)
 	    case RLIMIT_VMEM:
-# endif /* RLIMIT_VMEM */
-# ifdef RLIMIT_AIO_MEM
+# endif /* HAVE_RLIMIT_VMEM */
+/* ditto RLIMIT_VMEM and RLIMIT_AS */
+# if defined(HAVE_RLIMIT_AS) && !defined(RLIMIT_VMEM_IS_AS)
+	    case RLIMIT_AS:
+# endif /* HAVE_RLIMIT_AS */
+# ifdef HAVE_RLIMIT_AIO_MEM
 	    case RLIMIT_AIO_MEM:
-# endif /* RLIMIT_AIO_MEM */
+# endif /* HAVE_RLIMIT_AIO_MEM */
 		limit *= 1024;
 		break;
 	    }
-	    if (hard) {
-		/* can't raise hard limit unless running as root */
-		if (limit > current_limits[res].rlim_max && geteuid()) {
-		    zwarnnam(name, "can't raise hard limits", NULL, 0);
-		    return 1;
-		}
-		limits[res].rlim_max = limit;
-		if (limit < limits[res].rlim_cur)
-		    limits[res].rlim_cur = limit;
-	    }
-	    if (!hard || soft) {
-		/* can't raise soft limit above hard limit */
-		if (limit > limits[res].rlim_max) {
-		    if (limit > current_limits[res].rlim_max && geteuid()) {
-			zwarnnam(name, "value exceeds hard limit", NULL, 0);
-			return 1;
-		    }
-		    limits[res].rlim_max = limits[res].rlim_cur = limit;
-		} else
-		    limits[res].rlim_cur = limit;
-	    }
+	    if (do_limit(name, res, limit, hard, soft, 1))
+		ret++;
 	} else {
-	    /* remove specified limit */
-	    if (hard) {
-		/* can't remove hard limit unless running as root */
-		if (current_limits[res].rlim_max != RLIM_INFINITY && geteuid()) {
-		    zwarnnam(name, "can't remove hard limits", NULL, 0);
-		    return 1;
-		}
-		limits[res].rlim_max = RLIM_INFINITY;
-	    }
-	    if (!hard || soft)
-		/* `removal' of soft limit means setting it equal to the
-		   corresponding hard limit */
-		limits[res].rlim_cur = limits[res].rlim_max;
+	    if (do_unlimit(name, res, hard, soft, 1, geteuid()))
+		ret++;
 	}
-	if (zsetlimit(res, name))
-	    return 1;
 	argv++;
     } while (*argv);
-    for (res = 0; res < RLIM_NLIMITS; res++, resmask >>= 1)
-	if (resmask & 1)
-	    printulimit(res, hard, nres > 1);
-    return 0;
+    for (res = 0; resmask; res++, resmask >>= 1)
+	if ((resmask & 1) && printulimit(name, res, hard, nres > 1))
+	    ret++;
+    return ret;
 }
 
 #else /* !HAVE_GETRLIMIT || !RLIM_INFINITY */
@@ -625,7 +873,7 @@ static struct builtin bintab[] = {
 
 /**/
 int
-setup_(Module m)
+setup_(UNUSED(Module m))
 {
     return 0;
 }
@@ -647,7 +895,7 @@ cleanup_(Module m)
 
 /**/
 int
-finish_(Module m)
+finish_(UNUSED(Module m))
 {
     return 0;
 }
diff --git a/Src/cond.c b/Src/cond.c
index 5593097a0..aa808715f 100644
--- a/Src/cond.c
+++ b/Src/cond.c
@@ -37,15 +37,26 @@ static char *condstr[COND_MOD] = {
     "-ne", "-lt", "-gt", "-le", "-ge"
 };
 
+/*
+ * Evaluate a conditional expression given the arguments.
+ * If fromtest is set, the caller is the test or [ builtin;
+ * with the pointer giving the name of the command.
+ * for POSIX conformance this supports a more limited range
+ * of functionality.
+ *
+ * Return status is the final shell status, i.e. 0 for true,
+ * 1 for false and 2 for error.
+ */
+
 /**/
 int
-evalcond(Estate state)
+evalcond(Estate state, char *fromtest)
 {
     struct stat *st;
     char *left, *right;
     Wordcode pcode;
     wordcode code;
-    int ctype, htok = 0;
+    int ctype, htok = 0, ret;
 
  rec:
 
@@ -58,24 +69,28 @@ evalcond(Estate state)
     case COND_NOT:
 	if (tracingcond)
 	    fprintf(xtrerr, " %s", condstr[ctype]);
-	return !evalcond(state);
+	ret = evalcond(state, fromtest);
+	if (ret == 2)
+	    return ret;
+	else
+	    return !ret;
     case COND_AND:
-	if (evalcond(state)) {
+	if (!(ret = evalcond(state, fromtest))) {
 	    if (tracingcond)
 		fprintf(xtrerr, " %s", condstr[ctype]);
 	    goto rec;
 	} else {
 	    state->pc = pcode + (WC_COND_SKIP(code) + 1);
-	    return 0;
+	    return ret;
 	}
     case COND_OR:
-	if (!evalcond(state)) {
+	if ((ret = evalcond(state, fromtest)) == 1) {
 	    if (tracingcond)
 		fprintf(xtrerr, " %s", condstr[ctype]);
 	    goto rec;
 	} else {
 	    state->pc = pcode + (WC_COND_SKIP(code) + 1);
-	    return 1;
+	    return ret;
 	}
     case COND_MOD:
     case COND_MODI:
@@ -99,12 +114,13 @@ evalcond(Estate state)
 	    if ((cd = getconddef((ctype == COND_MODI), name + 1, 1))) {
 		if (ctype == COND_MOD &&
 		    (l < cd->min || (cd->max >= 0 && l > cd->max))) {
-		    zerr("unrecognized condition: `%s'", name, 0);
-		    return 0;
+		    zwarnnam(fromtest, "unrecognized condition: `%s'",
+			     name, 0);
+		    return 2;
 		}
 		if (tracingcond)
 		    tracemodcond(name, strs, ctype == COND_MODI);
-		return cd->handler(strs, cd->condid);
+		return !cd->handler(strs, cd->condid);
 	    }
 	    else {
 		char *s = strs[0];
@@ -115,16 +131,20 @@ evalcond(Estate state)
 		if (name && name[0] == '-' &&
 		    (cd = getconddef(0, name + 1, 1))) {
 		    if (l < cd->min || (cd->max >= 0 && l > cd->max)) {
-			zerr("unrecognized condition: `%s'", name, 0);
-			return 0;
+			zwarnnam(fromtest, "unrecognized condition: `%s'",
+				 name, 0);
+			return 2;
 		    }
 		    if (tracingcond)
 			tracemodcond(name, strs, ctype == COND_MODI);
-		    return cd->handler(strs, cd->condid);
-		} else
-		    zerr("unrecognized condition: `%s'", name, 0);
+		    return !cd->handler(strs, cd->condid);
+		} else {
+		    zwarnnam(fromtest,
+			     "unrecognized condition: `%s'", name, 0);
+		}
 	    }
-	    return 0;
+	    /* module not found, error */
+	    return 2;
 	}
     }
     left = ecgetstr(state, EC_DUPTOK, &htok);
@@ -147,15 +167,46 @@ evalcond(Estate state)
 		singsub(&rt);
 		untokenize(rt);
 	    }
-	    fprintf(xtrerr, " %s %s %s", left, condstr[ctype], rt);
-	} else
-	    fprintf(xtrerr, " -%c %s", ctype, left);
+	    fputc(' ',xtrerr);
+	    quotedzputs(left, xtrerr);
+	    fprintf(xtrerr, " %s ", condstr[ctype]);
+	    quotedzputs(rt, xtrerr);
+	} else {
+	    fprintf(xtrerr, " -%c ", ctype);
+	    quotedzputs(left, xtrerr);
+	}
     }
 
     if (ctype >= COND_EQ && ctype <= COND_GE) {
 	mnumber mn1, mn2;
-	mn1 = matheval(left);
-	mn2 = matheval(right);
+	if (fromtest) {
+	    /*
+	     * For test and [, the expressions must be base 10 integers,
+	     * not integer expressions.
+	     */
+	    char *eptr, *err;
+
+	    mn1.u.l = zstrtol(left, &eptr, 10);
+	    if (!*eptr)
+	    {
+		mn2.u.l = zstrtol(right, &eptr, 10);
+		err = right;
+	    }
+	    else
+		err = left;
+
+	    if (*eptr)
+	    {
+		zwarnnam(fromtest, "integer expression expected: %s",
+			 err, 0);
+		return 2;
+	    }
+
+	    mn1.type = mn2.type = MN_INTEGER;
+	} else {
+	    mn1 = matheval(left);
+	    mn2 = matheval(right);
+	}
 
 	if (((mn1.type|mn2.type) & (MN_INTEGER|MN_FLOAT)) ==
 	    (MN_INTEGER|MN_FLOAT)) {
@@ -171,23 +222,23 @@ evalcond(Estate state)
 	}
 	switch(ctype) {
 	case COND_EQ:
-	    return (mn1.type & MN_FLOAT) ? (mn1.u.d == mn2.u.d) :
-		(mn1.u.l == mn2.u.l);
+	    return !((mn1.type & MN_FLOAT) ? (mn1.u.d == mn2.u.d) :
+		     (mn1.u.l == mn2.u.l));
 	case COND_NE:
-	    return (mn1.type & MN_FLOAT) ? (mn1.u.d != mn2.u.d) :
-		(mn1.u.l != mn2.u.l);
+	    return !((mn1.type & MN_FLOAT) ? (mn1.u.d != mn2.u.d) :
+		     (mn1.u.l != mn2.u.l));
 	case COND_LT:
-	    return (mn1.type & MN_FLOAT) ? (mn1.u.d < mn2.u.d) :
-		(mn1.u.l < mn2.u.l);
+	    return !((mn1.type & MN_FLOAT) ? (mn1.u.d < mn2.u.d) :
+		     (mn1.u.l < mn2.u.l));
 	case COND_GT:
-	    return (mn1.type & MN_FLOAT) ? (mn1.u.d > mn2.u.d) :
-		(mn1.u.l > mn2.u.l);
+	    return !((mn1.type & MN_FLOAT) ? (mn1.u.d > mn2.u.d) :
+		     (mn1.u.l > mn2.u.l));
 	case COND_LE:
-	    return (mn1.type & MN_FLOAT) ? (mn1.u.d <= mn2.u.d) :
-		(mn1.u.l <= mn2.u.l);
+	    return !((mn1.type & MN_FLOAT) ? (mn1.u.d <= mn2.u.d) :
+		     (mn1.u.l <= mn2.u.l));
 	case COND_GE:
-	    return (mn1.type & MN_FLOAT) ? (mn1.u.d >= mn2.u.d) :
-		(mn1.u.l >= mn2.u.l);
+	    return !((mn1.type & MN_FLOAT) ? (mn1.u.d >= mn2.u.d) :
+		     (mn1.u.l >= mn2.u.l));
 	}
     }
 
@@ -202,89 +253,91 @@ evalcond(Estate state)
 		char *opat;
 		int save;
 
-		right = opat = dupstring(ecrawstr(state->prog, state->pc,
+		right = dupstring(opat = ecrawstr(state->prog, state->pc,
 						  &htok));
 		if (htok)
 		    singsub(&right);
-		save = (state->prog->alloc != EA_HEAP &&
+		save = (!(state->prog->flags & EF_HEAP) &&
 			!strcmp(opat, right) && pprog != dummy_patprog2);
 
 		if (!(pprog = patcompile(right, (save ? PAT_ZDUP : PAT_STATIC),
-					 NULL)))
-		    zerr("bad pattern: %s", right, 0);
+					 NULL))) {
+		    zwarnnam(fromtest, "bad pattern: %s", right, 0);
+		    return 2;
+		}
 		else if (save)
 		    state->prog->pats[npat] = pprog;
 	    }
 	    state->pc += 2;
 	    test = (pprog && pattry(pprog, left));
 
-	    return (ctype == COND_STREQ ? test : !test);
+	    return !(ctype == COND_STREQ ? test : !test);
 	}
     case COND_STRLT:
-	return strcmp(left, right) < 0;
+	return !(strcmp(left, right) < 0);
     case COND_STRGTR:
-	return strcmp(left, right) > 0;
+	return !(strcmp(left, right) > 0);
     case 'e':
     case 'a':
-	return (doaccess(left, F_OK));
+	return (!doaccess(left, F_OK));
     case 'b':
-	return (S_ISBLK(dostat(left)));
+	return (!S_ISBLK(dostat(left)));
     case 'c':
-	return (S_ISCHR(dostat(left)));
+	return (!S_ISCHR(dostat(left)));
     case 'd':
-	return (S_ISDIR(dostat(left)));
+	return (!S_ISDIR(dostat(left)));
     case 'f':
-	return (S_ISREG(dostat(left)));
+	return (!S_ISREG(dostat(left)));
     case 'g':
-	return (!!(dostat(left) & S_ISGID));
+	return (!(dostat(left) & S_ISGID));
     case 'k':
-	return (!!(dostat(left) & S_ISVTX));
+	return (!(dostat(left) & S_ISVTX));
     case 'n':
-	return (!!strlen(left));
+	return (!strlen(left));
     case 'o':
-	return (optison(left));
+	return (optison(fromtest, left));
     case 'p':
-	return (S_ISFIFO(dostat(left)));
+	return (!S_ISFIFO(dostat(left)));
     case 'r':
-	return (doaccess(left, R_OK));
+	return (!doaccess(left, R_OK));
     case 's':
-	return ((st = getstat(left)) && !!(st->st_size));
+	return !((st = getstat(left)) && !!(st->st_size));
     case 'S':
-	return (S_ISSOCK(dostat(left)));
+	return (!S_ISSOCK(dostat(left)));
     case 'u':
-	return (!!(dostat(left) & S_ISUID));
+	return (!(dostat(left) & S_ISUID));
     case 'w':
-	return (doaccess(left, W_OK));
+	return (!doaccess(left, W_OK));
     case 'x':
 	if (privasserted()) {
 	    mode_t mode = dostat(left);
-	    return (mode & S_IXUGO) || S_ISDIR(mode);
+	    return !((mode & S_IXUGO) || S_ISDIR(mode));
 	}
-	return doaccess(left, X_OK);
+	return !doaccess(left, X_OK);
     case 'z':
-	return (!strlen(left));
+	return !!(strlen(left));
     case 'h':
     case 'L':
-	return (S_ISLNK(dolstat(left)));
+	return (!S_ISLNK(dolstat(left)));
     case 'O':
-	return ((st = getstat(left)) && st->st_uid == geteuid());
+	return !((st = getstat(left)) && st->st_uid == geteuid());
     case 'G':
-	return ((st = getstat(left)) && st->st_gid == getegid());
+	return !((st = getstat(left)) && st->st_gid == getegid());
     case 'N':
-	return ((st = getstat(left)) && st->st_atime <= st->st_mtime);
+	return !((st = getstat(left)) && st->st_atime <= st->st_mtime);
     case 't':
-	return isatty(mathevali(left));
+	return !isatty(mathevali(left));
     case COND_NT:
     case COND_OT:
 	{
 	    time_t a;
 
 	    if (!(st = getstat(left)))
-		return 0;
+		return 1;
 	    a = st->st_mtime;
 	    if (!(st = getstat(right)))
-		return 0;
-	    return (ctype == COND_NT) ? a > st->st_mtime : a < st->st_mtime;
+		return 1;
+	    return !((ctype == COND_NT) ? a > st->st_mtime : a < st->st_mtime);
 	}
     case COND_EF:
 	{
@@ -292,17 +345,18 @@ evalcond(Estate state)
 	    ino_t i;
 
 	    if (!(st = getstat(left)))
-		return 0;
+		return 1;
 	    d = st->st_dev;
 	    i = st->st_ino;
 	    if (!(st = getstat(right)))
-		return 0;
-	    return d == st->st_dev && i == st->st_ino;
+		return 1;
+	    return !(d == st->st_dev && i == st->st_ino);
 	}
     default:
-	zerr("bad cond code", NULL, 0);
+	zwarnnam(fromtest, "bad cond code", NULL, 0);
+	return 2;
     }
-    return 0;
+    return 1;
 }
 
 
@@ -324,6 +378,8 @@ static struct stat st;
 static struct stat *
 getstat(char *s)
 {
+    char *us;
+
 /* /dev/fd/n refers to the open file descriptor n.  We always use fstat *
  * in this case since on Solaris /dev/fd/n is a device special file     */
     if (!strncmp(s, "/dev/fd/", 8)) {
@@ -332,7 +388,9 @@ getstat(char *s)
         return &st;
     }
 
-    if (stat(unmeta(s), &st))
+    if (!(us = unmeta(s)))
+        return NULL;
+    if (stat(us, &st))
 	return NULL;
     return &st;
 }
@@ -362,9 +420,13 @@ dolstat(char *s)
 }
 
 
+/*
+ * optison returns evalcond-friendly statuses (true, false, error).
+ */
+
 /**/
 static int
-optison(char *s)
+optison(char *name, char *s)
 {
     int i;
 
@@ -373,12 +435,12 @@ optison(char *s)
     else
 	i = optlookup(s);
     if (!i) {
-	zerr("no such option: %s", s, 0);
-	return 0;
+	zwarnnam(name, "no such option: %s", s, 0);
+	return 2;
     } else if(i < 0)
-	return unset(-i);
+	return !unset(-i);
     else
-	return isset(i);
+	return !isset(i);
 }
 
 /**/
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 000000000..a516c3d8a
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,2507 @@
+dnl
+dnl  configure.ac: Configure template for zsh.
+dnl  Process this file with autoconf to produce a configure script.
+dnl
+dnl  Copyright (c) 1995-1997 Richard Coleman
+dnl  All rights reserved.
+dnl
+dnl  Permission is hereby granted, without written agreement and without
+dnl  license or royalty fees, to use, copy, modify, and distribute this
+dnl  software and to distribute modified versions of this software for any
+dnl  purpose, provided that the above copyright notice and the following
+dnl  two paragraphs appear in all copies of this software.
+dnl
+dnl  In no event shall Richard Coleman or the Zsh Development Group be liable
+dnl  to any party for direct, indirect, special, incidental, or consequential
+dnl  damages arising out of the use of this software and its documentation,
+dnl  even if Richard Coleman and the Zsh Development Group have been advised of
+dnl  the possibility of such damage.
+dnl
+dnl  Richard Coleman and the Zsh Development Group specifically disclaim any
+dnl  warranties, including, but not limited to, the implied warranties of
+dnl  merchantability and fitness for a particular purpose.  The software
+dnl  provided hereunder is on an "as is" basis, and Richard Coleman and the
+dnl  Zsh Development Group have no obligation to provide maintenance,
+dnl  support, updates, enhancements, or modifications.
+dnl
+
+AC_INIT(Src/zsh.h)
+AC_PREREQ(2.50)
+AC_CONFIG_HEADER(config.h)
+
+dnl What version of zsh are we building ?
+. ${srcdir}/Config/version.mk
+echo "configuring for zsh $VERSION"
+
+dnl ----------------------------------------------
+dnl CHECK FOR MACHINE/VENDOR/OPERATING SYSTEM TYPE
+dnl ----------------------------------------------
+dnl Find out machine type, vendor, and operating system
+dnl What type of host is this?
+AC_CANONICAL_HOST
+AC_DEFINE_UNQUOTED(MACHTYPE, "$host_cpu",
+[Define to be the machine type (microprocessor class or machine model).])
+AC_DEFINE_UNQUOTED(VENDOR,   "$host_vendor",
+[Define to be a string corresponding the vendor of the machine.])
+AC_DEFINE_UNQUOTED(OSTYPE,   "$host_os",
+[Define to be the name of the operating system.])
+
+dnl -----------------------------
+dnl CHECKING COMMAND LINE OPTIONS
+dnl -----------------------------
+dnl Handle --program-prefix, --program-suffix, etc.
+zsh_ARG_PROGRAM
+
+dnl Handle setting of compile flags (CPPFLAGS, CFLAGS, LDFLAGS, LIBS).
+zsh_COMPILE_FLAGS($CPPFLAGS, $CFLAGS, $LDFLAGS, $LIBS)
+
+dnl Do you want to debug zsh?
+ifdef([zsh-debug],[undefine([zsh-debug])])dnl
+AH_TEMPLATE([DEBUG],
+[Define to 1 if you want to debug zsh.])
+AC_ARG_ENABLE(zsh-debug,
+[  --enable-zsh-debug         compile with debug code and debugger symbols],
+[if test x$enableval = xyes; then
+  AC_DEFINE(DEBUG)
+fi])
+
+dnl Do you want zsh memory allocation routines.
+ifdef([zsh-mem],[undefine([zsh-mem])])dnl
+AH_TEMPLATE([ZSH_MEM],
+[Define to 1 if you want to use zsh's own memory allocation routines])
+AC_ARG_ENABLE(zsh-mem,
+[  --enable-zsh-mem           compile with zsh memory allocation routines],
+[if test x$enableval = xyes; then
+  AC_DEFINE(ZSH_MEM)
+fi])
+
+dnl Do you want to debug zsh memory allocation routines.
+ifdef([zsh-mem-debug],[undefine([zsh-mem-debug])])dnl
+AH_TEMPLATE([ZSH_MEM_DEBUG],
+[Define to 1 if you want to debug zsh memory allocation routines.])
+AC_ARG_ENABLE(zsh-mem-debug,
+[  --enable-zsh-mem-debug     debug zsh memory allocation routines],
+[if test x$enableval = xyes; then
+  AC_DEFINE(ZSH_MEM_DEBUG)
+fi])
+
+dnl Do you want to print warnings when errors in memory allocation.
+AH_TEMPLATE([ZSH_MEM_WARNING],
+[Define to 1 if you want to turn on warnings of memory allocation errors])
+ifdef([zsh-mem-warning],[undefine([zsh-mem-warning])])dnl
+AC_ARG_ENABLE(zsh-mem-warning,
+[  --enable-zsh-mem-warning   print warnings for errors in memory allocation],
+[if test x$enableval = xyes; then
+  AC_DEFINE(ZSH_MEM_WARNING)
+fi])
+
+dnl Do you want to turn on error checking for free().
+ifdef([zsh-secure-free],[undefine([zsh-secure-free])])dnl
+AH_TEMPLATE([ZSH_SECURE_FREE],
+[Define to 1 if you want to turn on memory checking for free().])
+AC_ARG_ENABLE(zsh-secure-free,
+[  --enable-zsh-secure-free   turn on error checking for free()],
+[if test x$enableval = xyes; then
+  AC_DEFINE(ZSH_SECURE_FREE)
+fi])
+
+dnl Do you want debugging information on internal hash tables.
+dnl This turns on the `hashinfo' builtin command.
+ifdef([zsh-hash-debug],[undefine([zsh-hash-debug])])dnl
+AH_TEMPLATE([ZSH_HASH_DEBUG],
+[Define to 1 if you want to get debugging information on internal
+ hash tables.  This turns on the `hashinfo' builtin.])
+AC_ARG_ENABLE(zsh-hash-debug,
+[  --enable-zsh-hash-debug    turn on debugging of internal hash tables],
+[if test x$enableval = xyes; then
+  AC_DEFINE(ZSH_HASH_DEBUG)
+fi])
+
+dnl Pathnames for global zsh scripts
+ifdef([etcdir],[undefine([etcdir])])dnl
+AC_ARG_ENABLE(etcdir,
+[  --enable-etcdir=DIR        the default directory for global zsh scripts],
+[etcdir="$enableval"], [etcdir=/etc])
+
+ifdef([zshenv],[undefine([zshenv])])dnl
+AC_ARG_ENABLE(zshenv,
+[  --enable-zshenv=FILE       the full pathname of the global zshenv script],
+[zshenv="$enableval"],
+[if test "x$etcdir" = xno; then
+  zshenv=no
+else
+  zshenv="$etcdir/zshenv"
+fi])
+AH_TEMPLATE([GLOBAL_ZSHENV],
+[The global file to source absolutely first whenever zsh is run;
+ if undefined, don't source anything.])
+if test "x$zshenv" != xno; then
+  AC_DEFINE_UNQUOTED(GLOBAL_ZSHENV, "$zshenv")
+fi
+
+ifdef([zshrc],[undefine([zshrc])])dnl
+AC_ARG_ENABLE(zshrc,
+[  --enable-zshrc=FILE        the full pathname of the global zshrc script],
+[zshrc="$enableval"],
+[if test "x$etcdir" = xno; then
+  zshrc=no
+else
+  zshrc="$etcdir/zshrc"
+fi])
+AH_TEMPLATE([GLOBAL_ZSHRC],
+[The global file to source whenever zsh is run;
+ if undefined, don't source anything])
+if test "x$zshrc" != xno; then
+  AC_DEFINE_UNQUOTED(GLOBAL_ZSHRC, "$zshrc")
+fi
+
+ifdef([zprofile],[undefine([zprofile])])dnl
+AC_ARG_ENABLE(zprofile,
+[  --enable-zprofile=FILE     the full pathname of the global zprofile script],
+[zprofile="$enableval"],
+[if test "x$etcdir" = xno; then
+  zprofile=no
+else
+  zprofile="$etcdir/zprofile"
+fi])
+AH_TEMPLATE([GLOBAL_ZPROFILE],
+[The global file to source whenever zsh is run as a login shell,
+ before zshrc is read; if undefined, don't source anything.])
+if test "x$zprofile" != xno; then
+  AC_DEFINE_UNQUOTED(GLOBAL_ZPROFILE, "$zprofile")
+fi
+
+ifdef([zlogin],[undefine([zlogin])])dnl
+AC_ARG_ENABLE(zlogin,
+[  --enable-zlogin=FILE       the full pathname of the global zlogin script],
+[zlogin="$enableval"],
+[if test "x$etcdir" = xno; then
+  zlogin=no
+else
+  zlogin="$etcdir/zlogin"
+fi])
+AH_TEMPLATE([GLOBAL_ZLOGIN],
+[The global file to source whenever zsh is run as a login shell;
+ if undefined, don't source anything])
+if test "x$zlogin" != xno; then
+  AC_DEFINE_UNQUOTED(GLOBAL_ZLOGIN, "$zlogin")
+fi
+
+ifdef([zlogout],[undefine([zlogout])])dnl
+AC_ARG_ENABLE(zlogout,
+[  --enable-zlogout=FILE      the full pathname of the global zlogout script],
+[zlogout="$enableval"],
+[if test "x$etcdir" = xno; then
+  zlogout=no
+else
+  zlogout="$etcdir/zlogout"
+fi])
+AH_TEMPLATE([GLOBAL_ZLOGOUT],
+[The global file to source whenever zsh was run as a login shell.
+ This is sourced right before exiting.  If undefined, don't source
+ anything.])
+if test "x$zlogout" != xno; then
+  AC_DEFINE_UNQUOTED(GLOBAL_ZLOGOUT, "$zlogout")
+fi
+
+AC_SUBST(zshenv)dnl
+AC_SUBST(zshrc)dnl
+AC_SUBST(zprofile)dnl
+AC_SUBST(zlogin)dnl
+AC_SUBST(zlogout)dnl
+
+dnl Do you want large file support, if available?
+ifdef([lfs],[undefine([lfs])])dnl
+AC_ARG_ENABLE(lfs,
+[  --disable-lfs              turn off support for large files],
+[lfs="$enableval"], [lfs=yes])
+
+dnl Do you want dynamically loaded binary modules.
+ifdef([dynamic],[undefine([dynamic])])dnl
+AC_ARG_ENABLE(dynamic,
+[  --disable-dynamic          turn off dynamically loaded binary modules],
+[dynamic="$enableval"], [dynamic=yes])
+
+dnl Do you want to disable restricted on r* commands
+ifdef([restricted-r],[undefine([restricted-r])])dnl
+AH_TEMPLATE([RESTRICTED_R],
+[Undefine this if you don't want to get a restricted shell
+ when zsh is exec'd with basename that starts with r.
+ By default this is defined.])
+AC_ARG_ENABLE(restricted-r,
+[  --disable-restricted-r     turn off r* invocation for restricted shell],
+[if test x$enableval = xyes; then
+  AC_DEFINE(RESTRICTED_R)
+fi],
+AC_DEFINE(RESTRICTED_R)
+)
+
+dnl Do you want to disable use of locale functions
+AH_TEMPLATE([CONFIG_LOCALE],
+[Undefine if you don't want local features.  By default this is defined.])
+AC_ARG_ENABLE([locale],
+[  --disable-locale           turn off locale features],
+[if test x$enableval = xyes; then
+  AC_DEFINE(CONFIG_LOCALE)
+fi],
+AC_DEFINE(CONFIG_LOCALE)
+)
+
+dnl Do you want to compile as K&R C.
+AC_ARG_ENABLE(ansi2knr,
+[  --enable-ansi2knr          translate source to K&R C before compiling],
+[ansi2knr="$enableval"], [ansi2knr=default])
+
+ifdef([fndir],[undefine([fndir])])dnl
+AC_ARG_ENABLE(fndir,
+[  --enable-fndir=DIR         the directory in which to install functions],
+dnl ${VERSION} to be determined at compile time.
+[if test $enableval = yes; then
+  fndir=${datadir}/${tzsh_name}/'${VERSION}'/functions
+else
+  fndir="$enableval"
+fi], [fndir=${datadir}/${tzsh_name}/'${VERSION}'/functions])
+
+ifdef([sitefndir],[undefine([sitefndir])])dnl
+AC_ARG_ENABLE(site-fndir,
+[  --enable-site-fndir=DIR    same for site functions (not version specific)],
+[if test $enableval = yes; then
+  sitefndir=${datadir}/${tzsh_name}/site-functions
+else
+  sitefndir="$enableval"
+fi], [sitefndir=${datadir}/${tzsh_name}/site-functions])
+
+ifdef([function_subdirs],[undefine([function_subdirs])])
+AC_ARG_ENABLE(function-subdirs,
+[  --enable-function-subdirs  install functions in subdirectories])
+
+if test "x${enable_function_subdirs}" != x &&
+  test "x${enable_function_subdirs}" != xno; then
+  FUNCTIONS_SUBDIRS=yes
+else
+  FUNCTIONS_SUBDIRS=no
+fi
+
+AC_SUBST(fndir)dnl
+AC_SUBST(sitefndir)dnl
+AC_SUBST(FUNCTIONS_SUBDIRS)dnl
+
+dnl Do you want maildir support?
+ifdef([maildir_support],[undefine([maildir_support])])dnl
+AH_TEMPLATE([MAILDIR_SUPPORT],
+[Define for Maildir support])
+AC_ARG_ENABLE(maildir-support,
+[  --enable-maildir-support   enable maildir support in MAIL and MAILPATH],
+[if test x$enableval = xyes; then
+  AC_DEFINE(MAILDIR_SUPPORT)
+fi])
+
+dnl Do you want to set a maximum function depth?
+ifdef([max_function_depth],[undefine([max_function_depth])])dnl
+AH_TEMPLATE([MAX_FUNCTION_DEPTH],
+[Define for function depth limits])
+AC_ARG_ENABLE(max-function-depth,
+[  --enable-max-function-depth=MAX   limit function depth to MAX, default 4096],
+[if test x$enableval = xyes; then
+  AC_DEFINE(MAX_FUNCTION_DEPTH, 4096)
+elif test x$enableval != xno; then
+  AC_DEFINE_UNQUOTED(MAX_FUNCTION_DEPTH, $enableval)
+fi],
+[AC_DEFINE(MAX_FUNCTION_DEPTH, 4096)]
+)
+
+dnl Do you want to look for pcre support?
+AC_ARG_ENABLE(pcre,
+AC_HELP_STRING([--enable-pcre],
+[enable the search for the pcre library (may create run-time library dependencies)]))
+
+dnl Do you want to look for capability support?
+AC_ARG_ENABLE(cap,
+AC_HELP_STRING([--enable-cap],
+[enable the search for POSIX capabilities (may require additional headers to be added by hand)]))
+
+dnl ------------------
+dnl CHECK THE COMPILER
+dnl ------------------
+dnl We want these before the checks, so the checks can modify their values.
+test -z "${CFLAGS+set}"  && CFLAGS=  auto_cflags=1
+test -z "${LDFLAGS+set}" && LDFLAGS= auto_ldflags=1
+
+AC_PROG_CC
+
+dnl Check for large file support.
+dnl This needs to be done early to get the stuff into the flags.
+if test $lfs != no; then
+dnl Gross hack for ReliantUNIX - GCC does not understand getconf options
+dnl For now just disable LFS in this case
+dnl Any takers?
+  if test "$host" = mips-sni-sysv4 && test -n "$GCC"; then
+    : 
+  else
+    zsh_LARGE_FILE_SUPPORT
+  fi
+fi
+
+dnl if the user hasn't specified CFLAGS, then
+dnl   if compiler is gcc, then use -O2 and some warning flags
+dnl   else use -O
+if test -n "$auto_cflags" && test ."$ansi2knr" != .yes; then
+  if test "${enable_zsh_debug}" = yes; then
+    if test -n "$GCC"; then
+      CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -ggdb"
+    else
+      CFLAGS="$CFLAGS -g"
+    fi
+  else
+    if test -n "$GCC"; then
+      CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -O2"
+    else
+      CFLAGS="$CFLAGS -O"
+    fi
+  fi
+fi
+if test -n "$auto_ldflags"; then
+  case "${enable_zsh_debug}$host_os" in
+    yesaix*|yeshpux*|yesnetbsd*|yesopenbsd*) ;;  # "ld -g" is not valid on these systems
+    darwin*) LDFLAGS=-Wl,-x ;;
+    yes*)    LDFLAGS=-g ;;
+    *)       LDFLAGS=-s ;;
+  esac
+fi
+
+dnl ----------
+dnl SCO KLUDGE
+dnl ----------
+dnl Sco doesn't define any useful compiler symbol,
+dnl so we will check for sco and define __sco if
+dnl found.
+case "$host_os" in
+  sco*) CFLAGS="-D__sco $CFLAGS" ;;
+esac
+
+sed=':1
+     s/ -s / /g
+     t1
+     s/^ *//
+     s/ *$//'
+
+case " $LDFLAGS " in
+  *" -s "*) strip_exeldflags=true strip_libldflags=true
+    LDFLAGS=`echo " $LDFLAGS " | sed "$sed"` ;;
+  *) strip_exeldflags=false strip_libldflags=false ;;
+esac
+
+case " ${EXELDFLAGS+$EXELDFLAGS }" in
+  " ") ;;
+  *" -s "*) strip_exeldflags=true
+    EXELDFLAGS=`echo " $EXELDFLAGS " | sed "$sed"` ;;
+  *) strip_exeldflags=false ;;
+esac
+
+case " ${LIBLDFLAGS+$LIBLDFLAGS }" in
+  " ") ;;
+  *" -s "*) strip_libldflags=true
+    LIBLDFLAGS=`echo " $LIBLDFLAGS " | sed "$sed"` ;;
+  *) strip_libldflags=false ;;
+esac
+
+AC_SUBST(CFLAGS)dnl
+AC_SUBST(LDFLAGS)dnl
+AC_SUBST(EXELDFLAGS)dnl
+AC_SUBST(LIBLDFLAGS)dnl
+
+AC_PROG_CPP                 dnl Figure out how to run C preprocessor.
+AC_PROG_GCC_TRADITIONAL     dnl Do we need -traditional flag for gcc.
+AC_C_CONST                  dnl Does compiler support `const'.
+
+dnl Default preprocessing on Mac OS X produces warnings
+case "$host_os" in
+  darwin*) CPP="$CPP -traditional-cpp" ;;
+esac
+
+fp_PROG_CC_STDC
+AC_MSG_CHECKING([whether to use prototypes])
+if test ."$ansi2knr" = .yes || test ."$ansi2knr" = .no; then
+  msg="(overridden) "
+else
+  msg=
+  if test ."$fp_cv_prog_cc_stdc" = .no; then
+    ansi2knr=yes
+  else
+    ansi2knr=no
+  fi
+fi
+AH_TEMPLATE([PROTOTYPES],
+[Define to 1 if ANSI function prototypes are usable.])
+if test "$ansi2knr" = yes; then
+  AC_MSG_RESULT(${msg}no)
+  U=_
+else
+  AC_MSG_RESULT(${msg}yes)
+  AC_DEFINE(PROTOTYPES)
+  U=
+fi
+AC_SUBST(U)
+
+AC_FUNC_ALLOCA              dnl Check how to get `alloca'.
+
+dnl If the compiler supports union initialisation
+AC_CACHE_CHECK(if the compiler supports union initialisation,
+zsh_cv_c_have_union_init,
+[AC_TRY_COMPILE([union{void *p;long l;}u={0};], [u.l=1;],
+  zsh_cv_c_have_union_init=yes,
+  zsh_cv_c_have_union_init=no)])
+AH_TEMPLATE([HAVE_UNION_INIT],
+[Define to 1 if the compiler can initialise a union.])
+if test $zsh_cv_c_have_union_init = yes; then
+  AC_DEFINE(HAVE_UNION_INIT)
+fi
+
+dnl  Checking if compiler correctly cast signed to unsigned.
+AC_CACHE_CHECK(if signed to unsigned casting is broken,
+zsh_cv_c_broken_signed_to_unsigned_casting,
+[AC_TRY_RUN([main(){return((int)(unsigned char)((char) -1) == 255);}],
+  zsh_cv_c_broken_signed_to_unsigned_casting=yes,
+  zsh_cv_c_broken_signed_to_unsigned_casting=no,
+  zsh_cv_c_broken_signed_to_unsigned_casting=no)])
+AH_TEMPLATE([BROKEN_SIGNED_TO_UNSIGNED_CASTING],
+[Define to 1 if compiler incorrectly cast signed to unsigned.])
+if test $zsh_cv_c_broken_signed_to_unsigned_casting = yes; then
+  AC_DEFINE(BROKEN_SIGNED_TO_UNSIGNED_CASTING)
+fi
+
+dnl Checking if the compiler supports variable-length arrays
+AC_CACHE_CHECK(if the compiler supports variable-length arrays,
+zsh_cv_c_variable_length_arrays,
+[AC_TRY_COMPILE([int foo(), n;], [int i[foo()], a[n+1];],
+  zsh_cv_c_variable_length_arrays=yes,
+  zsh_cv_c_variable_length_arrays=no)])
+AH_TEMPLATE([HAVE_VARIABLE_LENGTH_ARRAYS],
+[Define to 1 if compiler supports variable-length arrays])
+if test $zsh_cv_c_variable_length_arrays = yes; then
+  AC_DEFINE(HAVE_VARIABLE_LENGTH_ARRAYS)
+fi
+
+dnl ------------------
+dnl CHECK FOR PROGRAMS
+dnl ------------------
+AC_PROG_MAKE_SET            dnl Does make define $MAKE
+AC_PROG_INSTALL             dnl Check for BSD compatible `install'
+AC_PROG_AWK                 dnl Check for mawk,gawk,nawk, then awk.
+AC_PROG_LN                  dnl Check for working ln, for "make install"
+AC_CHECK_PROGS([YODL], [yodl], [: yodl])
+AC_CHECK_PROGS([ANSI2KNR], [ansi2knr], [: ansi2knr])
+
+if test x"$ansi2knr" = xyes && test x"$ANSI2KNR" = x": ansi2knr"; then
+    echo "----------"
+    echo "configure fatal error:"
+    echo "ansi2knr was specified (--enable-ansi2knr) but the program could not be found."
+    echo "Either remove the configure option if it is not required or build the ansi2knr"
+    echo "program before reconfiguring Zsh.  The source code for ansi2knr is also"
+    echo "available in the GPL directory on Zsh distribution sites."
+    exit 1
+fi
+
+dnl ------------------
+dnl CHECK HEADER FILES
+dnl ------------------
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_HEADER_TIME
+AC_HEADER_STAT
+AC_HEADER_SYS_WAIT
+
+oldcflags="$CFLAGS"
+if test x$enable_pcre = xyes; then
+AC_CHECK_PROG([PCRECONF], pcre-config, pcre-config)
+dnl Typically (meaning on this single RedHat 9 box in front of me)
+dnl pcre-config --cflags produces a -I output which needs to go into
+dnl CPPFLAGS else configure's preprocessor tests don't pick it up,
+dnl producing a warning.
+if test "x$ac_cv_prog_PCRECONF" = xpcre-config; then
+  CPPFLAGS="$CPPFLAGS `pcre-config --cflags`"
+fi
+fi
+
+AC_CHECK_HEADERS(sys/time.h sys/times.h sys/select.h termcap.h termio.h \
+		 termios.h sys/param.h sys/filio.h string.h memory.h \
+		 limits.h fcntl.h libc.h sys/utsname.h sys/resource.h \
+		 locale.h errno.h stdio.h stdlib.h unistd.h sys/capability.h \
+		 utmp.h utmpx.h sys/types.h pwd.h grp.h poll.h sys/mman.h \
+		 netinet/in_systm.h pcre.h langinfo.h wchar.h stddef.h \
+		 sys/stropts.h)
+if test $dynamic = yes; then
+  AC_CHECK_HEADERS(dlfcn.h)
+  AC_CHECK_HEADERS(dl.h)
+fi
+
+dnl Some SCO systems cannot include both sys/time.h and sys/select.h
+AH_TEMPLATE([TIME_H_SELECT_H_CONFLICTS],
+[Define if sys/time.h and sys/select.h cannot be both included.])
+if test $ac_cv_header_sys_time_h = yes && test $ac_cv_header_sys_select_h = yes; then
+  AC_CACHE_CHECK(for conflicts in sys/time.h and sys/select.h,
+  zsh_cv_header_time_h_select_h_conflicts,
+  [AC_TRY_COMPILE([#include <sys/time.h>
+#include <sys/select.h>], [int i;],
+  zsh_cv_header_time_h_select_h_conflicts=no,
+  zsh_cv_header_time_h_select_h_conflicts=yes)])
+  if test $zsh_cv_header_time_h_select_h_conflicts = yes; then
+    AC_DEFINE(TIME_H_SELECT_H_CONFLICTS)
+  fi
+fi
+
+AC_CACHE_CHECK(POSIX termios, zsh_cv_sys_posix_termios,
+[AC_TRY_LINK([#include <sys/types.h>
+#include <unistd.h>
+#include <termios.h>],
+[/* SunOS 4.0.3 has termios.h but not the library calls.  */
+tcgetattr(0, 0);],
+  zsh_cv_sys_posix_termios=yes, zsh_cv_sys_posix_termios=no)])
+
+if test $zsh_cv_sys_posix_termios = yes; then
+  AC_CACHE_CHECK(TIOCGWINSZ in termios.h,
+  zsh_cv_header_termios_h_tiocgwinsz,
+  [AC_TRY_LINK([#include <sys/types.h>
+#include <termios.h>],
+  [int x = TIOCGWINSZ;],
+  zsh_cv_header_termios_h_tiocgwinsz=yes,
+  zsh_cv_header_termios_h_tiocgwinsz=no)])
+else
+  zsh_cv_header_termios_h_tiocgwinsz=no
+fi
+ 
+AH_TEMPLATE([GWINSZ_IN_SYS_IOCTL],
+[Define if your system defines TIOCGWINSZ in sys/ioctl.h.])
+if test $zsh_cv_header_termios_h_tiocgwinsz = no; then
+  AC_CACHE_CHECK(TIOCGWINSZ in sys/ioctl.h,
+  zsh_cv_header_sys_ioctl_h_tiocgwinsz,
+  [AC_TRY_LINK([#include <sys/types.h>
+#include <sys/ioctl.h>],
+  [int x = TIOCGWINSZ;],
+  zsh_cv_header_sys_ioctl_h_tiocgwinsz=yes,
+  zsh_cv_header_sys_ioctl_h_tiocgwinsz=no)])
+  if test $zsh_cv_header_sys_ioctl_h_tiocgwinsz = yes; then
+    AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
+  fi
+fi
+ 
+AH_TEMPLATE([WINSIZE_IN_PTEM],
+[Define if your should include sys/stream.h and sys/ptem.h.])
+AC_CACHE_CHECK(for streams headers including struct winsize,
+ac_cv_winsize_in_ptem,
+[AC_TRY_COMPILE([#include <sys/stream.h>
+#include <sys/ptem.h>],
+[struct winsize wsz],
+ac_cv_winsize_in_ptem=yes,
+ac_cv_winsize_in_ptem=no)])
+if test $ac_cv_winsize_in_ptem = yes; then
+  AC_DEFINE(WINSIZE_IN_PTEM)
+fi
+
+dnl -------------------
+dnl CHECK FOR LIBRARIES
+dnl -------------------
+
+dnl On some systems, modules need to be linked against libc explicitly,
+dnl in case they require objects that exist only in the static version
+dnl and might not be compiled into the zsh executable.
+dnl On ReliantUNIX -lc better be the last library, else funny things
+dnl may happen.
+AC_CHECK_LIB(c, printf, [LIBS="$LIBS -lc"])
+
+AC_CHECK_LIB(m, pow)
+
+dnl Prefer BSD termcap library to SysV curses library, except on certain
+dnl SYSV-derived systems.
+dnl On HPUX, Hcurses is reported to work better than curses.
+AC_ARG_WITH(curses-terminfo,
+[  --with-curses-terminfo     use terminfo support from curses library],
+[if test x$withval = xyes; then
+  termcap_curses_order="tinfo curses ncurses termcap"
+  AC_SEARCH_LIBS(tigetstr, [$termcap_curses_order])
+else
+  termcap_curses_order="tinfo termcap curses ncurses"
+fi],
+[case "$host_os" in
+  hpux10.*|hpux11.*|solaris*)
+      termcap_curses_order="Hcurses curses ncurses termcap" ;;
+  *)             termcap_curses_order="tinfo termcap curses ncurses" ;;
+esac])dnl
+
+AH_TEMPLATE([HAVE_BOOLCODES],
+[Define if you have the termcap boolcodes symbol.])
+AH_TEMPLATE([HAVE_NUMCODES],
+[Define if you have the termcap numcodes symbol.])
+AH_TEMPLATE([HAVE_STRCODES],
+[Define if you have the termcap strcodes symbol.])
+AH_TEMPLATE([HAVE_BOOLNAMES],
+[Define if you have the terminfo boolnames symbol.])
+AH_TEMPLATE([HAVE_NUMNAMES],
+[Define if you have the terminfo numnames symbol.])
+AH_TEMPLATE([HAVE_STRNAMES],
+[Define if you have the terminfo strnames symbol.])
+AH_TEMPLATE([TERM_H_NEEDS_CURSES_H],
+[Define if term.h chokes without curses.h.])
+AC_SEARCH_LIBS(tgetent, [$termcap_curses_order])
+AC_SEARCH_LIBS(tigetflag, [$termcap_curses_order])
+AC_CHECK_HEADERS(curses.h, [],
+[AC_CACHE_CHECK(for Solaris 8 curses.h mistake, ac_cv_header_curses_solaris,
+AC_TRY_COMPILE([#include <curses.h>], [],
+[ac_cv_header_curses_h=yes
+ac_cv_header_curses_solaris=yes],
+ac_cv_header_curses_h=no
+ac_cv_header_curses_solaris=no))
+if test x$ac_cv_header_curses_solaris = xyes; then
+AC_DEFINE(HAVE_CURSES_H)
+fi])
+AC_CHECK_HEADERS(term.h,
+[AC_MSG_CHECKING(if term.h needs curses.h)
+AC_TRY_COMPILE([#include <term.h>], [char **test = boolcodes;], boolcodes_with_only_term_h=yes,
+boolcodes_with_only_term_h=no)
+AC_TRY_COMPILE([#include <curses.h>
+#include <term.h>], [char **test = boolcodes;], boolcodes_with_curses_h_and_term_h=yes,
+boolcodes_with_curses_h_and_term_h=no)
+if test "x$boolcodes_with_curses_h_and_term_h" = xyes && test "x$boolcodes_with_only_term_h" = xno;
+then
+AC_DEFINE(TERM_H_NEEDS_CURSES_H)
+AC_MSG_RESULT(yes)
+else
+AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(if boolcodes is available)
+AC_TRY_LINK([#ifdef TERM_H_NEEDS_CURSES_H
+#include <curses.h>
+#endif
+#include <term.h>], [char **test = boolcodes; printf(*test);],
+AC_DEFINE(HAVE_BOOLCODES) boolcodes=yes, boolcodes=no)
+AC_MSG_RESULT($boolcodes)
+AC_MSG_CHECKING(if numcodes is available)
+AC_TRY_LINK([#ifdef TERM_H_NEEDS_CURSES_H
+#include <curses.h>
+#endif
+#include <term.h>], [char **test = numcodes; printf(*test);],
+AC_DEFINE(HAVE_NUMCODES) numcodes=yes, numcodes=no)
+AC_MSG_RESULT($numcodes)
+AC_MSG_CHECKING(if strcodes is available)
+AC_TRY_LINK([#ifdef TERM_H_NEEDS_CURSES_H
+#include <curses.h>
+#endif
+#include <term.h>], [char **test = strcodes; printf(*test);],
+AC_DEFINE(HAVE_STRCODES) strcodes=yes, strcodes=no)
+AC_MSG_RESULT($strcodes)
+AC_MSG_CHECKING(if boolnames is available)
+AC_TRY_LINK([#include <curses.h>
+#include <term.h>], [char **test = boolnames; printf(*test);],
+AC_DEFINE(HAVE_BOOLNAMES) boolnames=yes, boolnames=no)
+AC_MSG_RESULT($boolnames)
+AC_MSG_CHECKING(if numnames is available)
+AC_TRY_LINK([#include <curses.h>
+#include <term.h>], [char **test = numnames; printf(*test);],
+AC_DEFINE(HAVE_NUMNAMES) numnames=yes, numnames=no)
+AC_MSG_RESULT($numnames)
+AC_MSG_CHECKING(if strnames is available)
+AC_TRY_LINK([#include <curses.h>
+#include <term.h>], [char **test = strnames; printf(*test);],
+AC_DEFINE(HAVE_STRNAMES) strnames=yes, strnames=no)
+AC_MSG_RESULT($strnames)
+])
+
+dnl Some systems (Solaris 2.x, Linux Redhat 5.x) require
+dnl libnsl (Network Services Library) to find yp_all
+
+AC_SEARCH_LIBS(yp_all, nsl)
+
+dnl I am told that told that unicos reqire these for nis_list
+if test `echo $host_os | sed 's/^\(unicos\).*/\1/'` = unicos; then
+  LIBS="-lcraylm -lkrb -lnisdb -lnsl -lrpcsvc $LIBS"
+fi
+
+if test "x$dynamic" = xyes; then
+  AC_CHECK_LIB(dl, dlopen)
+fi
+
+if test x$enable_cap = xyes; then
+  AC_CHECK_LIB(cap, cap_get_proc)
+fi
+
+AC_CHECK_LIB(socket, socket)
+
+AC_CHECK_LIB(iconv, iconv)
+
+if test x$enable_pcre = xyes; then
+dnl pcre-config should probably be employed here
+AC_SEARCH_LIBS(pcre_compile, pcre)
+fi
+
+dnl ---------------------
+dnl CHECK TERMCAP LIBRARY
+dnl ---------------------
+dnl Checks for external variable ospeed in the termcap library.
+AC_CACHE_CHECK(if an include file defines ospeed,
+zsh_cv_decl_ospeed_include_defines,
+[AC_TRY_LINK(
+[#include <sys/types.h>
+#if HAVE_TERMIOS_H
+#include <termios.h>
+#endif
+#if HAVE_TERMCAP_H
+#include <termcap.h>
+#endif], [ospeed = 0;],
+zsh_cv_decl_ospeed_include_defines=yes,
+zsh_cv_decl_ospeed_include_defines=no)])
+
+if test $zsh_cv_decl_ospeed_include_defines = no; then
+  AC_CACHE_CHECK(if you must define ospeed,
+  zsh_cv_decl_ospeed_must_define,
+  [AC_TRY_LINK( ,[extern short ospeed; ospeed = 0;],
+  zsh_cv_decl_ospeed_must_define=yes,
+  zsh_cv_decl_ospeed_must_define=no)])
+fi
+
+AH_TEMPLATE([HAVE_OSPEED],
+[Define to 1 if your termcap library has the ospeed variable])
+AH_TEMPLATE([MUST_DEFINE_OSPEED],
+[Define to 1 if you have ospeed, but it is not defined in termcap.h])
+if test $zsh_cv_decl_ospeed_include_defines = yes; then
+  AC_DEFINE(HAVE_OSPEED)
+elif test $zsh_cv_decl_ospeed_must_define = yes; then
+  AC_DEFINE(HAVE_OSPEED)
+  AC_DEFINE(MUST_DEFINE_OSPEED)
+fi
+
+dnl --------------
+dnl CHECK TYPEDEFS
+dnl --------------
+
+AC_TYPE_SIGNAL
+AC_TYPE_PID_T
+AC_TYPE_OFF_T
+AC_CHECK_TYPE(ino_t, unsigned long)
+AC_TYPE_MODE_T
+AC_TYPE_UID_T
+AC_TYPE_SIZE_T
+
+dnl ------------------------------------------------
+dnl Check size of long and try to find a 64-bit type
+dnl ------------------------------------------------
+dnl AC_CHECK_SIZEOF is no good, because we need the result here,
+dnl and that doesn't seem to define a shell parameter.
+AC_CACHE_CHECK(if long is 64 bits, zsh_cv_long_is_64_bit,
+[AC_TRY_RUN([int main() { return sizeof(long) < 8; }],
+zsh_cv_long_is_64_bit=yes,
+zsh_cv_long_is_64_bit=no,
+zsh_cv_long_is_64_bit=no)])
+
+AH_TEMPLATE([ino_t],
+[Define to `unsigned long' if <sys/types.h> doesn't define.])
+AH_TEMPLATE([LONG_IS_64_BIT],
+[Definitions used when a long is less than eight byte, to try to
+ provide some support for eight byte operations.
+
+ Note that ZSH_64_BIT_TYPE, OFF_T_IS_64_BIT, INO_T_IS_64_BIT do *not* get
+ defined if long is already 64 bits, since in that case no special handling
+ is required.
+
+ Define to 1 if long is 64 bits])
+AH_TEMPLATE([ZSH_64_BIT_TYPE],
+[Define to a 64 bit integer type if there is one, but long is shorter.])
+AH_TEMPLATE([ZSH_64_BIT_UTYPE],
+[Define to an unsigned variant of ZSH_64_BIT_TYPE if that is defined.])
+AH_TEMPLATE([OFF_T_IS_64_BIT],
+[Define to 1 if off_t is 64 bit (for large file support)])
+AH_TEMPLATE([INO_T_IS_64_BIT],
+[Define to 1 if ino_t is 64 bit (for large file support).])
+if test $zsh_cv_long_is_64_bit = yes; then
+  AC_DEFINE(LONG_IS_64_BIT)
+else
+  AC_CACHE_CHECK(if off_t is 64 bit, zsh_cv_off_t_is_64_bit,
+  [AC_TRY_RUN([
+#include <sys/types.h>
+
+main() { return sizeof(off_t) < 8; }
+],
+  zsh_cv_off_t_is_64_bit=yes,
+  zsh_cv_off_t_is_64_bit=no,
+  zsh_cv_off_t_is_64_bit=no)])
+  if test $zsh_cv_off_t_is_64_bit = yes; then
+    AC_DEFINE(OFF_T_IS_64_BIT)
+  fi
+
+  AC_CACHE_CHECK(if ino_t is 64 bit, zsh_cv_ino_t_is_64_bit,
+  [AC_TRY_RUN([
+#include <sys/types.h>
+
+main() { return sizeof(ino_t) < 8; }
+],
+  zsh_cv_ino_t_is_64_bit=yes,
+  zsh_cv_ino_t_is_64_bit=no,
+  zsh_cv_ino_t_is_64_bit=no)])
+  if test $zsh_cv_ino_t_is_64_bit = yes; then
+    AC_DEFINE(INO_T_IS_64_BIT)
+  fi
+
+  if test $lfs != no -o $zsh_cv_off_t_is_64_bit = yes \
+  -o $zsh_cv_ino_t_is_64_bit = yes; then
+    AC_CACHE_CHECK(if compiler has a 64 bit type, zsh_cv_64_bit_type,
+    [if test $lfs != yes && test $lfs != no; then
+      zsh_64_BIT_TYPE(${lfs}, zsh_cv_64_bit_type, force)
+     else
+       zsh_64_BIT_TYPE(long long, zsh_cv_64_bit_type)
+       if test "$zsh_cv_64_bit_type" = no; then
+         zsh_64_BIT_TYPE(quad_t, zsh_cv_64_bit_type)
+       fi
+       if test "$zsh_cv_64_bit_type" = no; then
+         zsh_64_BIT_TYPE(__int64_t, zsh_cv_64_bit_type)
+       fi
+       dnl As a last resort, if we know off_t has 64 bits, use that as
+       dnl the 64-bit integer type.  I don't dare try ino_t since there's
+       dnl probably nothing to stop that being unsigned.
+       if test "$zsh_cv_64_bit_type" = no &&
+          test "$zsh_cv_off_t_is_64_bit" = yes; then
+         zsh_64_BIT_TYPE(off_t, zsh_cv_64_bit_type)
+       fi
+     fi])
+    if test "$zsh_cv_64_bit_type" != no; then
+      AC_DEFINE_UNQUOTED(ZSH_64_BIT_TYPE, $zsh_cv_64_bit_type)
+
+      dnl Handle cases where unsigned type cannot be simply
+      dnl `unsigned ZSH_64_BIT_TYPE'.  More tests may be required.
+      AC_CACHE_CHECK(for a corresponding unsigned 64 bit type,
+      zsh_cv_64_bit_utype,
+      [zsh_64_BIT_TYPE(unsigned $zsh_cv_64_bit_type, zsh_cv_64_bit_utype,
+       force)
+       if test "$zsh_cv_64_bit_utype" = no; then
+         zsh_64_BIT_TYPE(__uint64_t, zsh_cv_64_bit_utype)
+       fi])
+      if test "$zsh_cv_64_bit_utype" != no; then
+        AC_DEFINE_UNQUOTED(ZSH_64_BIT_UTYPE, $zsh_cv_64_bit_utype)
+      fi
+    fi
+  fi
+fi
+
+dnl Check for sigset_t.  Currently I'm looking in
+dnl <sys/types.h> and <signal.h>.  Others might need
+dnl to be added.
+AC_CACHE_CHECK(for sigset_t, zsh_cv_type_sigset_t,
+[AC_TRY_COMPILE(
+[#include <sys/types.h>
+#include <signal.h>], [sigset_t tempsigset;],
+  zsh_cv_type_sigset_t=yes, zsh_cv_type_sigset_t=no)])
+AH_TEMPLATE([sigset_t],
+[Define to `unsigned int' if <sys/types.h> or <signal.h> doesn't define])
+if test $zsh_cv_type_sigset_t = no; then
+  AC_DEFINE(sigset_t, unsigned int)
+fi
+
+dnl Check for struct timezone since some old SCO versions do not define it
+zsh_TYPE_EXISTS([
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+], struct timezone)
+
+dnl Check for utmp structures, for watch
+zsh_TYPE_EXISTS([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_UTMP_H
+# include <utmp.h>
+#endif
+], struct utmp)
+zsh_TYPE_EXISTS([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_UTMPX_H
+# include <utmpx.h>
+#endif
+], struct utmpx)
+
+dnl Check contents of utmp structures
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_UTMP_H
+# include <utmp.h>
+#endif
+], struct utmp, ut_host)
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_UTMPX_H
+# include <utmpx.h>
+#endif
+], struct utmpx, ut_host)
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_UTMPX_H
+# include <utmpx.h>
+#endif
+], struct utmpx, ut_xtime)
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_UTMPX_H
+# include <utmpx.h>
+#endif
+], struct utmpx, ut_tv)
+
+dnl Check for inode numbers in directory entry structures
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_DIRENT_H
+# include <dirent.h>
+#endif
+], struct dirent, d_ino)
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_DIRENT_H
+# include <dirent.h>
+#endif
+], struct dirent, d_stat)
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+#endif
+#ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+#endif
+#ifdef HAVE_NDIR_H
+# include <ndir.h>
+#endif
+], struct direct, d_ino)
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+#endif
+#ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+#endif
+#ifdef HAVE_NDIR_H
+# include <ndir.h>
+#endif
+], struct direct, d_stat)
+
+dnl Check IPv6 socket address structure type
+zsh_STRUCT_MEMBER([
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#include <netinet/in.h>
+], struct sockaddr_in6, sin6_scope_id)
+
+dnl Check for h_errno external variable
+AH_TEMPLATE([USE_LOCAL_H_ERRNO],
+[Define to 1 if h_errno is not defined by the system.])
+AC_CACHE_CHECK(if we need our own h_errno,
+  zsh_cv_decl_h_errno_use_local,
+  [AC_TRY_LINK( ,[extern int h_errno; h_errno = 0;],
+  zsh_cv_decl_h_errno_use_local=no,
+  zsh_cv_decl_h_errno_use_local=yes)])
+
+if test $zsh_cv_decl_h_errno_use_local = yes; then
+  AC_DEFINE(USE_LOCAL_H_ERRNO)
+fi
+
+dnl ---------------
+dnl CHECK FUNCTIONS
+dnl ---------------
+
+dnl need to integrate this function
+dnl AC_FUNC_STRFTIME
+
+AC_CHECK_FUNCS(strftime difftime gettimeofday \
+	       select poll \
+	       readlink faccessx fchdir ftruncate \
+	       fstat lstat lchown \
+	       fseeko ftello \
+	       mkfifo _mktemp mkstemp \
+	       waitpid wait3 \
+	       sigaction sigblock sighold sigrelse sigsetmask sigprocmask \
+	       killpg setpgid setpgrp tcsetpgrp tcgetattr nice \
+	       gethostname gethostbyname2 getipnodebyname \
+	       inet_aton inet_pton inet_ntop \
+	       getlogin getpwent getpwnam getpwuid getgrgid getgrnam \
+	       initgroups nis_list \
+	       setuid seteuid setreuid setresuid setsid \
+	       memcpy memmove strstr strerror \
+	       getrlimit getrusage \
+	       setlocale \
+	       uname \
+	       signgam \
+	       putenv getenv \
+	       brk sbrk \
+	       pathconf sysconf \
+	       tgetent tigetflag tigetnum tigetstr setupterm \
+	       pcre_compile pcre_study pcre_exec \
+	       nl_langinfo \
+	       erand48 open_memstream \
+	       wctomb iconv \
+	       grantpt unlockpt ptsname \
+	       htons ntohs)
+AC_FUNC_STRCOLL
+
+if test x$enable_cap = xyes; then
+  AC_CHECK_FUNCS(cap_get_proc)
+fi
+
+dnl  Check if tgetent accepts NULL (and will allocate its own termcap buffer)
+dnl  Some termcaps reportedly accept a zero buffer, but then dump core
+dnl  in tgetstr().
+dnl  Under Cygwin test program crashes but exit code is still 0. So,
+dnl  we test for a file that porgram should create
+AH_TEMPLATE([TGETENT_ACCEPTS_NULL],
+[Define to 1 if tgetent() accepts NULL as a buffer.])
+AC_CACHE_CHECK(if tgetent accepts NULL,
+zsh_cv_func_tgetent_accepts_null,
+[AC_TRY_RUN([
+main()
+{
+    char buf[4096];
+    int r1 = tgetent(buf, "vt100");
+    int r2 = tgetent((char*)0,"vt100");
+    if (r1 >= 0 && r1 == r2) {
+        char tbuf[1024], *u;
+        u = tbuf;
+    	tgetstr("cl", &u);
+	creat("conftest.tgetent", 0640);
+    }
+    exit((r1 != r2) || r2 == -1);
+}
+],
+  if test -f conftest.tgetent; then
+    zsh_cv_func_tgetent_accepts_null=yes
+  else
+    zsh_cv_func_tgetent_accepts_null=no
+  fi,
+  zsh_cv_func_tgetent_accepts_null=no,
+  zsh_cv_func_tgetent_accepts_null=no)])
+if test $zsh_cv_func_tgetent_accepts_null = yes; then
+  AC_DEFINE(TGETENT_ACCEPTS_NULL)
+fi
+AC_CACHE_CHECK(if tgetent returns 0 on success,
+zsh_cv_func_tgetent_zero_success,
+[AC_TRY_RUN([
+main()
+{
+    char buf[4096];
+    int r1 = tgetent(buf, "!@#$%^&*");
+    int r2 = tgetent(buf, "vt100");
+    if (r1 < 0 && r2 == 0) {
+        char tbuf[1024], *u;
+        u = tbuf;
+    	tgetstr("cl", &u);
+	creat("conftest.tgetent0", 0640);
+    }
+    exit(r1 == r2);
+}
+],
+  if test -f conftest.tgetent0; then
+    zsh_cv_func_tgetent_zero_success=yes
+  else
+    zsh_cv_func_tgetent_zero_success=no
+  fi,
+  zsh_cv_func_tgetent_zero_success=no,
+  zsh_cv_func_tgetent_zero_success=no)])
+AH_TEMPLATE([TGETENT_SUCCESS],
+[Define to what tgetent() returns on success (0 on HP-UX X/Open curses).])
+if test $zsh_cv_func_tgetent_zero_success = yes; then
+  AC_DEFINE(TGETENT_SUCCESS, 0)
+else
+  AC_DEFINE(TGETENT_SUCCESS, 1)
+fi
+
+AC_FUNC_MMAP
+if test x$ac_cv_func_mmap_fixed_mapped = xyes; then
+  AC_CHECK_FUNCS(munmap msync)
+fi
+
+if test $ac_cv_func_setpgrp = yes; then
+  AC_FUNC_GETPGRP
+else
+  dnl If there is no setpgrp, the test for getpgrp(void) will fail
+  dnl because the program will not compile.  However, in that case
+  dnl we can be reasonably confident we are not dealing with a
+  dnl Berkeleyesque system, so assume getpgrp does take void.
+  ac_cv_func_getpgrp_void=yes
+  AC_DEFINE(GETPGRP_VOID)
+fi
+
+if test $dynamic = yes; then
+  AC_CHECK_FUNCS(dlopen dlerror dlsym dlclose load loadquery loadbind unload \
+		shl_load shl_unload shl_findsym)
+fi
+
+
+dnl -------------
+dnl CHECK SIGNALS
+dnl -------------
+dnl What style of signal do you have (POSIX, BSD, or SYSV)?
+AH_TEMPLATE([POSIX_SIGNALS],
+[Define to 1 if you use POSIX style signal handling.])
+AH_TEMPLATE([BSD_SIGNALS],
+[Define to 1 if you use BSD style signal handling (and can block signals).])
+AH_TEMPLATE([SYSV_SIGNALS],
+[Define to 1 if you use SYS style signal handling (and can block signals).])
+AH_TEMPLATE([NO_SIGNAL_BLOCKING],
+[Define to 1 if you have no signal blocking at all (bummer).])
+AC_MSG_CHECKING(what style of signals to use)
+if test $ac_cv_func_sigaction = yes && test $ac_cv_func_sigprocmask = yes; then
+  signals_style=POSIX_SIGNALS
+  AC_DEFINE(POSIX_SIGNALS)
+elif test $ac_cv_func_sigblock = yes && test $ac_cv_func_sigsetmask = yes; then
+  signals_style=BSD_SIGNALS
+  AC_DEFINE(BSD_SIGNALS)
+elif test $ac_cv_func_sighold = yes && test $ac_cv_func_sigrelse = yes; then
+  signals_style=SYSV_SIGNALS
+  AC_DEFINE(SYSV_SIGNALS)
+else
+  signals_style=NO_SIGNAL_BLOCKING
+  AC_DEFINE(NO_SIGNAL_BLOCKING)
+fi
+AC_DEFINE_UNQUOTED($signals_style)
+AC_MSG_RESULT($signals_style)
+
+dnl Where is <signal.h> located?  Needed as input for signals.awk
+AC_CACHE_CHECK(where signal.h is located, zsh_cv_path_signal_h,
+[dnl Look at the output from the preprocessor.
+dnl We should get lines of the form `# 1 "/usr/include/signal.h"'
+dnl The following assumes the real definitions are in a file which
+dnl contains the name `sig'; we could relax this if necessary,
+dnl but then you can get a rather long list of files to test.
+dnl The backslash substitution is to persuade cygwin to cough up
+dnl slashes rather than doubled backslashes in the path.
+echo "#include <signal.h>" > nametmp.c
+sigfile_list="`$CPP nametmp.c |
+sed -n -e 's/^#line[ 	].*\"\(.*\)\"/\1/p' \
+       -e 's/^#[ 	].*\"\(.*\)\"/\1/p' |
+sed 's/\\\\\\\\/\//g' |
+$AWK '{ if (\$1 ~ \"sig\") files[[\$1]] = \$1 }
+  END { for (var in files) print var }'`"
+rm -f nametmp.c
+if test -z "$sigfile_list"; then
+  dnl In case we don't get the stuff from the preprocesor, use the old
+  dnl list of standard places.
+  sigfile_list="/usr/include/sys/iso/signal_iso.h
+/usr/include/bsd/sys/signal.h
+/usr/include/signum.h
+/usr/include/asm/signum.h
+/usr/include/asm/signal.h
+/usr/include/linux/signal.h
+/usr/include/sys/signal.h
+/usr/include/bits/signum.h
+/dev/null"
+fi
+for SIGNAL_H in $sigfile_list
+do
+  dnl Try to make sure it doesn't get confused by files that don't
+  dnl have real signal definitions in, but do #define SIG* by counting
+  dnl the number of signals.  Maybe we could even check for e.g. SIGHUP?
+  nsigs=`test -f $SIGNAL_H && \
+  grep '#[ 	]*define[ 	][ 	]*SIG[0-9A-Z]*[ 	]*[0-9][0-9]*' $SIGNAL_H | \
+  wc -l | sed 's/[ 	]//g'`
+  test "x$nsigs" != x && test "$nsigs" -ge 7 && break
+done
+if test $SIGNAL_H = "/dev/null"; then
+  AC_MSG_ERROR(SIGNAL MACROS NOT FOUND:  please report to developers)
+fi
+zsh_cv_path_signal_h=$SIGNAL_H
+])
+SIGNAL_H=$zsh_cv_path_signal_h
+AC_SUBST(SIGNAL_H)dnl
+
+dnl Where are error names located?  Needed as input for errnames1.awk
+AC_CACHE_CHECK(where error names are located, zsh_cv_path_errno_h,
+[dnl Look at the output from the preprocessor.
+dnl We should get lines of the form `# 1 "/usr/include/errno.h"'
+dnl The following assumes the real definitions are in a file which
+dnl contains the name `err'; we could relax this if necessary,
+dnl but then you can get a rather long list of files to test.
+dnl The backslash substitution is to persuade cygwin to cough up
+dnl slashes rather than doubled backslashes in the path.
+echo "#include <errno.h>" > nametmp.c
+errfile_list="`$CPP nametmp.c |
+sed -n -e 's/^#line[ 	].*\"\(.*\)\"/\1/p' \
+       -e 's/^#[ 	0-9].*\"\(.*\)\"/\1/p' |
+sed 's/\\\\\\\\/\//g' |
+$AWK '{ if (\$1 ~ \"err\") files[[\$1]] = \$1 }
+  END { for (var in files) print var }'`"
+rm -f nametmp.c
+for ERRNO_H in $errfile_list /dev/null
+do
+  dnl Try to make sure it doesn't get confused by files that don't
+  dnl have real error definitions in.  Count definitions to make sure.
+  nerrs=`test -f $ERRNO_H && \
+  grep '#[ 	]*define[ 	][ 	]*E[0-9A-Z]*[ 	]*[0-9][0-9]*' $ERRNO_H | \
+  wc -l | sed 's/[ 	]//g'`
+  test "x$nerrs" != x && test "$nerrs" -ge 7 && break
+done
+if test $ERRNO_H = "/dev/null"; then
+  AC_MSG_ERROR(ERROR MACROS NOT FOUND:  please report to developers)
+fi
+zsh_cv_path_errno_h=$ERRNO_H
+])
+ERRNO_H=$zsh_cv_path_errno_h
+AC_SUBST(ERRNO_H)dnl
+
+dnl -----------------------------------------------------
+dnl Look for the file containing the RLIMIT_* definitions
+dnl -----------------------------------------------------
+dnl CALL FOR MORE (FEWER?) LOCATIONS:  I've just copied the signal checking.
+AC_CACHE_CHECK(where the RLIMIT macros are located,zsh_cv_path_rlimit_h,
+[for RESOURCE_H in /usr/include/bsd/sys/resource.h   dnl
+                   /usr/include/asm/resource.h	     dnl
+                   /usr/include/linux/resource.h     dnl
+                   /usr/include/sys/resource.h       dnl
+                   /usr/include/bits/resource.h      dnl
+                   /usr/include/resourcebits.h       dnl
+                   /dev/null;
+do
+  test -f $RESOURCE_H && \
+  grep '#[ 	]*define[ 	][ 	]*RLIMIT_[A-Z]*[ 	]*[0-9A-Z][0-9]*' $RESOURCE_H > /dev/null && \
+  break
+done
+zsh_cv_path_rlimit_h=$RESOURCE_H
+if test $RESOURCE_H = "/dev/null" && test $ac_cv_func_getrlimit = yes; then
+  AC_MSG_WARN(RLIMIT MACROS NOT FOUND:  please report to developers)
+fi])
+RLIMITS_INC_H=$zsh_cv_path_rlimit_h
+if test "$RLIMITS_INC_H" = "/dev/null"; then
+  RLIMITS_INC_H=''
+fi
+dnl rlimits.h only appears in dependencies if we are actually using it.
+dnl We are using it any time we have getrlimit, though if the macros were
+dnl not found we simply awk through /dev/null and fail to find them.
+dnl Thus, limit won't work, but at least the shell will compile.
+AC_SUBST(RLIMITS_INC_H)dnl
+
+dnl ------------------
+dnl rlimit type checks
+dnl ------------------
+AH_TEMPLATE([RLIM_T_IS_QUAD_T],
+[Define to 1 if struct rlimit uses quad_t.])
+AH_TEMPLATE([RLIM_T_IS_LONG_LONG],
+[Define to 1 if struct rlimit uses long long])
+AH_TEMPLATE([RLIM_T_IS_UNSIGNED],
+[Define to 1 if struct rlimit uses unsigned.])
+AH_TEMPLATE([rlim_t],
+[Define to the type used in struct rlimit.])
+DEFAULT_RLIM_T=long
+AC_CACHE_CHECK(if rlim_t is longer than a long,
+zsh_cv_rlim_t_is_longer,
+[AC_TRY_RUN([
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/resource.h>
+main(){struct rlimit r;exit(sizeof(r.rlim_cur) <= sizeof(long));}],
+zsh_cv_rlim_t_is_longer=yes,
+zsh_cv_rlim_t_is_longer=no,
+zsh_cv_rlim_t_is_longer=yes)])
+if test $zsh_cv_rlim_t_is_longer = yes; then
+  AC_CACHE_CHECK(if rlim_t is a quad,
+  zsh_cv_rlim_t_is_quad_t,
+  [AC_TRY_RUN([
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <stdio.h>
+#include <sys/resource.h>
+main() { 
+  struct rlimit r;
+  char buf[20];
+  r.rlim_cur = 0;
+  sprintf(buf, "%qd", r.rlim_cur);
+  exit(strcmp(buf, "0"));
+}],
+  zsh_cv_rlim_t_is_quad_t=yes,
+  zsh_cv_rlim_t_is_quad_t=no,
+  zsh_cv_rlim_t_is_quad_t=no)])
+  if test $zsh_cv_rlim_t_is_quad_t = yes; then
+    AC_DEFINE(RLIM_T_IS_QUAD_T)
+    DEFAULT_RLIM_T=quad_t
+  else
+    AC_DEFINE(RLIM_T_IS_LONG_LONG)
+    DEFAULT_RLIM_T='long long'
+  fi
+else
+  AC_CACHE_CHECK(if the rlim_t is unsigned,
+  zsh_cv_type_rlim_t_is_unsigned,
+  [AC_TRY_RUN([
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/resource.h>
+  main(){struct rlimit r;r.rlim_cur=-1;exit(r.rlim_cur<0);}],
+  zsh_cv_type_rlim_t_is_unsigned=yes,
+  zsh_cv_type_rlim_t_is_unsigned=no,
+  zsh_cv_type_rlim_t_is_unsigned=no)])
+  if test $zsh_cv_type_rlim_t_is_unsigned = yes; then
+    AC_DEFINE(RLIM_T_IS_UNSIGNED)
+    DEFAULT_RLIM_T="unsigned $DEFAULT_RLIM_T"
+  fi
+fi
+
+AC_CACHE_CHECK(for rlim_t, zsh_cv_type_rlim_t,
+[AC_TRY_COMPILE([
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/resource.h>],
+[rlim_t l;],
+zsh_cv_type_rlim_t=yes,
+zsh_cv_type_rlim_t=no)])
+if test $zsh_cv_type_rlim_t = no; then
+  AC_DEFINE_UNQUOTED(rlim_t, $DEFAULT_RLIM_T)
+fi
+
+
+dnl On some systems the RLIMIT_* don't evaluate to integers at compile time
+dnl (they may be enums).  In this case we are not able to do preprocessor
+dnl comparisons and need our tests to determine what values exist and
+dnl if there are clashing definitions.
+
+zsh_LIMIT_PRESENT(RLIMIT_AIO_MEM)
+zsh_LIMIT_PRESENT(RLIMIT_AIO_OPS)
+zsh_LIMIT_PRESENT(RLIMIT_AS)
+zsh_LIMIT_PRESENT(RLIMIT_LOCKS)
+zsh_LIMIT_PRESENT(RLIMIT_MEMLOCK)
+zsh_LIMIT_PRESENT(RLIMIT_NPROC)
+zsh_LIMIT_PRESENT(RLIMIT_NOFILE)
+zsh_LIMIT_PRESENT(RLIMIT_PTHREAD)
+zsh_LIMIT_PRESENT(RLIMIT_RSS)
+zsh_LIMIT_PRESENT(RLIMIT_SBSIZE)
+zsh_LIMIT_PRESENT(RLIMIT_TCACHE)
+zsh_LIMIT_PRESENT(RLIMIT_VMEM)
+zsh_LIMIT_PRESENT(RLIMIT_SIGPENDING)
+zsh_LIMIT_PRESENT(RLIMIT_MSGQUEUE)
+
+AH_TEMPLATE([RLIMIT_VMEM_IS_RSS],
+[Define to 1 if RLIMIT_VMEM and RLIMIT_RSS both exist and are equal.])
+AC_CACHE_CHECK(if RLIMIT_VMEM and RLIMIT_RSS are the same,
+zsh_cv_rlimit_vmem_is_rss,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/resource.h>
+int main()
+{
+int ret = 1;
+#if defined(HAVE_RLIMIT_VMEM) && defined(HAVE_RLIMIT_RSS)
+if (RLIMIT_RSS == RLIMIT_VMEM) ret = 0;
+#endif
+return ret;
+}],
+  zsh_cv_rlimit_vmem_is_rss=yes,
+  zsh_cv_rlimit_vmem_is_rss=no,
+  zsh_cv_rlimit_vmem_is_rss=no)])
+
+if test $zsh_cv_rlimit_vmem_is_rss = yes; then
+  AC_DEFINE(RLIMIT_VMEM_IS_RSS)
+fi
+
+
+AH_TEMPLATE([RLIMIT_VMEM_IS_AS],
+[Define to 1 if RLIMIT_VMEM and RLIMIT_AS both exist and are equal.])
+AC_CACHE_CHECK(if RLIMIT_VMEM and RLIMIT_AS are the same,
+zsh_cv_rlimit_vmem_is_as,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/resource.h>
+int main()
+{
+int ret = 1;
+#if defined(HAVE_RLIMIT_VMEM) && defined(HAVE_RLIMIT_AS)
+if (RLIMIT_AS == RLIMIT_VMEM) ret = 0;
+#endif
+return ret;
+}],
+  zsh_cv_rlimit_vmem_is_as=yes,
+  zsh_cv_rlimit_vmem_is_as=no,
+  zsh_cv_rlimit_vmem_is_as=no)])
+
+if test $zsh_cv_rlimit_vmem_is_as = yes; then
+  AC_DEFINE(RLIMIT_VMEM_IS_AS)
+fi
+
+
+dnl --------------------------------------------
+dnl Check for members of struct rusage
+dnl --------------------------------------------
+if test $ac_cv_func_getrusage = yes; then
+  AC_CHECK_MEMBERS([struct rusage.ru_maxrss,
+		    struct rusage.ru_ixrss,
+		    struct rusage.ru_idrss,
+		    struct rusage.ru_isrss,
+		    struct rusage.ru_minflt,
+		    struct rusage.ru_majflt,
+		    struct rusage.ru_nswap,
+		    struct rusage.ru_inblock,
+		    struct rusage.ru_oublock,
+		    struct rusage.ru_msgsnd,
+		    struct rusage.ru_msgrcv,
+		    struct rusage.ru_nsignals,
+		    struct rusage.ru_nvcsw,
+		    struct rusage.ru_nivcsw],,,
+[#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/resource.h>])
+fi
+
+
+dnl --------------------------------------------
+dnl CHECK FOR DEFAULT PATH (used for command -p)
+dnl --------------------------------------------
+AC_CACHE_VAL(zsh_cv_cs_path,
+[if getconf _CS_PATH >/dev/null 2>&1; then
+  zsh_cv_cs_path=`getconf _CS_PATH`
+elif getconf CS_PATH >/dev/null 2>&1; then
+  zsh_cv_cs_path=`getconf CS_PATH`
+else
+  zsh_cv_cs_path="/bin:/usr/bin"
+fi])
+AC_DEFINE_UNQUOTED(DEFAULT_PATH, "$zsh_cv_cs_path",
+[The default path; used when running commands with command -p])
+
+
+dnl ----------------------------
+dnl CHECK FOR /dev/fd FILESYSTEM
+dnl ----------------------------
+AH_TEMPLATE([PATH_DEV_FD],
+[Define to the path of the /dev/fd filesystem.])
+AC_CACHE_CHECK(for /dev/fd filesystem, zsh_cv_sys_path_dev_fd,
+[for zsh_cv_sys_path_dev_fd in /proc/self/fd /dev/fd no; do
+   test x`echo ok|cat $zsh_cv_sys_path_dev_fd/0 2>/dev/null` = xok && break
+ done])
+if test $zsh_cv_sys_path_dev_fd != no; then
+  AC_DEFINE_UNQUOTED(PATH_DEV_FD, "$zsh_cv_sys_path_dev_fd")
+fi
+
+dnl ---------------------------------
+dnl CHECK FOR RFS SUPERROOT DIRECTORY
+dnl ---------------------------------
+AC_CACHE_CHECK(for RFS superroot directory, zsh_cv_sys_superroot,
+[test -d /../.LOCALROOT && zsh_cv_sys_superroot=yes || zsh_cv_sys_superroot=no])
+AH_TEMPLATE([HAVE_SUPERROOT],
+[Define to 1 if you have RFS superroot directory.])
+if test $zsh_cv_sys_superroot = yes; then
+  AC_DEFINE(HAVE_SUPERROOT)
+fi
+
+dnl CHECK FOR SYSTEMS REQUIRING GETCWD
+AC_CACHE_CHECK(whether we should use the native getcwd,
+zsh_cv_use_getcwd,
+[case "${host_cpu}-${host_vendor}-${host_os}" in
+    *QNX*) zsh_cv_use_getcwd=yes ;;
+    *) zsh_cv_use_getcwd=no ;;
+ esac])
+AH_TEMPLATE([USE_GETCWD],
+[Define to 1 if you need to use the native getcwd.])
+if test $zsh_cv_use_getcwd = yes; then
+  AC_DEFINE(USE_GETCWD)
+fi
+
+dnl -------------
+dnl CHECK FOR NIS
+dnl -------------
+AH_TEMPLATE([HAVE_NIS],
+[Define to 1 if you have NIS.])
+AC_CACHE_CHECK(for NIS, zsh_cv_sys_nis,
+[test -f /usr/bin/ypcat && /usr/bin/ypcat passwd.byname > /dev/null 2>&1 && \
+zsh_cv_sys_nis=yes || zsh_cv_sys_nis=no])
+if test $zsh_cv_sys_nis = yes; then
+  AC_DEFINE(HAVE_NIS)
+fi
+
+dnl -----------------
+dnl CHECK FOR NISPLUS
+dnl -----------------
+AH_TEMPLATE([HAVE_NIS_PLUS],
+[Define to 1 if you have NISPLUS.])
+AC_CACHE_CHECK(for NIS+, zsh_cv_sys_nis_plus,
+[test $ac_cv_func_nis_list = yes && test -f /usr/bin/nisls && \
+ /usr/bin/nisls > /dev/null 2>&1 && \
+zsh_cv_sys_nis_plus=yes || zsh_cv_sys_nis_plus=no])
+if test $zsh_cv_sys_nis_plus = yes; then
+  AC_DEFINE(HAVE_NIS_PLUS)
+fi
+
+dnl ----------------------------------------
+dnl CHECK FOR LOCATION OF {U,W}TMP{,X} FILES
+dnl ----------------------------------------
+zsh_PATH_UTMP(utmp)
+zsh_PATH_UTMP(wtmp)
+zsh_PATH_UTMP(utmpx)
+zsh_PATH_UTMP(wtmpx)
+
+dnl -------------------
+dnl brk/sbrk PROTOTYPES
+dnl -------------------
+AC_CACHE_CHECK(for brk() prototype in <unistd.h>,
+zsh_cv_header_unistd_h_brk_proto,
+[AC_TRY_COMPILE([#include <unistd.h>
+double brk();], [int i;],
+zsh_cv_header_unistd_h_brk_proto=no, zsh_cv_header_unistd_h_brk_proto=yes)])
+AH_TEMPLATE([HAVE_BRK_PROTO],
+[Define to 1 if there is a prototype defined for brk() on your system.])
+if test $zsh_cv_header_unistd_h_brk_proto = yes; then
+  AC_DEFINE(HAVE_BRK_PROTO)
+fi
+
+AC_CACHE_CHECK(for sbrk() prototype in <unistd.h>,
+zsh_cv_header_unistd_h_sbrk_proto,
+[AC_TRY_COMPILE([#include <unistd.h>
+double sbrk();], [int i;],
+zsh_cv_header_unistd_h_sbrk_proto=no, zsh_cv_header_unistd_h_sbrk_proto=yes)])
+AH_TEMPLATE([HAVE_SBRK_PROTO],
+[Define to 1 if there is a prototype defined for sbrk() on your system.])
+if test $zsh_cv_header_unistd_h_sbrk_proto = yes; then
+  AC_DEFINE(HAVE_SBRK_PROTO)
+fi
+
+dnl ----------------------------------
+dnl ioctl and mknod prototypes for OSF
+dnl ----------------------------------
+
+AH_TEMPLATE([HAVE_IOCTL_PROTO],
+[Define to 1 if there is a prototype defined for ioctl() on your system])
+AH_TEMPLATE([HAVE_MKNOD_PROTO],
+[Define to 1 if there is a prototype defined for mknod() on your system])
+if test "$ac_cv_prog_cc_stdc" != no; then
+  AC_CACHE_CHECK(for ioctl prototype in <sys/ioctl.h>,
+  zsh_cv_header_sys_ioctl_h_ioctl_proto,
+  [AC_TRY_COMPILE([#include <sys/ioctl.h>
+   int ioctl(double x);], [int i;],
+  zsh_cv_header_sys_ioctl_h_ioctl_proto=no,
+  zsh_cv_header_sys_ioctl_h_ioctl_proto=yes)])
+  if test $zsh_cv_header_sys_ioctl_h_ioctl_proto = yes; then
+    AC_DEFINE(HAVE_IOCTL_PROTO)
+  fi
+  AC_CACHE_CHECK(for mknod prototype in <sys/stat.h>,
+  zsh_cv_header_sys_stat_h_mknod_proto,
+  [AC_TRY_COMPILE([#include <sys/stat.h>
+   int mknod(double x);], [int i;],
+  zsh_cv_header_sys_stat_h_mknod_proto=no,
+  zsh_cv_header_sys_stat_h_mknod_proto=yes)])
+  if test $zsh_cv_header_sys_stat_h_mknod_proto = yes; then
+    AC_DEFINE(HAVE_MKNOD_PROTO)
+  fi
+fi
+
+dnl -------------------
+dnl select() defined in <sys/socket.h>, ie BeOS R4.51
+dnl -------------------
+AH_TEMPLATE([SELECT_IN_SYS_SOCKET_H],
+[Define to 1 if select() is defined in <sys/socket.h>, ie BeOS R4.51])
+if test $ac_cv_header_sys_select_h != yes; then
+  AC_CACHE_CHECK(for select() in <sys/socket.h>,
+  zsh_cv_header_socket_h_select_proto,
+  [AC_TRY_COMPILE([#include <sys/socket.h>], [fd_set fd;],
+  zsh_cv_header_socket_h_select_proto=yes, 
+  zsh_cv_header_socket_h_select_proto=no)])
+  if test $zsh_cv_header_socket_h_select_proto = yes; then
+    AC_DEFINE(SELECT_IN_SYS_SOCKET_H)
+  fi
+fi
+
+dnl -----------
+dnl named FIFOs
+dnl -----------
+AC_CACHE_CHECK(if named FIFOs work,
+zsh_cv_sys_fifo,
+[if test "$host_os" = cygwin; then
+zsh_cv_sys_fifo=no
+else
+AC_TRY_RUN([
+#include <fcntl.h>
+#include <signal.h>
+main()
+{
+    char c;
+    int fd;
+    int pid, ret;
+    unlink("/tmp/fifo$$");
+#ifdef HAVE_MKFIFO
+    if(mkfifo("/tmp/fifo$$", 0600) < 0)
+#else
+    if(mknod("/tmp/fifo$$", 0010600, 0) < 0)
+#endif
+	exit(1);
+    pid = fork();
+    if(pid < 0)
+	exit(1);
+    if(pid) {
+	fd = open("/tmp/fifo$$", O_RDONLY);
+	exit(fd < 0 || read(fd, &c, 1) != 1 || c != 'x');
+    }
+    fd = open("/tmp/fifo$$", O_WRONLY);
+    ret = (fd < 0 || write(fd, "x", 1) < 1);
+    unlink("/tmp/fifo$$");
+    exit(ret);
+}
+],
+  zsh_cv_sys_fifo=yes,
+  zsh_cv_sys_fifo=no,
+  zsh_cv_sys_fifo=yes)
+fi])
+AH_TEMPLATE([HAVE_FIFOS],
+[Define to 1 if system has working FIFOs.])
+if test $zsh_cv_sys_fifo = yes; then
+  AC_DEFINE(HAVE_FIFOS)
+fi
+dnl ---------------------
+dnl echo style of /bin/sh
+dnl ---------------------
+AC_CACHE_CHECK(if echo in /bin/sh interprets escape sequences,
+zsh_cv_prog_sh_echo_escape,
+[if test "`/bin/sh -c \"echo '\\n'\"`" = "\\n"; then
+  zsh_cv_prog_sh_echo_escape=no
+else
+  zsh_cv_prog_sh_echo_escape=yes
+fi])
+AH_TEMPLATE([SH_USE_BSD_ECHO],
+[Define to 1 if /bin/sh does not interpret \ escape sequences.])
+if test $zsh_cv_prog_sh_echo_escape = no; then
+  AC_DEFINE(SH_USE_BSD_ECHO)
+fi
+
+dnl -----------
+dnl test for whether link() works
+dnl for instance, BeOS R4.51 doesn't support hard links yet
+dnl -----------
+AC_CACHE_CHECK(if link() works,
+zsh_cv_sys_link,
+[AC_TRY_RUN([
+#include <unistd.h>
+#include <fcntl.h>
+main()
+{
+    int ret;
+    char *tmpfile, *newfile;
+    tmpfile="/tmp/zsh.linktest$$";
+    newfile="/tmp/zsh.linktest2$$";
+    unlink(tmpfile);
+    unlink(newfile);
+    if(creat(tmpfile, 0644) < 0)
+	exit(1);
+    ret = link(tmpfile, newfile);
+    unlink(tmpfile);
+    unlink(newfile);
+    exit(ret<0);
+}
+],
+  zsh_cv_sys_link=yes,
+  zsh_cv_sys_link=no,
+  zsh_cv_sys_link=yes)])
+AH_TEMPLATE([HAVE_LINK],
+[Define to 1 if system has working link().])
+if test $zsh_cv_sys_link = yes; then
+  AC_DEFINE(HAVE_LINK)
+fi
+
+dnl -----------
+dnl test for whether kill(pid, 0) where pid doesn't exit
+dnl should set errno to ESRCH, but some like BeOS R4.51 set to EINVAL
+dnl -----------
+AC_CACHE_CHECK(if kill(pid, 0) returns ESRCH correctly,
+zsh_cv_sys_killesrch,
+[AC_TRY_RUN([
+#include <unistd.h>
+#include <signal.h>
+#include <errno.h>
+main()
+{
+    int pid = (getpid() + 10000) & 0xffffff;
+    while (pid && (kill(pid, 0) == 0 || errno != ESRCH)) pid >>= 1;
+    exit(errno!=ESRCH);
+}
+],
+  zsh_cv_sys_killesrch=yes,
+  zsh_cv_sys_killesrch=no,
+  zsh_cv_sys_killesrch=yes)])
+AH_TEMPLATE([BROKEN_KILL_ESRCH],
+[Define to 1 if kill(pid, 0) doesn't return ESRCH, ie BeOS R4.51.])
+if test $zsh_cv_sys_killesrch = no; then
+  AC_DEFINE(BROKEN_KILL_ESRCH)
+fi
+
+dnl -----------
+dnl if POSIX, test for working sigsuspend().
+dnl for instance, BeOS R4.51 is broken.
+dnl -----------
+AH_TEMPLATE([BROKEN_POSIX_SIGSUSPEND],
+Define to 1 if sigsuspend() is broken, ie BeOS R4.51.])
+if test $signals_style = POSIX_SIGNALS; then
+    AC_CACHE_CHECK(if POSIX sigsuspend() works,
+    zsh_cv_sys_sigsuspend,
+    [AC_TRY_RUN([
+#include <signal.h>
+#include <unistd.h>
+int child=0;
+void handler(sig)
+    int sig;
+{if(sig==SIGCHLD) child=1;}
+main() {
+    struct sigaction act;
+    sigset_t set;
+    int pid, ret;
+    act.sa_handler = &handler;
+    sigfillset(&act.sa_mask);
+    act.sa_flags = 0;
+    sigaction(SIGCHLD, &act, 0);
+    sigfillset(&set);
+    sigprocmask(SIG_SETMASK, &set, 0);
+    pid=fork();
+    if(pid==0) return 0;
+    if(pid>0) {
+    sigemptyset(&set);
+        ret=sigsuspend(&set);
+        exit(child==0);
+    }
+}
+],
+      zsh_cv_sys_sigsuspend=yes,
+      zsh_cv_sys_sigsuspend=no,
+      zsh_cv_sys_sigsuspend=yes)])
+    if test $zsh_cv_sys_sigsuspend = no; then
+      AC_DEFINE(BROKEN_POSIX_SIGSUSPEND)
+    fi
+fi
+
+dnl -----------
+dnl if found tcsetpgrp, test to see if it actually works
+dnl for instance, BeOS R4.51 does not support it yet
+dnl -----------
+AH_TEMPLATE([BROKEN_TCSETPGRP],
+[Define to 1 if tcsetpgrp() doesn't work, ie BeOS R4.51.])
+AC_ARG_WITH(tcsetpgrp,
+[  --with-tcsetpgrp        assumes that tcsetpgrp() exists and works correctly],[
+case "x$withval" in
+    xyes) zsh_working_tcsetpgrp=yes;;
+    xno)  zsh_working_tcsetpgrp=no;;
+    *)    AC_ERROR([please use --with-tcsetpgrp=yes or --with-tcsetpgrp=no]);;
+esac],[zsh_working_tcsetpgrp=check])
+if test "x$ac_cv_func_tcsetpgrp" = xyes; then
+case "x$zsh_working_tcsetpgrp" in
+  xcheck)
+    trap "" SIGTTOU > /dev/null 2>&1 || :
+    AC_CACHE_CHECK(if tcsetpgrp() actually works,
+    zsh_cv_sys_tcsetpgrp,
+    [AC_TRY_RUN([
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+main() {
+    int fd;
+    int ret;
+    fd=open("/dev/tty", O_RDWR);
+    if (fd < 0) exit(2);
+    ret=tcsetpgrp(fd, tcgetpgrp(fd));
+    if (ret < 0) exit(1);
+    exit(0);
+}
+],
+      zsh_cv_sys_tcsetpgrp=yes, [
+case $? in
+    1) zsh_cv_sys_tcsetpgrp=no;;
+    2) zsh_cv_sys_tcsetpgrp=notty;;
+    *) zsh_cv_sys_tcsetpgrp=error;;
+esac
+      ], zsh_cv_sys_tcsetpgrp=yes)])
+    case "x$zsh_cv_sys_tcsetpgrp" in
+      xno)    AC_DEFINE(BROKEN_TCSETPGRP);;
+      xyes)   :;;
+      xnotty) AC_MSG_ERROR([no controlling tty
+Try running configure with --with-tcsetpgrp or --without-tcsetpgrp]);;
+      *)      AC_MSG_ERROR([unexpected return status]);;
+    esac
+    trap - SIGTTOU > /dev/null 2>&1 || :
+    ;;
+  xyes) :;;
+  xno)  AC_DEFINE(BROKEN_TCSETPGRP);;
+  *)    AC_MSG_ERROR([unexpected value zsh_working_tcsetpgrp=$zsh_working_tcsetpgrp]);;
+esac
+fi
+
+dnl -----------
+dnl test for faked getpwnam() entry, ie a single entry returned for any username
+dnl for instance, BeOS R4.51 is not multiuser yet, and fakes getpwnam()
+dnl test by looking up two usernames that shouldn't succeed, and compare entry
+dnl -----------
+AH_TEMPLATE([GETPWNAM_FAKED],
+[Define to 1 if getpwnam() is faked, ie BeOS R4.51.])
+if test $ac_cv_func_getpwnam = yes; then
+    AC_CACHE_CHECK(if getpwnam() is faked,
+    zsh_cv_sys_getpwnam_faked,
+    [AC_TRY_RUN([
+#include <pwd.h>
+main() {
+    struct passwd *pw1, *pw2;
+    char buf[1024], name[1024];
+    sprintf(buf, "%d:%d", getpid(), rand());
+    pw1=getpwnam(buf);
+    if (pw1) strcpy(name, pw1->pw_name);
+    sprintf(buf, "%d:%d", rand(), getpid());
+    pw2=getpwnam(buf);
+    exit(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name));
+}
+],
+      zsh_cv_sys_getpwnam_faked=no,
+      zsh_cv_sys_getpwnam_faked=yes,
+      zsh_cv_sys_getpwnam_faked=no)])
+    if test $zsh_cv_sys_getpwnam_faked = yes; then
+      AC_DEFINE(GETPWNAM_FAKED)
+    fi
+fi
+
+
+dnl ---------------
+dnl check for the type of third argument of accept
+dnl ---------------
+
+zsh_CHECK_SOCKLEN_T
+
+dnl ---------------
+dnl Check for pty multiplexer for use in pty module.
+dnl We need to open it read/write, so make sure it is writeable.
+dnl Yet another test which won't work when cross-compiling.
+dnl ---------------
+AC_CACHE_CHECK(if your system has /dev/ptmx,
+ac_cv_have_dev_ptmx,
+[if test -w /dev/ptmx; then
+  ac_cv_have_dev_ptmx=yes
+else
+  ac_cv_have_dev_ptmx=no
+fi])
+
+dnl --------
+dnl Check if the ptmx functions are usable.
+dnl We need to be able to find the prototypes, which may
+dnl require non-POSIX source definitions.  So test to see
+dnl if ptsname is correctly recognised as returning a char *.
+dnl We do this by making sure a program where ptsname() is declared
+dnl as returning int does *not* compile.
+dnl On Linux we need the XOPEN extensions.  The easiest way to get
+dnl these is by defining _GNU_SOURCE.
+dnl -------
+AH_TEMPLATE([USE_DEV_PTMX],
+[Define to 1 if all the kit for using /dev/ptmx for ptys is available.])
+if test $ac_cv_have_dev_ptmx = yes && \
+   test $ac_cv_func_grantpt = yes && \
+   test $ac_cv_func_unlockpt = yes && \
+   test $ac_cv_func_ptsname = yes; then
+   AC_CACHE_CHECK([if /dev/ptmx is usable],
+   ac_cv_use_dev_ptmx,
+   [AC_TRY_COMPILE([#ifdef __linux
+#define _GNU_SOURCE 1
+#endif
+#include <stdlib.h>
+int ptsname();], ,
+   ac_cv_use_dev_ptmx=no,
+   ac_cv_use_dev_ptmx=yes)])
+   if test $ac_cv_use_dev_ptmx = yes; then
+     AC_DEFINE(USE_DEV_PTMX)
+   fi
+fi
+
+
+dnl ---------------
+dnl dynamic loading
+dnl ---------------
+AH_TEMPLATE([HPUXDYNAMIC],
+[Define to 1 if you want to use dynamically loaded modules on HPUX 10.])
+L=N
+INSTLIB="install.bin-\$(L)"
+UNINSTLIB="uninstall.bin-\$(L)"
+LINKMODS=NOLINKMODS
+MOD_EXPORT=
+MOD_IMPORT_VARIABLE=
+MOD_IMPORT_FUNCTION=
+aixdynamic=no
+hpuxdynamic=no
+if test "$ac_cv_func_load"      = yes &&
+   test "$ac_cv_func_unload"    = yes &&
+   test "$ac_cv_func_loadbind"  = yes &&
+   test "$ac_cv_func_loadquery" = yes; then
+  dnl Force AIXDYNAMIC even on newer versions that have dl family
+  if test "x$dynamic" = xyes; then
+    aixdynamic=yes
+  fi
+elif test "$ac_cv_func_dlopen"  != yes ||
+     test "$ac_cv_func_dlsym"   != yes ||
+     test "$ac_cv_func_dlerror" != yes; then
+  if test "$ac_cv_func_shl_load" != yes ||
+     test "$ac_cv_func_shl_unload" != yes ||
+     test "$ac_cv_func_shl_findsym" != yes; then
+    dynamic=no
+  elif test "x$dynamic" = xyes; then
+    hpuxdynamic=yes
+    DL_EXT="${DL_EXT=sl}"
+    dnl autoheader won't allow us to define anything which isn't
+    dnl going into a header, and we can't undefine anything, so
+    dnl just define this anyway and rely on the later tests to
+    dnl define DYNAMIC or not.
+    AC_DEFINE(HPUXDYNAMIC)dnl
+  fi
+fi
+
+test -n "$GCC" && LDARG=-Wl,
+
+AH_TEMPLATE([DLSYM_NEEDS_UNDERSCORE],
+[Define to 1 if an underscore has to be prepended to dlsym() argument.])
+AH_TEMPLATE([DYNAMIC_NAME_CLASH_OK],
+[Define to 1 if multiple modules defining the same symbol are OK.])
+if test "x$aixdynamic" = xyes; then
+  DL_EXT="${DL_EXT=so}"
+  DLLD="${DLLD=$CC}"
+  zsh_cv_func_dlsym_needs_underscore=no
+  if test -n "$GCC"; then
+    DLLDFLAGS=${DLLDFLAGS=-shared}
+  else
+    DLLDFLAGS=${DLLDFLAGS=-bM:SRE}
+  fi
+  DLLDFLAGS=${DLLDFLAGS=}
+  EXTRA_LDFLAGS=${EXTRA_LDFLAGS=}
+  EXPOPT=${LDARG}-bE:
+  IMPOPT=${LDARG}-bI:
+  zsh_cv_sys_dynamic_clash_ok="${zsh_cv_sys_dynamic_clash_ok=yes}"
+  zsh_cv_sys_dynamic_rtld_global="${zsh_cv_sys_dynamic_rtld_global=yes}"
+  zsh_cv_sys_dynamic_execsyms="${zsh_cv_sys_dynamic_execsyms=yes}"
+  zsh_cv_sys_dynamic_strip_exe="${zsh_cv_sys_dynamic_strip_exe=yes}"
+  zsh_cv_sys_dynamic_strip_lib="${zsh_cv_sys_dynamic_strip_lib=yes}"
+  zsh_cv_shared_environ="${zsh_cv_shared_environ=yes}"
+elif test "$host_os" = cygwin; then
+  DL_EXT="${DL_EXT=dll}"
+##DLLD="${DLLD=dllwrap}"
+  DLLD="${DLLD=$CC}"
+##DLLDFLAGS="${DLLDFLAGS=--export-all-symbols}"
+  DLLDFLAGS=${DLLDFLAGS=-shared -Wl,--export-all-symbols}
+  zsh_cv_func_dlsym_needs_underscore=no
+  DLLDFLAGS=${DLLDFLAGS=}
+  EXTRA_LDFLAGS=${EXTRA_LDFLAGS=}
+  zsh_cv_sys_dynamic_clash_ok="${zsh_cv_sys_dynamic_clash_ok=no}"
+  zsh_cv_sys_dynamic_rtld_global="${zsh_cv_sys_dynamic_rtld_global=yes}"
+  zsh_cv_sys_dynamic_execsyms="${zsh_cv_sys_dynamic_execsyms=no}"
+  zsh_cv_sys_dynamic_strip_exe="${zsh_cv_sys_dynamic_strip_exe=yes}"
+  zsh_cv_sys_dynamic_strip_lib="${zsh_cv_sys_dynamic_strip_lib=yes}"
+  #
+  # THAT SUCKS! and must be changed
+  #
+  zsh_cv_shared_environ="${zsh_cv_shared_environ=yes}"
+  LINKMODS=LINKMODS
+  MOD_EXPORT="__attribute__((__dllexport__))"
+  MOD_IMPORT_VARIABLE="__attribute__((__dllimport__))"
+  MOD_IMPORT_FUNCTION=
+elif test "x$dynamic" = xyes; then
+  AC_CACHE_CHECK(if your system uses ELF binaries,
+   zsh_cv_sys_elf,
+   [AC_TRY_RUN([/* Test for whether ELF binaries are produced */
+#include <fcntl.h>
+#include <stdlib.h>
+main(argc, argv)
+int argc;
+char *argv[];
+{
+	char b[4];
+	int i = open(argv[0],O_RDONLY);
+	if(i == -1) 
+		exit(1); /* fail */
+	if(read(i,b,4)==4 && b[0]==127 && b[1]=='E' && b[2]=='L' && b[3]=='F')
+		exit(0); /* succeed (yes, it's ELF) */
+	else
+		exit(1); /* fail */
+}],
+  zsh_cv_sys_elf=yes,
+  zsh_cv_sys_elf=no,
+  zsh_cv_sys_elf=yes)])
+  DL_EXT="${DL_EXT=so}"
+  if test $zsh_cv_sys_elf = yes; then
+    case "$host" in
+      mips-sni-sysv4*)
+        # Forcibly set ld to native compiler to avoid obscure GCC problems
+	DLLD="${DLLD=/usr/ccs/bin/cc}"
+	DLLDARG="${LDARG}"
+      ;;
+      * )
+	DLLD="${DLLD=$CC}"
+	DLLDARG="${LDARG}"
+      ;;
+    esac
+  else
+    case "$host" in
+      *openbsd*)
+	case "$host_os" in
+	  openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	    DLLD="${DLLD=ld}"
+	  ;;
+	  *)
+	    DLLD="${DLLD=$CC}"
+	  ;;
+	esac
+	DLLDARG="${LDARG}"
+      ;;
+      *darwin*)
+        DLLD="${DLLD=$CC}"
+        DLLDARG=""
+      ;;
+      * )
+	DLLD="${DLLD=ld}"
+	DLLDARG=""
+      ;;
+    esac
+  fi
+  if test -n "$GCC"; then
+    case "$host_os" in
+      hpux*)   DLLDFLAGS="${DLLDFLAGS=-shared}" ;;
+      darwin*) DLCFLAGS="${DLCFLAGS=-fno-common}" ;;
+      *)       DLCFLAGS="${DLCFLAGS=-fPIC}" ;;
+    esac
+  else
+    case "$host_os" in
+      hpux*)
+        DLCFLAGS="${DLCFLAGS=+z}"
+        DLLDFLAGS="${DLLDFLAGS=-b}"
+      ;;
+      sunos*)                DLCFLAGS="${DLCFLAGS=-pic}" ;;
+      solaris*|sysv4*|esix*) DLCFLAGS="${DLCFLAGS=-KPIC}" ;;
+    esac
+  fi
+  case "$host_os" in
+    freebsd*|linux*|irix*|osf*|gnu*) DLLDFLAGS="${DLLDFLAGS=-shared}" ;;
+    sunos*)       DLLDFLAGS="${DLLDFLAGS=-assert nodefinitions}" ;;
+    sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G $ldflags}" ;;
+    netbsd*)      DLLDFLAGS="${DLLDFLAGS=${DLLDARG}-x -shared --whole-archive}" ;;
+    aix*)         DLLDFLAGS="${DLLDFLAGS=-G -bexpall -lc}" ;;
+    solaris*|sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G}" ;;
+    darwin*)      DLLDFLAGS="${DLLDFLAGS=-bundle -flat_namespace -undefined suppress}" ;;
+    openbsd*)
+      if test $zsh_cv_sys_elf = yes; then
+	DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}"
+      else
+	case "$host_os" in
+	  openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   DLLDFLAGS="${DLLDFLAGS=-Bshareable}"
+	  ;;
+	  *)
+	    DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}"
+	  ;;
+	esac
+      fi
+    ;;
+  esac
+  case "$host" in
+    *-hpux*)  EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-Wl,-E}" ;;
+    *-freebsd[3-9]*|*-linux*|gnu*) EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-rdynamic}" ;;
+    *openbsd*)
+       if test $zsh_cv_sys_elf = yes; then
+	 EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-Wl,-E}"
+       fi
+    ;;
+    mips-sni-sysv4)
+      #
+      # unfortunately, we have different compilers
+      # that need different flags
+      #
+      if test -n "$GCC"; then
+        sni_cc_version=GCC
+      else
+        sni_cc_version=`$CC -V 2>&1 | head -1`
+      fi
+      case "$sni_cc_version" in
+        *CDS*|GCC )
+         EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-Wl,-Blargedynsym}"
+       ;;
+       * )
+         EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-LD-Blargedynsym}"
+       ;;
+      esac
+    ;;
+  esac
+  AC_CACHE_CHECK(if your dlsym() needs a leading underscore,
+   zsh_cv_func_dlsym_needs_underscore,
+   [echo failed >conftestval && cat >conftest.c <<EOM
+fred () { }
+EOM
+    AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest.c 1>&AC_FD_CC) &&
+    AC_TRY_COMMAND($DLLD $LDFLAGS $DLLDFLAGS -o conftest.$DL_EXT conftest.o 1>&AC_FD_CC) &&
+    AC_TRY_RUN([
+#include <stdio.h>
+#ifdef HPUXDYNAMIC
+#include <dl.h>
+#define RTLD_LAZY BIND_DEFERRED
+#define RTLD_GLOBAL DYNAMIC_PATH
+
+char *zsh_gl_sym_addr ;
+
+#define dlopen(file,mode) (void *)shl_load((file), (mode), (long) 0)
+#define dlclose(handle) shl_unload((shl_t)(handle))
+#define dlsym(handle,name) (zsh_gl_sym_addr=0,shl_findsym((shl_t *)&(handle),name,TYPE_UNDEFINED,&zsh_gl_sym_addr), (void *)zsh_gl_sym_addr)
+#define dlerror() 0
+#else
+#ifdef HAVE_DLFCN_H
+#include <dlfcn.h>
+#else
+#include <sys/types.h>
+#include <nlist.h>
+#include <link.h>
+#endif
+#endif
+#ifndef RTLD_LAZY
+#define RTLD_LAZY 1
+#endif
+
+extern int fred() ;
+
+main()
+{
+    void * handle ;
+    void * symbol ;
+    FILE *f=fopen("conftestval", "w");
+    if (!f) exit(1);
+    handle = dlopen("./conftest.$DL_EXT", RTLD_LAZY) ;
+    if (handle == NULL) {
+        fprintf (f, "dlopen failed") ;
+            exit(1);
+    }
+    symbol = dlsym(handle, "fred") ;
+    if (symbol == NULL) {
+                /* try putting a leading underscore */
+        symbol = dlsym(handle, "_fred") ;
+        if (symbol == NULL) {
+            fprintf (f, "dlsym failed") ;
+                exit(1);
+                }
+        fprintf (f, "yes") ;
+    }
+    else
+        fprintf (f, "no") ;
+    exit(0);
+}], zsh_cv_func_dlsym_needs_underscore=`cat conftestval`,
+    zsh_cv_func_dlsym_needs_underscore=failed
+    dynamic=no,
+    zsh_cv_func_dlsym_needs_underscore=no)])
+  if test "x$zsh_cv_func_dlsym_needs_underscore" = xyes; then
+    AC_DEFINE(DLSYM_NEEDS_UNDERSCORE)
+  elif test "x$zsh_cv_func_dlsym_needs_underscore" != xno; then
+    dnl Do not cache failed value
+    unset zsh_cv_func_dlsym_needs_underscore
+  fi
+fi
+
+if test "x$dynamic" = xyes; then
+  zsh_SHARED_VARIABLE([environ], [char **])
+  test "$zsh_cv_shared_environ" = yes || dynamic=no
+  if test "$ac_cv_func_tgetent" = yes; then
+    zsh_SHARED_FUNCTION([tgetent])
+  fi
+  if test "$ac_cv_func_tigetstr" = yes; then
+    zsh_SHARED_FUNCTION([tigetstr])
+  fi
+fi
+
+if test "x$dynamic" = xyes; then
+  zsh_SYS_DYNAMIC_CLASH
+  zsh_SYS_DYNAMIC_GLOBAL
+  RTLD_GLOBAL_OK=$zsh_cv_sys_dynamic_rtld_global
+  zsh_SYS_DYNAMIC_EXECSYMS
+  if test "$zsh_cv_sys_dynamic_execsyms" != yes; then
+    L=L
+  fi
+  zsh_SYS_DYNAMIC_STRIP_EXE
+  zsh_SYS_DYNAMIC_STRIP_LIB
+  if $strip_exeldflags && test "$zsh_cv_sys_dynamic_strip_exe" = yes; then
+    EXELDFLAGS="$EXELDFLAGS -s"
+  fi
+  if $strip_libldflags && test "$zsh_cv_sys_dynamic_strip_lib" = yes; then
+    LIBLDFLAGS="$LIBLDFLAGS -s"
+  fi
+  if test "$host_os" = cygwin; then
+    INSTLIB="install.cygwin-lib"
+    UNINSTLIB="uninstall.cygwin-lib"
+  fi
+else
+  $strip_exeldflags && EXELDFLAGS="$EXELDFLAGS -s"
+  $strip_libldflags && LIBLDFLAGS="$LIBLDFLAGS -s"
+  RTLD_GLOBAL_OK=no
+fi
+
+AH_TEMPLATE([DYNAMIC],
+[Define to 1 if you want to use dynamically loaded modules.])
+if test "x$dynamic" = xyes; then
+  D=D
+  AC_DEFINE(DYNAMIC)dnl
+else
+  D=N
+fi
+
+AH_TEMPLATE([AIXDYNAMIC],
+[Define to 1 if you want to use dynamically loaded modules on AIX.])
+if test "x$aixdynamic" = xyes; then
+  E=E
+  AC_DEFINE(AIXDYNAMIC)dnl
+else
+  E=N
+fi
+
+if test "x$zsh_cv_sys_dynamic_clash_ok" = xyes; then
+  SHORTBOOTNAMES=yes
+else
+  SHORTBOOTNAMES=no
+fi
+AC_SUBST(SHORTBOOTNAMES)
+
+AC_SUBST(INSTLIB)dnl
+AC_SUBST(UNINSTLIB)dnl
+
+if test "$host_os" = cygwin; then
+  EXTRAZSHOBJS="$EXTRAZSHOBJS zsh.res.o"
+fi
+
+AC_DEFINE_UNQUOTED(DL_EXT, "$DL_EXT",
+[The extension used for dynamically loaded modules.])dnl
+AC_SUBST(D)dnl
+AC_SUBST(DL_EXT)dnl
+AC_SUBST(DLLD)dnl
+AC_SUBST(DLCFLAGS)dnl
+AC_SUBST(DLLDFLAGS)dnl
+AC_SUBST(E)dnl
+AC_SUBST(EXTRA_LDFLAGS)dnl
+AC_SUBST(EXPOPT)dnl
+AC_SUBST(IMPOPT)dnl
+AC_SUBST(L)dnl
+AC_SUBST(LINKMODS)dnl
+AC_SUBST(MOD_EXPORT)dnl
+AC_SUBST(MOD_IMPORT_VARIABLE)dnl
+AC_SUBST(MOD_IMPORT_FUNCTION)dnl
+AC_SUBST(EXTRAZSHOBJS)dnl
+
+# Generate config.modules.  We look for *.mdd files in first and second
+# level subdirectories.  Any existing line not containing 'auto=y' will be
+# retained, provided the .mdd file itself was found.
+CONFIG_MODULES=./config.modules
+cat <<EOM > ${CONFIG_MODULES}.sh
+srcdir="$srcdir"
+dynamic="$dynamic"
+CONFIG_MODULES="${CONFIG_MODULES}"
+EOM
+cat <<\EOM >> ${CONFIG_MODULES}.sh
+echo "creating ${CONFIG_MODULES}"
+userlist=" "
+if test -f ${CONFIG_MODULES}; then
+  userlist="`sed -e '/^#/d' -e '/auto=y/d' -e 's/ .*/ /' -e 's/^name=/ /' \
+        ${CONFIG_MODULES}`"
+  mv ${CONFIG_MODULES} ${CONFIG_MODULES}.old
+else
+  # Save testing for existence each time.
+  echo > ${CONFIG_MODULES}.old
+fi
+(echo "# Edit this file to change the way modules are loaded."
+echo "# The format is strict; do not break lines or add extra spaces."
+echo "# Run \`make prep' if you change anything here after compiling"
+echo "# (there is no need if you change this just after the first time"
+echo "# you run \`configure')."
+echo "#"
+echo "# Values of \`link' are \`static', \`dynamic' or \`no' to compile the"
+echo "# module into the shell, link it in at run time, or not use it at all."
+echo "# In the final case, no attempt will be made to compile it."
+echo "# Use \`static' or \`no' if you do not have dynamic loading."
+echo "#"
+echo "# Values of \`load' are \`yes' or \`no'; if yes, any builtins etc."
+echo "# provided by the module will be autoloaded by the main shell"
+echo "# (so long as \`link' is not set to \`no')."
+echo "#"
+echo "# Values of \`auto' are \`yes' or \`no'. configure sets the value to"
+echo "# \`yes'.  If you set it by hand to \`no', the line will be retained"
+echo "# when the file is regenerated in future."
+echo "#"
+echo "# Note that the \`functions' entry extends to the end of the line."
+echo "# It should not be quoted; it is used verbatim to find files to install."
+echo "#"
+echo "# You will need to run \`config.status --recheck' if you add a new"
+echo "# module."
+echo "#"
+echo "# You should not change the values for the pseudo-module zsh/main,"
+echo "# which is the main shell (apart from the functions entry)."
+EOM
+dnl The autoconf macros are only available in configure, not
+dnl config.status, and only change when configure is rerun.
+dnl So we need to run the autoconf tests here and store the results.
+dnl We then generate config.modules, preserving any user-generated
+dnl information, from config.status.
+for modfile in `cd ${srcdir}; echo */*.mdd */*/*.mdd`; do
+  name=
+  link=
+  load=
+  functions=
+  result=
+  . ${srcdir}/$modfile
+  if test x$name != x && test x"$link" != x; then
+    case "$link" in
+      *\ *) eval "link=\`$link\`"
+	    ;;
+    esac
+    case "${load}" in
+      y*) load=" load=yes"
+	  ;;
+      *) load=" load=no"
+	 ;;
+    esac
+    if test "x$functions" != x; then
+      # N.B. no additional quotes
+      f=" functions=$functions"
+    else
+      f=
+    fi
+    case "$link" in
+      static) result="name=$name modfile=$modfile link=static auto=yes${load}$f"
+	      ;;
+      dynamic) if test $dynamic != no; then
+		  result="name=$name modfile=$modfile link=dynamic\
+ auto=yes${load}$f"
+	       else
+		 result="name=$name modfile=$modfile link=no\
+ auto=yes load=no$f"
+	       fi
+	       ;;
+      either) if test $dynamic != no; then
+		result="name=$name modfile=$modfile link=dynamic\
+ auto=yes${load}$f"
+	      else
+		result="name=$name modfile=$modfile link=static\
+ auto=yes${load}$f"
+	      fi
+	      ;;
+       *) result="name=$name modfile=$modfile link=no auto=yes load=no$f"
+	  ;;
+    esac
+dnl $result is the default output for config.modules.  We generate
+dnl code to check if we should use this.
+cat <<EOM >> ${CONFIG_MODULES}.sh
+case "\$userlist" in
+  *" $name "*) grep "^name=$name " \${CONFIG_MODULES}.old;;
+  *) echo "$result";;
+esac
+EOM
+  fi
+done
+cat <<\EOM >> ${CONFIG_MODULES}.sh
+) >${CONFIG_MODULES}
+rm -f ${CONFIG_MODULES}.old
+EOM
+
+dnl AH_TOP replaces the code which used to appear at the top
+dnl of acconfig.h.
+AH_TOP([/***** begin user configuration section *****/
+
+/* Define this to be the location of your password file */
+#define PASSWD_FILE "/etc/passwd"
+
+/* Define this to be the name of your NIS/YP password *
+ * map (if applicable)                                */
+#define PASSWD_MAP "passwd.byname"
+
+/* Define to 1 if you want user names to be cached */
+#define CACHE_USERNAMES 1
+
+/* Define to 1 if system supports job control */
+#define JOB_CONTROL 1
+
+/* Define this if you use "suspended" instead of "stopped" */
+#define USE_SUSPENDED 1
+ 
+/* The default history buffer size in lines */
+#define DEFAULT_HISTSIZE 30
+
+/* The default editor for the fc builtin */
+#define DEFAULT_FCEDIT "vi"
+
+/* The default prefix for temporary files */
+#define DEFAULT_TMPPREFIX "/tmp/zsh"
+
+/***** end of user configuration section            *****/
+/***** shouldn't have to change anything below here *****/
+
+])
+
+CLEAN_MK="${srcdir}/Config/clean.mk"
+CONFIG_MK="${srcdir}/Config/config.mk"
+dnl defs.mk is in the build tree, not the source tree
+DEFS_MK="Config/defs.mk"
+VERSION_MK="${srcdir}/Config/version.mk"
+
+AC_SUBST_FILE(CLEAN_MK)dnl
+AC_SUBST_FILE(CONFIG_MK)dnl
+AC_SUBST_FILE(DEFS_MK)dnl
+AC_SUBST_FILE(VERSION_MK)dnl
+
+AC_CONFIG_FILES(Config/defs.mk Makefile Doc/Makefile Etc/Makefile \
+Src/Makefile Test/Makefile)
+AC_CONFIG_COMMANDS([config.modules], [. ./config.modules.sh])
+AC_CONFIG_COMMANDS([stamp-h], [echo >stamp-h])
+
+AC_OUTPUT
+
+eval "zshbin1=${bindir}"
+eval "zshbin2=${zshbin1}"
+eval "zshman=${mandir}"
+eval "zshinfo=${infodir}"
+eval "zshfndir=${fndir}"
+
+echo "
+zsh configuration
+-----------------
+zsh version               : ${VERSION}
+host operating system     : ${host_cpu}-${host_vendor}-${host_os}
+source code location      : ${srcdir}
+compiler                  : ${CC}
+preprocessor flags        : ${CPPFLAGS}
+executable compiler flags : ${CFLAGS}"
+if test "$dynamic" = yes; then
+  echo "\
+module compiler flags     : ${CFLAGS} ${DLCFLAGS}"
+fi
+echo "\
+executable linker flags   : ${LDFLAGS} ${EXELDFLAGS} ${EXTRA_LDFLAGS}"
+if test "$dynamic" = yes; then
+  echo "\
+module linker flags       : ${LDFLAGS} ${LIBLDFLAGS} ${DLLDFLAGS}"
+fi
+echo "\
+library flags             : ${LIBS}
+installation basename     : ${tzsh_name}
+binary install path       : ${zshbin2}
+man page install path     : ${zshman}
+info install path         : ${zshinfo}"
+if test "$zshfndir" != no; then
+  echo "functions install path    : ${zshfndir}"
+fi
+echo "See config.modules for installed modules and functions.
+"
+
+