2014-02-26  Reuben Thomas  <rrt@sc3d.org>

	version 2.4.11
	* NEWS: Record release date.

	NEWS and version bump for 2.4.11

	getkey.c: fix to timeradd macro (thanks, Craig Phillips)

2014-02-25  Reuben Thomas  <rrt@sc3d.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.10
	* NEWS: Record release date.

	Add a FIXME

	Add a FIXME

	Fix list-buffers, which was not displaying ANY normal buffers

	Fix FIXME: reorganise number parsing to signal errors

2014-02-24  Reuben Thomas  <rrt@sc3d.org>

	Remove get_variable_number
	Only one caller left, so call get_variable_number_bp instead

	Remove a check on all calls of fill_break_line already carried out in the function itself

	funcs.c: give more accurate feedback when fill-column is set
	If its previous value was not a number, it will now be shown correctly.

	funcs.c: make width condition for calling fill_break_line always the same
	There was a +1 in this case.

	Simplify to a single caller of undo_start_sequence and undo_end_sequence

2014-02-16  Reuben Thomas  <rrt@sc3d.org>

	Use enums more intelligently

	variables.c: fix a wrong-size allocation

	Fix FIXME: make all struct types opaque pointer types

2014-02-15  Reuben Thomas  <rrt@sc3d.org>

	NEWS: add more for 2.4.10

	Use bool everywhere a boolean is meant, not int

	Remove references to freeing memory

	Fix some warnings when building the astr test program

2014-02-14  Reuben Thomas  <rrt@sc3d.org>

	Add a const_estr type, analogous to const_astr
	There's no function that creates them, but it makes it possible to
	annotate functions that don't modify estr arguments.

	Fix all but one remaining warnings, and some bugs
	Most of the warnings and all of the bugs are to do with printf formats.
	Hooray for GCC's attributes that allow user functions' formats to be
	checked!

	configure.ac: remove test for -fmudflap, removed in GCC 4.9

	region.c: fix incorrect attribute

	Rename castr to const_astr for clarity

	Update and compress copyright ranges.

	Fix FIXME: make estr opaque
	A few other minor clarifications

	astr.c: add missing call to GC_init

	m4/.gitignore: update from gnulib

	Update gnulib

2014-02-13  Reuben Thomas  <rrt@sc3d.org>

	configure.ac: insist on libgc >= 7.2, for the sake of sanity (debuggability, in particular)

2014-02-12  Reuben Thomas  <rrt@sc3d.org>

	NEWS: add recent changes

	Fold minibuf_read_yn into write_buffer, and make the latter more Emacs-like

	Update query-replace prompt handling to be closer to Emacs (copy Lua Zile)

	Simplify in_region, and make it more method-like, region_contains

	Fix a FIXME: make Region opaque

	NEWS: add news for 2.4.10

	Fix FIXME: copy search speed-up from Zee

	basic.c: fix a compiler warning

	src/Makefile.am: use pkgconfig-generated flags for libgc

	configure.ac: fix FIXME: use pkgconfig to find libgc
	Other minor tidy-ups

	Note Lua Zile's solution to a FIXME

	configure.ac: quote first argument of AC_DEFINE

	src/gc_veneer.c: zero memory returned by calloc veneer

	build-aux/.gitignore: fix no newline at end of file

	.gitignore: add test-suite.log

	src/.gitignore: add patterns for test files generated by recent autotools

	Various fixes to get GC working, plus re-add --enable-debug to configure options

	.gitignore: allow TAGS in any directory, and remove a redundant pattern

2014-02-11  Reuben Thomas  <rrt@sc3d.org>

	Use libgc symbols that can be switched between debug and normal.

	configure.ac: always build with libgc, we can debug it now
	Remove unused LIBGC_CPPFLAGS

	main.c: bump copyright year in startup message

	bind.c: bump copyright year to 2012

	configure.ac: bump version to 2.4.10

	README-release.diff: whitespace fix

	README-release.diff: update

	HACKING: fix up diff, don't check in the file. Oops.

	Mention release branch, rather than explicitly "master"

	Change prerelease target to work on current branch, not master

2014-02-07  Reuben Thomas  <rrt@sc3d.org>

	Fix it so we really are using libgc.

	Remove reference to non-existent WERROR_CFLAGS

2014-02-06  Reuben Thomas  <rrt@sc3d.org>

	build-aux/.gitignore: add test-driver

	configure.ac: change a FIXME

2013-05-01  Reuben Thomas  <rrt@sc3d.org>

	Makefile.am: don't pass -Werror to AM_INIT_AUTOMAKE
	Bleeding-edge automake emits warnings for features required to build
	with automake <= 1.12.x.

2013-02-03  Reuben Thomas  <rrt@sc3d.org>

	src/astr.c: remove no-longer unused zile_exit function.

2012-11-14  Gary V. Vaughan  <gary@gnu.org>

	bootstrap: sync with upstream.
	Portability fixes for solaris sed, and substandard awk, plus an
	extra splash of color on more terminals.
	* bootstrap.conf (require_bootstrap_uptodate): Remove.
	* gl/build-aux/bootstrap.in, gl/build-aux/extract-trace,
	gl/build-aux/funclib.sh, gl/build-aux/inline-source,
	gl/build-aux/options-parser: Sync with upstream.
	* bootstrap: Regenerate.

2012-10-22  Gary V. Vaughan  <gary@gnu.org>

	bootstrap: sync with upstream.
	Several cleanups and bugfixes, as well as being a self-contained
	script again, albeit generated from local gnulib script files.
	* bootstrap.conf (gnulib_modules): Add bootstrap, which now
	behaves like a regular gnulib module.
	* bootstrap: Regenerate.
	* build-aux/extract-trace, build-aux/options-parser: Remove.
	* gl/module/bootstrap, gl/modules/extract-trace,
	gl/modules/funclib.sh, gl/modules/inline-source,
	gl/modules/options-parser: New local gnulib modules.
	* gl/build-aux/bootstrap.in, fl/build-aux/extract-trace,
	gl/build-aux/funclib.sh, gl/build-aux/inline-source,
	gl/build-aux/options-parser: New local gnulib scripts.
	* gl/doc/bootstrap.texi: Developer documentation for the
	bootstrap module.

2012-10-09  Reuben Thomas  <rrt@sc3d.org>

	search.c: add a FIXME

2012-10-01  Reuben Thomas  <rrt@sc3d.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	maint.mk.diff: add a missing redirection

	maint.mk.diff: reverse the polarity of the neutron flow

	maint.mk.diff: remove superfluous line-splicing backslash

	build: rename our release target to dorelease, to avoid clash with gnulib

	version 2.4.9
	* NEWS: Record release date.

	NEWS: add missing empty line

	NEWS: fix whitespace

	NEWS: add NEWS for 2.4.9

	README: note requirement of libgc 7.2 for Valgrind

	configure.ac: fix invocation of help2man when it is run by missing

	m4/.gitignore: update

	gnulib: update patches

	gnulib: update

	configure.ac: bump version to 2.4.9

	minibuf.c: fix display bugs
	* minibuf.c: make minibuf_clear always clear; make minibuf_refresh
	  update the content before refreshing the minibuffer.

	gl/top/maint.mk.diff: update to match gnulib

2012-09-30  Reuben Thomas  <rrt@sc3d.org>

	basic.c: fix crash on out-of-range goto-char and add a test

	search.c: note inefficiency of re_search_2 on large buffers

2012-09-13  Reuben Thomas  <rrt@sc3d.org>

	doc: update README-release patch

2012-09-12  Reuben Thomas  <rrt@sc3d.org>

	tests: fix an incorrect comment on an interactive test

	file.c: set mark on insert-file.

2012-09-11  Reuben Thomas  <rrt@sc3d.org>

	search.c: fix docstring of isearch-backward-regexp

	gnulib: update README-release.diff to match gnulib.

	THANKS: Fix transposed names.

	FAQ: remove a redundant question

	gnulib: update

	README: fix some typos and remove mention of ncurses (not required)

2012-09-05  Reuben Thomas  <rrt@sc3d.org>

	README: bump copyright year.

2012-07-18  Reuben Thomas  <rrt@sc3d.org>

	release: don't send release announcements to Translation Project

2012-07-15  Reuben Thomas  <rrt@sc3d.org>

	HACKING: fix FIXME in Makefile.am to mention 'make release'

	gnulib: update

2012-07-14  Gary V. Vaughan  <gary@gnu.org>

	configury: use func_grep_q to avoid spurious "ChangeLog" on stdout.
	* bootstrap (func_require_gnulib_merge_changelog): Use func_grep_q
	instead of $EGREP, and change syntax of match expression accordingly.

	gnulib: patch maint.mk to not prepend make output into announcement.
	* gl/top/maint.mk.diff (release-prep): Don't send all make output
	directly to the release announcement template, because AM_V_GEN and
	others also write directly to stdout and we don't want to see e.g.
	"GEN ChangeLog" at the top of the template.
	(announcement): Instead, send just the output from the announce-gen
	script to the template.

	gnulib: patch do-release-commit-and-tag with bootstrap func_sort_ver.
	* gl/build-aux/do-release-commit-and-tag.diff: New file. Stock gnulib
	script uses non-portable 'sort -V', this patch injects the portable
	func_sort_ver function used by saner bootstrap and calls that instead.

	NEWS: do-release-commit-and-tag requires template at exactly line 3.

	NEWS fixup

2012-07-13  Gary V. Vaughan  <gary@gnu.org>

	configury: don't distribute generated zile.1 manual page.
	@pkgdatadir@ is substituted for the path on the distribution
	packager's host in the final zile.1 file, so we can't add it
	to the distribution.
	* doc/Makefile.am (dist_man_MANS): Renamed from this...
	(man_MANS): ...to this.

	configury: use missing to run help2man.
	* doc/Makefile.am (doc/zile.1.in): prepend build-aux/missing to the
	help2man invocation so that it works with the distributed file when
	the build host is missing a help2man binary.

	configury: distribute zile.1.in correctly.
	* doc/Makefile.in (MAINTAINERCLEANFILES): zile.1.in is a distributed
	file, so it will be in $(srcdir) not $(builddir).
	(DISTCLEANFILES): Don't clean zile.1.in, because it is distributed!
	(doc/zile.1): Force the dependency to be on zile.1.in in $(srcdir).
	(doc/zile.1.in): Name $(srcdir) explicitly, for non-gmake.
	Also, exit gracefully when it's not possible to regenerate zile.1.in
	in a read-only directory, such as at `make dist` time.

	configury: warn about git-merge-changelog only for manual ChangeLogs.
	* bootstrap (func_require_gnulib_merge_changelog): If the top-level
	srcdir has ChangeLog listed in .gitignore, then don't check for or
	warn about missing GNU merge-changelog driver.

	configury: distinguish between fatal and non-fatal error diagnostics.
	* build-aux/options-parser (func_echo_infix_1): Common code for
	printing a program prefixed multi-line diagnostic to stderr, with an
	additional red infix string on line 1.
	(func_warn): New function. Use func_echo_infix_1 to output diagnastic
	with 'warning' as the red infix string on line 1.
	(func_error): Refactored over func_echo_infix_1.
	* bootstrap (bootstrap_options_prep): Use func_warn as the default
	warning function.

2012-07-13  Reuben Thomas  <rrt@sc3d.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.8
	* NEWS: Record release date.

	NEWS: add news for 2.4.8

	doc/Makefile.am: fix distclean

	tests: fix interactive/find-file-read-only for VPATH build

2012-07-10  Reuben Thomas  <rrt@sc3d.org>

	build: prevent zile being built in parallel with itself, which fails
	doc/Makefile.am: add executable as a dependency of doc/zile.1.in,
	don't build it explicitly.

2012-07-09  Reuben Thomas  <rrt@sc3d.org>

	configury: when building with --enable-gcc-warnings, treat gnulib headers as system headers

	Makefile.am: avoid running make syntax-check twice for prerelease
	syntax-check is in distcheck's hook, so don't run it explicitly in
	make prerelease.

	HACKING: remove unnecessary bits from make prerelease command line

	getkey.c: fix a make syntax-check warning

	configure.ac: bump version to 2.4.8

	estr.c: fix a compiler warning

	memrmem.c: fix formatting of function definition

	copyright: update year

	gcc: add const and pure attributes to functions gcc found suitable

2012-07-07  Reuben Thomas  <rrt@sc3d.org>

	getkey: add missing prototype for getkeystroke

2012-07-07  Reuben Thomas  <rrt@sc3d.org>

	Revert "getkey: fold getkeystroke into getkey"
	This reverts commit 8bdb514511b2c11f31e17ad52957d9e544117d86.

	Commit was erroneous.

2012-07-07  Gary V. Vaughan  <gary@gnu.org>

	configury: always use Automake missing script.
	* bootstrap (gnulib_non_module_files): Remove build-aux/missing, which
	is not carried by gnulib as of 2012-07-03, and is in any case
	potentially incompatible with the version required by generated
	Automake Makefile rules.
	(func_install_gnulib_non_module_files): Ignore build-aux/missing, even
	if it was added back to gnulib_non_module_files by bootstrap.conf.

2012-07-07  Reuben Thomas  <rrt@sc3d.org>

	gnulib: update

	getkey: fold getkeystroke into getkey

2012-06-04  Gary V. Vaughan  <gary@gnu.org>

	getkey: don't discard a keystroke when the redisplay timer expires.
	Previously, we always fetched a new keystroke if the redisplay
	timer had expired, even if we already had a valid keystroke from
	the input buffer.
	* src/getkey.c (getkey): When the timer has expired, or if there
	was no new keystroke waiting, refresh the display.  Separately,
	if there was no new keystroke waiting, try to fetch a one.

	minibuf: make sure the cursor is displayed properly.
	The recent optimisation for not redrawing the screen during
	typeahead catchup has the side-effect of never leaving the cursor
	in minibuf, even when typing in the minibuffer!
	* src/getkey.c (getkeystroke): Split out the key fetching part
	of the optimised getkey() function.
	(getkey): Adjust to call getkeystroke() instead of raw term_getkey()
	keeping typeahead optimisation.
	* src/minibuf.c (minibuf_read_yn): Use getkeystroke() to make
	sure the cursor is not moved out of minibuf during term_refresh().
	* src/term_minibuf.c (term_minibuf_read): Likewise.

2012-05-29  Gary V. Vaughan  <gary@gnu.org>

	display: redo "force a redisplay at least once every 500ms".
	* bootstrap.conf (gnulib_modules): Use POSIX gettimeofday instead
	of bespoke gethrxtime module.
	* src/Makefile.am (LDAA): Remove $(LIB_GETHRXTIME).
	* src/getkey.c (MAX_RESYNC_PAUSE): Remove.
	(timeradd, timercmp): Fallback implementations of these macros for
	strict POSIX systems that lack them.
	(getkey): Use a struct timeval based timer along with the macros
	above to force periodic screen refreshes.

	bootstrap: leave a bogus ChangeLog file for Automake regeneration.
	* bootstrap.conf (zile_force_changelog): Add a message inside the
	bogus ChangeLog file.
	(zile_cleanup_changelog): Don't remove the bogus ChangeLog, or
	else the Automake configury regeneration rules don't work.

	display: force a redisplay at least once every 500ms.
	* bootstrap.conf (gnulib_modules): Add gethrxtime.
	* src/Makefile.am (LDADD): Add $(LIB_GETHRXTIME).
	* src/getkey.c (MAX_RESYNC_MS): Manifest constant.
	(MAX_RESYNC_PAUSE): Convert to gethrxtime units.
	(getkey): Even when catching up with a huge input buffer, always
	resync the display after MAX_RESYNC_PAUSE.

	refactor: redisplay only when there's no typeahead buffered.
	* src/main.c (main): don't redisplay after every key command.
	* src/getkey.c (getkey): do redisplay if there are no keys left
	in the typeahead buffer.
	* src/minibuf.c (minibuf_vwrite): don't redisplay existing
	minibuf contents repeatedly.

	bootstrap: use portable sed -e xx && mv instead of sed -i'' -e xx
	* bootstrap.conf (zile_readme_package_substitutions): inplace edits
	do not work on all sed implementations, so use a temporary file
	instead.

	configury: use gitlog-to-changelog instead of git2cl.
	Now we distribute a much more nicely formatted ChangeLog,
	* bootstrap.conf (buildreq): Remove git2cl.
	(gnulib_modules): Add gitlog-to-changelog.
	* build-aux/git-log-fix: Initially empty file to list edits
	needed to generated ChangeLog for correctness.
	* Makefile.am (ChangeLog): New rule to generate ChangeLog at
	distribution time.

2012-05-28  Reuben Thomas  <rrt@sc3d.org>

	Rename resync_redisplay to window_resync, and make lastpointn member of Window private.

	term_curses: explain that ERR is returned by codetokey when no input is ready.

	main.c: bump copyright year, both in file and in Zile copyright message.

	redisplay.c: call term_refresh in recenter to ensure immediate redraw, as it should.
	Fix docstring for recenter.

	term_curses.c: remove redundant call to timeout: timeout is always called before getch.

2012-05-27  Reuben Thomas  <rrt@sc3d.org>

	tests: make a few tests Zile-only.

2012-05-27  Gary V. Vaughan  <gary@gnu.org>

	gnulib: update.

2012-05-26  Gary V. Vaughan  <gary@gnu.org>

	NEWS: Remove duplicate place-holder header.

2012-03-20  Reuben Thomas  <rrt@sc3d.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.7
	* NEWS: Record release date.

	NEWS: add for 2.4.7

	version 2.4.7
	* NEWS: Record release date.

	Makefile.am: use $(MAKE) rather than 'make', and add boostrap && configure.

	Makefile.am: fix typo.

	Add and document new prerelease target to automate some of the drudgery.

	gnulib: update.

	Bump version to 2.4.7.

	bind.c: remove bindings for unsupported read-syntax C-?.

	tests: disable tests that rely on unimplemented read-syntax for C-?.

2012-03-18  Reuben Thomas  <rrt@sc3d.org>

	gnulib: refresh README-release patch.

	gnulib: update.

	Makefile.am: update use of cloc, and copyright year.

	bind.c: fix incorrectly displayed string (#35848).

	run-lisp-tests.pl: on error, print full relative path to failing test.

2012-03-15  Gary V. Vaughan  <gary@gnu.org>

	curses: support \C-? read-syntax for compatibility with Emacs.
	Fix the last few failing tests, which are using \C-? to invoke
	backward-delete-char, which works already with Emacs. \C-? is a
	reliable way to pass ASCII 0x7f to execute-kbd-macro, regardless
	of what terminfo says about the kbs capability (which becomes
	\BACKSPACE).
	* src/bind.c: Bind \C-? and \M-C-? to the same commands as
	\BACKSPACE and \M-\BACKSPACE respectively.

	tests: correct mis-named test cases.
	* tests/regression/35053_eob_upcase_word.el,
	tests/regression/35053_eob_upcase_word.output,
	tests/setq-nonexistent-variable.el,
	tests/setq-nonexistent-variable.output: Rename from these...
	* tests/regression/35053_eob_upcase-word.el,
	tests/regression/35053_eob_upcase-word.output,
	tests/setq_nonexistent_variable.el,
	tests/setq_nonexistent_variable.output: ...to these to use `-'
	separators where necessary to name tested symbols correctly, or
	else `_' otherwise.

	tests: remove duplicate quit test case.
	* tests/interactive/quit.el, tests/interactive/quilt.output:
	Delete.

	tests: move some zile-only tests back to shared test directory.
	* tests/zile-only/interactive/kill-line.el,
	tests/zile-only/interactive/list-registers.el,
	tests/zile-only/interactive/prefix-argument.el,
	tests/zile-only/interactive/set-file-column.el,
	tests/zile-only/interactive/shell-command-on-region.el: Rewrite
	the macros to avoid using \C-n which doesn't work properly in
	GNU Emacs batch mode. Then move from here...
	* tests/zile-only/interactive/kill-line.el,
	tests/zile-only/interactive/list-registers.el,
	tests/zile-only/interactive/prefix-argument.el,
	tests/zile-only/interactive/set-file-column.el,
	tests/zile-only/interactive/shell-command-on-region.el: ...to
	here.
	* tests/zile-only/interactive/kill-line.output,
	tests/zile-only/interactive/list-registers.output,
	tests/zile-only/interactive/prefix-argument.output,
	tests/zile-only/interactive/set-file-column.output,
	tests/zile-only/interactive/shell-command-on-region.output:
	Move these from here...
	* tests/zile-only/interactive/kill-line.output,
	tests/zile-only/interactive/list-registers.output,
	tests/zile-only/interactive/prefix-argument.output,
	tests/zile-only/interactive/set-file-column.output,
	tests/zile-only/interactive/shell-command-on-region.output:
	...to here.

2012-03-15  Gary V. Vaughan  <gary@gnu.org>

	tests: new regression to demonstrate savannah bug #35567
	Minibuffer displays non-printables instead of ringing the bell.

	See https://savannah.gnu.org/bugs?35567

2012-03-15  Gary V. Vaughan  <gary@gnu.org>

	tests: interactive \C-h is not bound to help on some terminals.
	* tests/zile-only/interactive/describe-bindings.el,
	tests/zile-only/interactive/describe-function.el,
	tests/zile-only/interactive/describe-key.el,
	tests/zile-only/interactive/describe-variable.el: Fix some more
	tests to work on GNU Emacs, by going directly to line-numbers to
	work around an oddity with \C-n in batch mode.
	Also there's no Zile compatible read-syntax for \F1 in GNU
	Emacs, and \C-h is bound to backward-delete-char on some
	terminals, so use execute-extended-command to call the
	functions.
	Then, move from here...
	* tests/interactive/describe-bindings.el,
	tests/interactive/describe-function.el,
	tests/interactive/describe-key.el,
	tests/interactive/describe-variable.el: ...to here, now that
	they work in Emacs again.
	* tests/zile-only/interactive/describe-bindings.output,
	tests/zile-only/interactive/describe-function.output,
	tests/zile-only/interactive/describe-key.output,
	tests/zile-only/interactive/describe-variable.output: Move from
	here...
	* tests/interactive/describe-bindings.output,
	tests/interactive/describe-function.output,
	tests/interactive/describe-key.output,
	tests/interactive/describe-variable.output: ...to here.

	tests: don't use \C-n in interactive tests in Emacs batch mode.
	For some reason, \C-n doesn't work properly with GNU Emacs when
	--batch is given on the command line.
	* tests/interactive/forward-line.el,
	tests/interactive/forward-line.output: So this test makes no
	sense on Emacs: Move these from here...
	* tests/zile-only/interactive/next-line.el,
	tests/zile-only/interactive/next-line.output: ...to here. And
	rename to reflect the fact that \C-n calls next-line.
	* tests/interactive/beginning-of-line.el,
	tests/interactive/delete-blank-lines.el,
	tests/interactive/delete-region.el,
	tests/interactive/indent-for-tab-command.el,
	tests/interactive/kill-region.el,
	tests/interactive/newline-and-indent.el,
	tests/interactive/open-line.el,
	tests/interactive/search-forward-regexp.el,
	tests/interactive/tab-to-tab-stop.el,
	tests/interactive/yank.el: Go directly to the appropriate lines
	to make the test cases work identically to their lisp
	counterparts to work around the weird --batch mode problem with
	relative line motion commands.

	tests: upcase-region and downcase-region are disabled in GNU Emacs.
	Make these tests zile-only, because we don't have the enable
	disable machinery in zile.
	* tests/interactive/downcase-region.el,
	tests/interactive/downcase-region.output,
	tests/interactive/upcase-region.el,
	tests/interactive/upcase-region.output: Move from here...
	* tests/zile-only/interactive/downcase-region.el,
	tests/zile-only/interactive/downcase-region.output,
	tests/zile-only/interactive/upcase-region.el,
	tests/zile-only/interactive/upcase-region.output: ...to here.

	tests: fix tests/interactive/just-one-space.el for Emacs.
	Use Emacs compatible read-syntax for spaces.
	* tests/interactive/just-one-space.el: Use literal spaces
	instead of zile-only \SPC read-syntax for spaces.

	tests: fix tests/interactive/backward-sexp.el for Emacs.
	Emacs behaves strangely in batch mode, adding a paren on the end
	of the second line of a file for (execute-kbd-macro "\M-<\C-e)")
	so put the sexp closing paren at the end of the last line
	instead, which even batch mode does correctly.
	* tests/interactive/backward-sexp.el: Put the closing paren
	before the final newline of the test file.
	* tests/interactive/backward-sexp.output: Adjust.

	tests: many new tests - interactive versions of all lisp tests.
	Unfortunately some of the new interative tests do not work under
	emacs batch mode, either because they need input from the
	minibuffer (which reads directly from stdin in batch mode) or
	because emacs throws an inexplicable error in a few cases (these
	are noted in the test sources).  At the moment some of these new
	tests also tickle bugs in Zile.
	* tests/interactive/backward-char.el,
	tests/interactive/backward-char.output,
	tests/interactive/backward-delete-char.el,
	tests/interactive/backward-delete-char.output,
	tests/interactive/backward-kill-word.el,
	tests/interactive/backward-kill-word.output,
	tests/interactive/backward-paragraph.el,
	tests/interactive/backward-paragraph.output,
	tests/interactive/backward-sexp.el,
	tests/interactive/backward-sexp.output,
	tests/interactive/backward-word.el,
	tests/interactive/backward-word.output,
	tests/interactive/beginning-of-buffer.el,
	tests/interactive/beginning-of-buffer.output,
	tests/interactive/beginning-of-line.el,
	tests/interactive/beginning-of-line.output,
	tests/interactive/capitalize-word.el,
	tests/interactive/capitalize-word.output,
	tests/interactive/copy-region-as-kill.el,
	tests/interactive/copy-region-as-kill.output,
	tests/interactive/copy-to-register.el,
	tests/interactive/copy-to-register.output,
	tests/interactive/delete-blank-lines.el,
	tests/interactive/delete-blank-lines.output,
	tests/interactive/delete-char.el,
	tests/interactive/delete-char.output,
	tests/interactive/delete-horizontal-space.el,
	tests/interactive/delete-horizontal-space.output,
	tests/interactive/delete-region.el,
	tests/interactive/delete-region.output,
	tests/interactive/downcase-region.el,
	tests/interactive/downcase-region.output,
	tests/interactive/downcase-word.el,
	tests/interactive/downcase-word.output,
	tests/interactive/end-of-buffer.el,
	tests/interactive/end-of-buffer.output,
	tests/interactive/end-of-line.el,
	tests/interactive/end-of-line.output,
	tests/interactive/exchange-point-and-mark.el,
	tests/interactive/exchange-point-and-mark.output,
	tests/interactive/fill-paragraph.el,
	tests/interactive/fill-paragraph.output,
	tests/interactive/find-file-read-only.el,
	tests/interactive/find-file-read-only.output,
	tests/interactive/forward-char.el,
	tests/interactive/forward-char.output,
	tests/interactive/forward-line.el,
	tests/interactive/forward-line.output,
	tests/interactive/forward-paragraph.el,
	tests/interactive/forward-paragraph.output,
	tests/interactive/forward-sexp.el,
	tests/interactive/forward-sexp.output,
	tests/interactive/forward-word.el,
	tests/interactive/forward-word.output,
	tests/interactive/goto-line.el,
	tests/interactive/goto-line.output,
	tests/interactive/indent-for-tab-command.el,
	tests/interactive/indent-for-tab-command.output,
	tests/interactive/insert-file.el,
	tests/interactive/insert-file.output,
	tests/interactive/just-one-space.el,
	tests/interactive/just-one-space.output,
	tests/interactive/kill-buffer.el,
	tests/interactive/kill-buffer.output,
	tests/interactive/kill-region.el,
	tests/interactive/kill-region.output,
	tests/interactive/kill-sexp.el,
	tests/interactive/kill-sexp.output,
	tests/interactive/kill-word.el,
	tests/interactive/kill-word.output,
	tests/interactive/mark-paragraph.el,
	tests/interactive/mark-paragraph.output,
	tests/interactive/mark-sexp.el,
	tests/interactive/mark-sexp.output,
	tests/interactive/mark-whole-buffer.el,
	tests/interactive/mark-whole-buffer.output,
	tests/interactive/mark-word.el,
	tests/interactive/mark-word.output,
	tests/interactive/newline-and-indent.el,
	tests/interactive/newline-and-indent.output,
	tests/interactive/newline.el, tests/interactive/newline.output,
	tests/interactive/open-line.el,
	tests/interactive/open-line.output, tests/interactive/quit.el,
	tests/interactive/quit.output,
	tests/interactive/search-backward-regexp.el,
	tests/interactive/search-backward-regexp.output,
	tests/interactive/search-backward.el,
	tests/interactive/search-backward.output,
	tests/interactive/search-forward-regexp.el,
	tests/interactive/search-forward-regexp.output,
	tests/interactive/search-forward.el,
	tests/interactive/search-forward.output,
	tests/interactive/set-variable.el,
	tests/interactive/set-variable.output,
	tests/interactive/shell-command.el,
	tests/interactive/shell-command.output,
	tests/interactive/tab-to-tab-stop.el,
	tests/interactive/tab-to-tab-stop.output,
	tests/interactive/transpose-chars.el,
	tests/interactive/transpose-chars.output,
	tests/interactive/transpose-lines.el,
	tests/interactive/transpose-lines.output,
	tests/interactive/transpose-sexps.el,
	tests/interactive/transpose-sexps.output,
	tests/interactive/transpose-words.el,
	tests/interactive/transpose-words.output,
	tests/interactive/upcase-region.el,
	tests/interactive/upcase-region.output,
	tests/interactive/upcase-word.el,
	tests/interactive/upcase-word.output, tests/interactive/yank.el,
	tests/interactive/yank.output,
	tests/zile-only/interactive/describe-bindings.el,
	tests/zile-only/interactive/describe-bindings.output,
	tests/zile-only/interactive/describe-function.el,
	tests/zile-only/interactive/describe-function.output,
	tests/zile-only/interactive/describe-key.el,
	tests/zile-only/interactive/describe-key.output,
	tests/zile-only/interactive/describe-variable.el,
	tests/zile-only/interactive/describe-variable.output,
	tests/zile-only/interactive/fill-paragraph_2.el,
	tests/zile-only/interactive/fill-paragraph_2.output,
	tests/zile-only/interactive/goal-column.el,
	tests/zile-only/interactive/goal-column.output,
	tests/zile-only/interactive/kill-line.el,
	tests/zile-only/interactive/list-buffers.el,
	tests/zile-only/interactive/list-buffers.output,
	tests/zile-only/interactive/list-registers.el,
	tests/zile-only/interactive/list-registers.output,
	tests/zile-only/interactive/next-line.el,
	tests/zile-only/interactive/next-line.output,
	tests/zile-only/interactive/previous-line.el,
	tests/zile-only/interactive/previous-line.output,
	tests/zile-only/interactive/set-fill-column.el,
	tests/zile-only/interactive/set-fill-column.output,
	tests/zile-only/interactive/shell-command-on-region.el,
	tests/zile-only/interactive/shell-command-on-region.output,
	tests/zile-only/interactive/undo.el,
	tests/zile-only/interactive/undo.output: New test cases.

2012-03-15  Gary V. Vaughan  <gary@gnu.org>

	tests: new regression to demonstrate savannah bug #35560
	Pressing tab during minibuffer file completion crashes zile.

	See https://savannah.gnu.org/bugs?35560

2012-02-29  Reuben Thomas  <rrt@sc3d.org>

	Update copyright date.

2012-02-21  Reuben Thomas  <rrt@sc3d.org>

	doc: correct name of dotzile.sample (thanks, Frederic Culot).

2012-02-18  Reuben Thomas  <rrt@sc3d.org>

	Makefile.am: Add a couple of FIXMEs.

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.6
	* NEWS: Record release date.

	NEWS: add for 2.4.6.

	gnulib: update README-release patch.

	gnulib: Update.

	gnulib: update patches; nothing substantive.

	configure.ac: bump version to 2.4.6.

	search.c: fix crash in do_search (#35562).

2012-02-08  Reuben Thomas  <rrt@sc3d.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.5
	* NEWS: Record release date.

	release: bump version to 2.4.5 and add NEWS.

	gnulib: Update gnulib.

	buffer.c: fix bugs in estr_replace.

	Fix egregious bug when opening non-existent file, adding test for it.

	run-lisp-tests.pl: use Emacs-only arguments only when running Emacs.

2012-02-05  Reuben Thomas  <rrt@sc3d.org>

	buffer.c: fix typo in comment.

2012-02-03  Reuben Thomas  <rrt@sc3d.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.4
	* NEWS: Record release date.

	NEWS: add news for 2.4.4.

	main.c: fix uninitialized variable (thanks, Valgrind!).

	doc/Makefile.am: minor distcheck fixes.

	configure.ac: bump version to 2.4.4.

	tests: reorder so that terminal is set back to correct size after tests with fixed size.

	configury: update gnulib and autoconf-archive.

	run-lisp-tests.pl: tidy code very slightly.

	Makefile.am: Add run-lisp-tests.pl to sources for loc-all.

	run-lisp-tests.pl: minor whitespace fix.

2012-02-03  Reuben Thomas  <rrt@sc3d.org>

	tests: re-enable tests that depend on fixed screen size.
	run-lisp-tests.pl: extract common code for running tests into a
	subroutine.

	Disable regression test for 33910 which will not (soon) be fixed on
	the C branch.

2012-02-01  Reuben Thomas  <rrt@sc3d.org>

	tests: move TERM setting into Makefile.am
	As a result, fold test-bad-argument into Makefile.am, and remove
	TERM-setting code from run-lisp-tests.pl.

	tests: make consistent with Lua branch.

	file.c: allow find-file and find-file-read-only to take non-interactive args.

2012-01-31  Reuben Thomas  <rrt@sc3d.org>

	Add and use constant empty estr estr_empty.

	Update copyright years.

2012-01-31  Reuben Thomas  <rrt@sc3d.org>

	Improve efficiency of replace_estr by not moving or writing more data than absolutely necessary: use new estr_replace_estr and estr_len, and update cur_bp->pt directly.
	Replace estr_replace with estr_replace_estr, which, like
	astr_replace_nstr, overwrites rather than inserting.

	Add estr_lines, which counts the number of lines in an estr, and
	estr_len, which returns the length of an estr assuming conversion to a
	given line ending.

	Make set_buffer_pt static, as it is not used outside buffer.c.

2012-01-31  Reuben Thomas  <rrt@sc3d.org>

	tests: Rename Zile-only interactive tests consistently.

2012-01-27  Reuben Thomas  <rrt@sc3d.org>

	Update ax_with_curses.m4 to latest version.

	file.c: simplify find_file slightly.

	mkvars.pl: remove do-nothing substitution.

2012-01-19  Reuben Thomas  <rrt@sc3d.org>

	buffer.c: remove redundant setting of FLAG_SET_RESYNC.

	line.c: improve a comment.

2012-01-11  Gary V. Vaughan  <gary@gnu.org>

	bootstrap: fix addition of bogus empty arguments bug.
	* build-aux/options-parser (func_parse_options): If there are no
	arguments left after hook functions return, break out of the
	parsing loop right away to avoid adding bogus empty arguments to
	the positional parameters.

	bootstrap: register bootstrap_validate_options hook function.
	* bootstrap (bootstrap_validate_options): Make sure this
	function is correctly registered so that func_run_hooks calls
	it at the appropriate point.

	bootstrap: escape `eval \$bs_echo args' correctly.
	* build-aux/options-parser (func_fatal_help): Make sure help is
	displayed correctly when $bs_echo contains active shell
	characters.
	(func_usage_message): Likewise.

	bootstrap: fix typo so that --skip-git works with --gnulib-srcdir again
	* bootstrap (func_gnulib_tool): Keep the call to
	func_install_gnulib_non_module_files inside the $gnulib_tool
	check.
	Reported by Simon Josefsson.

	bootstrap: fix typo so that --gnulib-srcdir=../gnulib works again
	* build-aux/options-parser (func_parse_options):
	s/\$opt/$_G_opt/ so that long option arguments behind equals
	signs are not ignored.
	Reported by Simon Josefsson.

2012-01-09  Reuben Thomas  <rrt@sc3d.org>

	buffer.c: Remove some unnecessary includes.

	buffer.c: Fix potential bug in get_buffer_region.

	Rename fill-paragraph-2 test to fill-paragraph_2 everywhere.

2012-01-07  Reuben Thomas  <rrt@sc3d.org>

	Add missing dependencies for manual page generation.

	buffer.c: Simplify move_line (after lua branch).

	killring.c: when adding a newline to kill ring in kill-line, make sure it's really a newline.

2011-12-23  Reuben Thomas  <rrt@sc3d.org>

	configure.ac: Fix typo in testing $enable_debug. Thanks to Nelson Beebe.

2011-12-21  Reuben Thomas  <rrt@sc3d.org>

	Update woger call for Freecode rename and adding separate email and notes releases.

2011-12-20  Reuben Thomas  <rrt@sc3d.org>

	version 2.4.3
	* NEWS: Record release date.

	Reset NEWS release line to please do-release-commit-and-tag.

	Bump date of 2.4.3 release.

2011-12-19  Reuben Thomas  <rrt@sc3d.org>

	version 2.4.3
	* NEWS: Record release date.

	Add NEWS for 2.4.3.

	Remove check-news option from AM_INIT_AUTOMAKE, as it conflicts with do-release-commit-and-tag.

	Remove superfluous include of assert.h (thanks, make syntax-check).

	A much simpler version of the previous commit, refixing #34084.

2011-12-18  Reuben Thomas  <rrt@sc3d.org>

	Fix #34084: keep track of which buffer if any a popup window displaced, and restore it.

	Bump version to 2.4.3.

	src/search.c: Fix #35087.

	Update README-release patch to match updated gnulib.

	Update gnulib.

2011-12-18  Gary V. Vaughan  <gary@gnu.org>

	bootstrap: adopt autoconf echo normalization code.
	Dash shipped with Ubutu-11.10 as /bin/sh, among others, still
	has a crippled echo builtin that mis-handles backslashes.
	* build-aux/options-parser (bs_echo): Adopt the autoconf echo
	normalization code to find a suitable replacement for buggy echo
	commands.
	Adjust all uses of echo to $bs_echo.
	* build-aux/extract-trace (func_extract_trace, func_main):
	Likewise.
	* bootstrap: To retain some execution speed on platforms with
	buggy builtin echo, replace most occurrences of `echo' with
	`$bs_echo' - except where its arguments will obviously never
	contain backslashes or be overly long.
	Reported by Reuben Thomas.

2011-12-17  Reuben Thomas  <rrt@sc3d.org>

	Update gnulib.

2011-12-13  Gary V. Vaughan  <gary@gnu.org>

	term: optimise make_char_printable for ASCII
	In ASCII, `@' precedes 'A' and '[' follows 'Z', so there's no need
	to make additional checks just outside the A-Z range for printing
	`^@' (\0) and `^[' (\033).
	* term_redisplay.c (make_char_printable): Save some comparisons
	and a subtraction in the inner display loop when determining the
	 display string for non-printable characters.

	bootstrap: sync with upstream.
	* bootstrap: Many style and consistency improvements, plus some
	small features to maintain parity with gnulib bootstrap script
	feature set.
	Removed code separated into two new support script libraries below.
	* build-aux/options-parser: New file.  A reusable, pluggable shell
	options parser split out of bootstrap.
	* build-aux/extract-trace: New file.  A stand-alone, reusable, M4
	based configury reflector for safely introspecting macro usage in
	autoconf input, also split out of bootstrap.

2011-11-23  Reuben Thomas  <rrt@sc3d.org>

	term_curses.c: give backspace_code a default value, fix a crash.
	Thanks to Mike Gran for pointing out that tigetstr can return NULL.

	gnulib: Update.

2011-10-06  Reuben Thomas  <rrt@sc3d.org>

	Makefile.am: correct dist_type argument to woger.

2011-10-05  Reuben Thomas  <rrt@sc3d.org>

	Fix NEWS: only one template line.

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.2
	* NEWS: Record release date.

	Put NEWS back to blank template lines to run do-release-commit-and-tag.

	Bump date to today’s.

	Separate redrawing cursor from redrawing screen to speed up minibuffer redraw.

2011-10-04  Reuben Thomas  <rrt@sc3d.org>

	Update NEWS to take into account second performance bug fix.

	src/term_redisplay.c: hoist a call to buffer_line_len out of a loop to improve performance on long lines

2011-10-03  Reuben Thomas  <rrt@sc3d.org>

	Write NEWS for 2.4.2.

	version: bump version to 2.4.2

	gnulib: update

	bug: optimize term_redisplay for printable characters to fix performance bug

	configury: remove -Werror from --enable-gcc-warnings, as we always have some warnings.

2011-10-02  Gary V. Vaughan  <gary@vaughan.pe>

	bootstrap: canonicalize environment variable defaulting

2011-09-29  Reuben Thomas  <rrt@sc3d.org>

	Update to latest woger.

	gnulib: update

	tests(Makefile.am): add missing EXEEXT suffix to binary name

	standards: use _Noreturn in same position as gnulib

2011-09-26  Gary V. Vaughan  <gary@vaughan.pe>

	bootstrap: improve comments, and simplify hooks
	Thanks to Stefano Lattarini for review feedback.

	bootstrap: many minor updates
	Thanks to Stefano Lattarini for the code review.

2011-09-23  Reuben Thomas  <rrt@sc3d.org>

	configury: make use of Valgrind default to off

2011-09-20  Reuben Thomas  <rrt@sc3d.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.1
	* NEWS: Record release date.

	doc(NEWS): fix up first couple of lines

	doc(NEWS): fix whitespace

	Add NEWS for 2.4.1.

	doc(macro.c): fix punctuation in a FIXME

	src/basic.c: optimize get_goalc_bp to fix a performance problem.

2011-09-19  Reuben Thomas  <rrt@sc3d.org>

	doc: don't bother with translation-related instructions in README-release.

	gnulib: update gnulib.

	configure.ac: bump version to 2.4.1 in readiness for new release.

	src/term_curses.c: update inclusion of curses header in line with AX_WITH_CURSES update.

	src/search.c: add two missing calls to astr_cstr

2011-09-08  Reuben Thomas  <rrt@sc3d.org>

	Update format of woger command.

2011-09-08  Gary V. Vaughan  <gary@vaughan.pe>

	Revert "compiler warning: assignment to as->text discards const"
	This reverts commit 5171aa758f7354e8db522f341a2dc55563e82a62.

	My analysis was incorrect, so we'll just have to put up with the
	annoying compiler warning instead of using this broken fix to make it go
	away.

2011-09-06  Reuben Thomas  <rrt@sc3d.org>

	Improve fix for #34086: don’t specially reset last_uniarg flag & value in process_keys, but rather move its resetting in call_command to before the command is run.
	Rename process_command to more descriptive get_and_run_command.

	Rename chordtostr to chordtodesc, as it is not the inverse of strtochord.

	Fix #34086 (replay of macros not working properly with uniarg).
	Rename keyvectostr to keyvectodesc, as it produces a description, not
	the inverse of keystrtovec.

	Remove dangling reference to tests/regression directory.

	Tidy up macro-calling code slightly.

	Move regression tests into zile-only, since they are. The issue number marks them out as regression tests already; no need to have yet another directory.

	Rename regression tests descriptively and avoiding annoying hash characters.

2011-09-05  Reuben Thomas  <rrt@sc3d.org>

	Fix path mangling.

	Fix #34087: group undo around replaying macros.

2011-09-03  Reuben Thomas  <rrt@sc3d.org>

	Fix percentage through buffer calculation.

	mkfuncs.pl: compare new & old files, and only copy on change, to avoid unnecessary rebuilds.
	Fix a minor bug (thanks flymake!).

	Remove mention of deleted file.

	Add FIXME.

2011-09-01  Gary V. Vaughan  <gary@vaughan.pe>

	configury: set -Werror with --enable-gcc-warnings
	Now that the code is compiling warning free, even with all the
	additional warnings from `--enable-gcc-warnings`, enable `-Werror` too
	(like Simon Josefsson's manywarnings using projects, and now lcurses) so
	that newly introduced warnings are noticed immediately.

	compiler warning: assignment to as->text discards const
	remove the constness of the string passed to castr_new_nstr, because
	once its address is held in as->text, the rest of the code will not
	treat it as const anyway; thus, we also have to remove the constness of
	return type of astr_cstr() which is simply giving the address in the
	non-const as->text pointer too.

2011-09-01  Gary V. Vaughan  <gary@vaughan.pe>

	compiler warning: tigetstr discards const from arg 1
	...so we can't pass in a string literal.  Instead, create a dynamically
	initialised buffer of type char[], and pass that to tigetstr().

	This fixes a warning provoked by `configure --enable-gcc-warnings`.

2011-09-01  Gary V. Vaughan  <gary@vaughan.pe>

	configury: remove duplicate AC_GNU_SOURCE et al
	AC_GNU_SOURCE and AC_PROG_CC_C99 are automatically required by gl_INIT,
	no need to specify them again in configure.ac (which results in running
	`gcc -std=gnu99 -std=gnu99'.

	configury: pass all gl_WARN_ADD results to gcc
	gl_WARN_ADD results were not being substituted into Makefile.in
	correctly. Add an --enable-gcc-warnings configure flag, and when
	passed, compile with all the warning flags that were successfully
	tested at configure time.

	configury: correctly trace macros without args
	func_extract_trace_result is now set to a single ':' when a macro is
	successfully traced, to distinguish from the empty string result when a
	traced macro is simply not present.

	configury: support use of AC_CONFIG_HEADER
	Without this patch, bootstrap did not recognise the older
	AC_CONFIG_HEADER invocation when used instead of AC_CONFIG_HEADERS.

	configury: fix a typo in bootstrap

2011-08-21  Gary V. Vaughan  <gary@vaughan.pe>

	tests: new regression test for #34087

	tests: new regression test for #34086

2011-08-21  Gary V. Vaughan  <gary@vaughan.pe>

	tests: move interactive tests to a subdirectory
	Also, improve run-lisp-tests.pl to automatically create missing
	directories in VPATH builds.

	otherwise, the long filenames, and many tests meant that ls would
	show only 2 columns of files and too many rows to fit on my screen!

2011-08-21  Gary V. Vaughan  <gary@vaughan.pe>

	bootstrap: fix distcheck without README-release
	Now that we're using gnulib-tool to apply patches to README-release
	during bootstrap, be careful to edit it out of EXTRA_DISTFILES in
	lib/Makefile.am so that distcheck can still succeed.

2011-08-20  Reuben Thomas  <rrt@sc3d.org>

	Proper fix to #33907 which reads kbs to find out what to do with KEY_BACKSPACE.

2011-08-20  Gary V. Vaughan  <gary@vaughan.pe>

	curses: translate curses KEY_BACKSPACE to Zile CTRL-h (from lua)
	fix #33907

2011-08-20  Gary V. Vaughan  <gary@vaughan.pe>

	bootstrap: support gnulib README-release patches
	Use the gnulib patching machinery to create the HACKING file
	rather than reinventing the wheel in bootstrap.conf. So now
	we supply a patch in gl/top to add our header, instead of the
	build-aux/HACKING.in header text.

	fixes #34077

2011-08-20  Gary V. Vaughan  <gary@vaughan.pe>

	maint: really quote correct old_NEWS hash
	I forgot to feed only the old NEWS contents through md5sum in
	the previous commit.

	maint: quote correct old_NEWS hash
	Update old_NEWS hash after typo correction 3e0e58d

	maint: set default GNULIB_SRCDIR
	When running `make syntax-check' without GNULIB_SRCDIR in the
	environment, default to `$(srcdir)/gnulib'.

	NEWS: remove duplicate template header

	splash screen: use correct path to FAQ
	Also, fix a doubled 'Zile' in the copyright notice, and an additianal
	line-feed to make the FAQ hint easier to spot.

	bootstrap: fix comment typo
	2525s/and and/and/

2011-08-19  Reuben Thomas  <rrt@sc3d.org>

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 2.4.0.60
	* NEWS: Record release date.

	Revert line 3 of NEWS to template, to placate do-release-commit-and-tag.

	Fix date for new release, and mark it beta, not alpha.

	Fix whitespace and comment issues found by make syntax-check.

	Require Perl for build (fail if not found).

	Quote parameter names in comments.

	Add a blank line for neatness.

	Really fix directory substitutions (botched in commit e1c9c6be).

2011-08-18  Reuben Thomas  <rrt@sc3d.org>

	Make \e work in key strings: makes new interactive_quoted-insert.el pass.

	Fold badly-named get_char_unfiltered into its only caller.

	Fix directory substitutions.

	Have unfiltered getkey routines only return one code, to fix #33910.

	Use a URL for FAQ reference to make opening easier in intelligent terminals.

2011-08-18  Gary V. Vaughan  <gary@vaughan.pe>

	tests: improved interactive_quoted-insert.el (from lua)
	from lua sha 3ef8abe

2011-08-18  Reuben Thomas  <rrt@sc3d.org>

	Add line about non-working keys pointing to FAQ to splash screen.

	Simplify find_file slightly.

	Expand paths of files on command line so they are all read correctly, as current directory changes when find_file is called. Fixes #33044.

	Remove quoted-insert octal mode as per Lua branch.

2011-08-17  Reuben Thomas  <rrt@sc3d.org>

	Improve splash screen.

2011-08-17  Gary V. Vaughan  <gary@vaughan.pe>

	mkvars.pl: comment dotzile.sample multi-line docs
	Also, add the (global-set-key "key" 'func) comment from the deleted
	dotzile-extra.el to the header.

	And fix the Makefile.am rule to rebuild dotzile.sample when mkvars.pl
	was updated.

2011-08-17  Gary V. Vaughan  <gary@vaughan.pe>

	FAQ: more detail for Mac OS Terminal.app

	bootstrap: check git-merge-changelog conditionally
	Don't keep complaining about the lack of a gnu ChangeLog merge
	driver when the project doesn't have a ChangeLog!

	bootstrap: fix --skip-git with ./gnulib
	When running `bootstrap --skip-git`, there's no need to abort;
	as long as there's a gnulib directory as specified in .gitmodules,
	and an executable `gnulib-tool` inside, simply warn that gnulib
	might not be up to date, and continue.

2011-08-16  Reuben Thomas  <rrt@sc3d.org>

	Fix missing rename of run-lisp-tests from previous commit, and fix calling of valgrind.

	Rewrite run-lisp-tests in Perl to fix FIXME and regain recent speed loss.

	Add test for negative prefix arguments.

	Fix negative prefix arguments.

	Bump gnulib version.

	Merge improvements from Lua Zile FAQ.

	Add .dirstamp.

2011-08-16  Gary V. Vaughan  <gary@vaughan.pe>

	scm: track gnulib version we tested against
	By the magic of git submodules, we can always reconstitute the
	exact gnulib tree that was used for all the useful points of
	the tree henceforth (such as the ones we use to roll releases).:x

	dotzile-extra.el: removed empty file

	bootstrap: only submodule update with .gitmodules

	bootstrap: improve comments

	make: add empty MAINTAINERCLEANFILES for sub-make

	distcheck: don't leave distclean file droppings
	Implement make distcheck 101 according to:
	http://www.gnu.org/software/automake/manual/html_node/distcleancheck.html

2011-08-15  Gary V. Vaughan  <gary@vaughan.pe>

	[configury] fix a race condition in parallel builds
	Make the dependency of doc/zile.1.in upon src/zile explicit, or
	else With `make -j2' it's likely that one job will reach the build
	graph node for generating doc/zile.1.in before src/zile has been
	linked.

	[configury] fix a typo in function call

	[configury] latest `bootstrap --skip-git --gnu-srcdir=../gnulib' works

2011-08-14  Reuben Thomas  <rrt@sc3d.org>

	Update typical binary size.

2011-08-12  Gary V. Vaughan  <gary@vaughan.pe>

	Merge remote-tracking branch 'origin/master'
	Conflicts:
		README

	[refactor] consolidate the swathe of README files in $top_srcdir
	Users can now find everything they need to know about what to do
	next after downloading a Zile release tarball by reading README.
	Similarly, users can find out how to hack on the Zile sources by
	reading HACKING after cloning the repository.
	* BUGS: Removed; content added to README.
	* README: Overhauled.
	* README-prereq: Removed; listed and checked by bootstrap script.
	* README-release: Removed; content moved to HACKING.in.
	* HACKING.in: Preamble to content of README-release when creating
	  HACKING.
	* bootstrap (zile_readme_package_substitution): Create HACKING at
	  bootstrap time from HACKING.in and gnulib README-release.

	[refactor] consolidate the swathe of README files in $top_srcdir
	Users can now find everything they need to know about what to do
	next after downloading a Zile release tarball by reading README.
	Similarly, users can find out how to hack on the Zile sources by
	reading HACKING after cloning the repository.
	* BUGS: Removed; content added to README.
	* README: Overhauled.
	* README-prereq: Removed; listed and checked by bootstrap script.
	* README-release: Removed; content moved to HACKING.in.
	* HACKING.in: Preamble to content of README-release when creating
	  HACKING.
	* bootstrap (zile_readme_package_substitution): Create HACKING at
	  bootstrap time from HACKING.in and gnulib README-release.

	[configury] call AC_PREREQ so that bootstrap can check autoconf installation

	 [configury] sync latest bootstrap script
	* func_install_gnulib_non_module_files: fix error message typo.
	* require_aclocal_amflags: Use shorter http://www.gnu.org/s/' URLs.
	* func_require_gnulib_files_already_present: Make sure to default the value
	  of $gnulib_mk to Makefile.am to match gnulib-tool's treatment.
	* func_get_version: be more robust to applications that ignore `--version',
	  but still execute correctly.
	* require_checkout_only_file: moved out of global environment, and hooked
	  into func_prep so that --help still works even if checkout_only_file is
	  missing.

2011-08-11  Gary V. Vaughan  <gary@vaughan.pe>

	[configury] prefer build-aux files from gnulib to from Automake

2011-08-11  Gary V. Vaughan  <gary@vaughan.pe>

	[configury] move to non-recursive make and canonicalize directory layout
	Instead of putting *everything* in `src/', move documentation into `doc/',
	auxilliary build scripts into `build-aux/' and tests into `tests/' in
	keeping with the layout of most GNU packages.  Updated README to explain
	where everything is, as is the tradition.

	Then updated the configury to perform a non-recursive build like the lua
	branch, with the exception of `lib/' which contains a gnulib-tool
	generated Makefile.am that is not compatible with a non-recursive scheme.

2011-08-11  Gary V. Vaughan  <gary@vaughan.pe>

	[configury] update to bootstrap script with more robust bold printing

2011-08-11  Reuben Thomas  <rrt@sc3d.org>

	Find gc.h under its two possible paths.

	Remove keybindings for broken C-h; just encourages toleration of brokenness.

2011-08-11  Reuben Thomas  <rrt@sc3d.org>

	Rewrite question about keybindings with simpler fix for Mac OS X.
	Reorder the sections and questions to put more frequently-asked
	questions first.

	Update copyright year.

2011-08-10  Reuben Thomas  <rrt@sc3d.org>

	Fix ability of commands run via execute-extended-command to detect lack of arg.

	Keep search patterns as astrs.

	Fix potential crash in do_search.

	Fix crash when goto-line is aborted.

	Add COPYING.

	Merge branch 'master' of git.sv.gnu.org:/srv/git/zile

	Fix typo in previous commit.

2011-08-10  Gary V. Vaughan  <gary@vaughan.pe>

	[tests] use save-buffers-kill-emacs, not save-buffers-kill-zile

	[configury] use newer `bootstrap' from lua branch 6fe563f0

2011-08-10  Reuben Thomas  <rrt@sc3d.org>

	Fix compact_path for case when user name is prefix of path.
	Patch adapted from one by Ulrich Mueller; bug reported by Diego
	Pettenò.

2011-08-10  Gary V. Vaughan  <gary@vaughan.pe>

	[configury] bootstrap already handles build-aux/{.gitignore,snippet}

	[configury] let bootstrap handle COPYING and config.{guess,sub}

	[configury] disable the bootstrap `please sync with gnulib' warning

2011-08-09  Reuben Thomas  <rrt@sc3d.org>

	Add gnulib to .gitignore.

	Merge branch 'topic/sane-bootstrap'

	Restore recently messed-up .gitignore files.

	Revert "Remove universal-argument and prefix arguments, and shell commands."
	This reverts commit 35c72f4e446e8daebdd4c1b8e8e91f354fd541bc.

	Revert "Remove bindings for defunct commands."
	This reverts commit 0073b95dca15d578de0bc1705bb8e3e94eaf8141.

	Update patch for gnulib's copy-file module to restore original API and add new one.

2011-08-04  Gary V. Vaughan  <gary@vaughan.pe>

	README-hacking: update to match README-release, and newer bootstrap

	[configury] use a sane bootstrap script

	[configury] add missing pipe-filter-ii module to bootstrap.conf
	At this point it is now possible to clone a fresh copy of master
	from the repository, run the bootstrap script, configure and make
	C Zile without any manual intervention.

	[configury] make bootstrap.conf the canonical list of gnulib parameters
	gnulib-tool will regenerate m4/gnulib-cache.m4 automatically, and
	keeping it in version control makes it easy to forget to update
	bootstrap.conf with any changes, and break building from a clean
	checkout.

	[configury] tell bootstrap that our automake input is called Makefile.am
	...otherwise the hairy 'slurp()' function gets confused and stops bootstrap
	from running to completion.

	[configury] quote Autoconf macro argument consistently

	[configury] use AC_CONFIG_HEADERS for older autoreconf
	Some releases of Autoconf shipped an `autoreconf' that would not
	recognise `AC_CONFIG_HEADER' as a cue to run autoheader.

	[configury] add tbl_*.h to BUILT_SOURCES
	...so that Zile can be built from a freshly bootstrapped checkout,
	without having to manually generate those files first.

	[configury] remove another generated file from version control

	[configury] remove gnulib generated files from version control
	...otherwise, they have to be removed manually whenever performing a
	`git checkout` between master and lua branches in the same tree.

2011-08-02  Reuben Thomas  <rrt@sc3d.org>

	Fix previous commit for non-interactive tests of interactive features.

	Fix up fix for #33906 to work properly and mend an egregious pointer bug.

	Remove bindings for defunct commands.

	Remove universal-argument and prefix arguments, and shell commands.

	Remove unused gnulib modules.

	Fix up renamed files used as arguments in tests.

	Fix potential crash in insert-buffer.

	Fix more scrambled error messages (string args that became astrs).

	Fix undo positioning for kill_text (used by word and sexp killing).

	Fix detection of successful backup file creation.

	Fix garbled error message.

	Fix potential file descriptor leak in copy-file patch (thanks, Jim Meyering).

	Remove debugging code left from fix of #33906.

2011-08-02  Gary V. Vaughan  <gary@vaughan.pe>

	[lisp-tests] separate interactive tests by renaming test files (copy from lua branch)
	Interactive tests can now be easily spotted, and coverage of
	interactive vs non-interactive tests is easier to see.

2011-08-02  Reuben Thomas  <rrt@sc3d.org>

	Simplify completion_readdir slightly.

	Fix completion_readdir, broken by commit bb28e0734.

	Make offset_to_point into offset_to_line and remove Point type.

	Fix some compiler warnings.

	Update gnulib.

	Patch copy-file gnulib module to return error codes, fixing a FIXME.

2011-08-01  Reuben Thomas  <rrt@sc3d.org>

	Fix FIXME: implement replace_estr with estr_cat, and estr_cat with new estr_replace based on original replace_estr. Fold replace into new replace_estr.

	Move some comments from estr.c to estr.h for consistency with astr.

	Fix FIXME: make astr_insert check for overflow.

	Fix FIXME: realloc strings that shrink by 50%.

	Fix some incorrectly printed astrs in where-is (#33912).

	Don't beep when RET pressed in minibuffer (fix #33909).

	Fix #33906 (quoted-insertion of multi-character keycodes).

	Display literal ESC character as in Emacs.

	Bump version of Mac OS X Terminal known to be buggy to 10.7. Sigh.

	Remove overwrite mode.

	Open the gap!
	Various changes to make the buffer gap work with non-zero gap.

2011-07-31  Reuben Thomas  <rrt@sc3d.org>

	Remove FAQ about how to exit Zile; it's shown on splash screen.

2011-07-29  Reuben Thomas  <rrt@sc3d.org>

	Add move_with_uniarg and use it to remove some shim functions.

	Use gnulib's implementation of _Noreturn.

	Turn macros into inline functions.

	Simplify backward-delete-char very slightly.

	Avoid an unnecessary nested undo sequence.

	Simplify transpose, removing forward_char and backward_char; use move_char elsewhere.

2011-07-28  Reuben Thomas  <rrt@sc3d.org>

	Make Buffer's o member abstract, and remove get_buffer_pt.

	Simplify fill-paragraph, avoiding use of get_buffer_pt.

	Use region_new instead of constructing Regions manually.

	Rearrange buffer methods ready for introduction of gap.

	Move case-replace processing from buffer_replace to query-replace.

2011-07-27  Reuben Thomas  <rrt@sc3d.org>

	Rename get_buffer_line_len to buffer_line_len for slightly more consistency.
	Make better use of existing buffer/estr functions in one or two places.

	Remove unused estr_dup and add a FIXME.

2011-07-26  Reuben Thomas  <rrt@sc3d.org>

	Finish making Buffer text opaque within buffer.c.

2011-07-26  Reuben Thomas  <rrt@sc3d.org>

	Make buffer text opaque for getting (allow it to be set wholesale) outside buffer.c.
	Fix a class of bugs where return values from FUNCALL were treated as C
	booleans.

	Reimplement delete-blank-lines more simply.

	Fix other minor bugs and make simplifications.

2011-07-26  Reuben Thomas  <rrt@sc3d.org>

	Remove FIXME.

2011-07-25  Reuben Thomas  <rrt@sc3d.org>

	Various bits of simplification and tidy-up.

2011-07-24  Reuben Thomas  <rrt@sc3d.org>

	Simplify save_buffer slightly.

	Simplify some file backup code slightly.

	Remove no-longer-used macros.

	Use gnulib's copy-file module rather than custom copy_file function.

	Fold a couple of static functions into their only callers.

	Fold setup_main_screen into main.

2011-07-23  Reuben Thomas  <rrt@sc3d.org>

	Fix undo bug introduced recently; note why undo is problematic in Emacs.

	Fix uninitialized variable warning.

	Fix an error introduced recently to pipe_command, and simplify write_temp_buffer slightly.

	Reimplement shell-command with gnulib's pipe-filter-ii; remove astr_fread.

	Factor guts of estr_readf into astr_readf, and use the latter to simplify lisp_loadfile.
	Make some other minor improvements to lisp.c.

	Fix file encoding preservation on read, by rewriting insert_file as estr_fread, and allowing buffer’s text member to be set.

2011-07-22  Reuben Thomas  <rrt@sc3d.org>

	Remove recently-added dependency of zile.1.in on zile$(EXEEXT) as it messes up make distcheck.

	Add NEWS for 2.4.0.60.

	Remove unneeded includes of assert.h.

	Simplify and C99ify some buffer routines slightly.

	Fix and simplify set_buffer_names.

	Fix missing space in docstring.

	Fix possible comparison of NULL string.

	Fix highlighting.

	Fold term_minibuf_read into its only callee, and simplify.

	Fold term_full_redisplay into its only caller.

	Remove some unnecessary includes.

	Simplify key fetching API and code.

	Remove some unnecessary includes.

	Remove some unnecessary/incorrect uses of undo sequences.

	Remove prototype for removed function.

	Fix estr_new_astr producing estrs without a NULL eol.

	Remove undo_nosave.

	Remove unneeded doing_undo.

	Move more command machinery into call_command for better fidelity between interactive and noninteractive execution.

2011-07-21  Reuben Thomas  <rrt@sc3d.org>

	Simplify undo API and code.

	Simplify screen drawing and make splash screen a buffer as in Emacs.

	Use estr_line_len to implement get_buffer_line_len.

	Don't store terminal width and height; read it directly every time.

	Remove three static vars, folding two once-called functions into their callers.

	Fix and simplify sexp movement.

	Add INSTALL to .gitignore.

	Remove spuriously-added gnulib module.

	Make zile.1.in depend on zile executable.

2011-07-20  Reuben Thomas  <rrt@sc3d.org>

	INSTALL is now provided by gnulib.

	Add goal column test.

	Make last_command updating work in scripts.

	Fold call_macro into its only caller.

2011-07-19  Reuben Thomas  <rrt@sc3d.org>

	Remove unused astr_cmp.

	Remove unused astr_replace.

	Avoid repeated calls to strlen in a loop.

	Fix a performance bug in insert_file.

	Remove more redundant settings of resync flag.

	Make goto-char accept uniarg, and remove redundant setting of resync flag.

	Use goto_offset instead of setting bp->o directly.

	Remove bogus cast.

	Simplify goto-char and goto-line and improve their docstrings.

	Call move_line directly to simplify some code.

	Fix missing type conversion.

	Fix goal column treatment.

	Simplify next-line and previous-line, fixing some bogus behaviour.

	Minor consistency fix.

	Bump version.

	Rename gnulib-local to gl for gnulib's bootstrap.

	Fix formatting of heading.

	Switch from autogen.sh to gnulib's bootstrap.

	Update mention of gnulib to better reflect reality.

	Add support for underlined text.

	Simplify draw_status_line slightly.

	Remove window_pt.

	Make split-window copy the current topdelta too, and add window_o.

	Simplify move_line.

2011-07-18  Reuben Thomas  <rrt@sc3d.org>

	Remove view-emacs-FAQ.

	Remove some excessive comments.

	Update gnulib; unused-parameter is now snippet/unused-parameter.

2011-07-17  Reuben Thomas  <rrt@sc3d.org>

	Revert bogus e934d5edc20ef.

	Add region_new and use it to simplify calculate_highlight_region.

	Copy topdelta when splitting a window.

	Simplify in_region and its callers and make it static.

	Remove a redundant and fix an incorrect dependency.

	Simplify code owing to no longer needing to track allocated memory.

2011-07-16  Reuben Thomas  <rrt@sc3d.org>

	Remove spurious blank line.

	Change error message to be like Emacs.

	Simplify window.c slightly.

	Simplify resize_windows slightly.

	Separate out sources containing user commands, to reduce rebuilding.

	Remove get_marker_pt.

	Remove get/set_region_start/end.

	Remove now-defunct get/set_buffer_pt_o (use get/set_buffer_o instead).

	Change some calls to goto_point to calls to goto_offset.

	Remove line_end_position and line_beginning_position, and remove uniarg support from end-of-line and beginning-of-line.

	Remove point_min, point_max, gotobob and gotoeob; add goto_offset, and rewrite goto_point in terms of it.

	Simplify minibuf_read_filename slightly.

	Use xgetcwd from gnulib.

	Don’t append a slash to path in minibuf_read_filename if it’s empty, so that the path correctly defaults to cwd.

2011-07-10  Reuben Thomas  <rrt@sc3d.org>

	Add memmem gnulib module for non-GNU systems.

	Simplify goto_point, and break out some of move_line as resync_goalc.

	Simplify back-to-indentation slightly.

2011-07-09  Reuben Thomas  <rrt@sc3d.org>

	Remove name-last-kbd-macro mentions from docstrings.

	Compress some copyright ranges.

	Remove zile-version.

	Remove transient-mark-mode (act as if always on).

	Remove tabify and untabify.

	Remove named macros.

2011-07-09  Reuben Thomas  <rrt@sc3d.org>

	Replace Buffer’s pt member with a simple offset, o. Remove buffer’s last_line member. Rename the old get_buffer_o function to get_buffer_line_o.
	Fix calculation of buffer percentage position in mode line to be more
	Emacs-like.

	Finally remove the Line struct declaration (missed from earlier
	commit).

	Make adjust_markers return the updated point, so that it can be used
	as argument to goto_point later, after the buffer has been adjusted.

	Simplify delete_region by using buffer_replace.

	Simplify move_line.

2011-07-07  Reuben Thomas  <rrt@sc3d.org>

	Use get_buffer_pt_o where possible.

	Get rid of make_point.

	Get rid of cmp_point.

	Simplify Undo struct slightly.

	Make Undo use a single offset, not line number and offset.

	Remove Line type altogether. Breaks untabify test, owing to bug in adjust_markers.

	Remove get_line_offset.

	Get rid of get_line_text. Add get_buffer_line_len, and new estr functions estr_line_len, estr_start_of_line and estr_end_of_line. Improve estr_prev_line by writing it in terms of estr_start_of_line, so it works even when not fed a start-of-line position.

2011-07-04  Reuben Thomas  <rrt@sc3d.org>

	Simplify and finally fix edit_tab_line, broken for some time; all the tests pass once more. As a result, fix a bug in adjust_markers.
	Simplify goto_goalc, and further simplify get_goalc_bp.

	Simplify is_empty_line, is_blank_line, following_char and
	preceding_char.

	Simplify the function `search'.

	Make get_buffer_text return the estr, not the underlying astr, and
	hence remove get_buffer_eol.

	Add get_buffer_o.

	Remove several uses of get_line_text.

2011-07-04  Reuben Thomas  <rrt@sc3d.org>

	Simplify get_goalc_bp slightly.

2011-07-04  Reuben Thomas  <rrt@sc3d.org>

	Add encoded string module (estr), based on astr, but storing line ending encoding, and move most line-ending stuff into it.
	Use estr in Zile functions replace_estr (and wrapper insert_estr).

	Allow move_char to take an argument whose absolute value is >1.

	Add memrmem (reverse memmem).

	Various other small fixes.

2011-06-29  Reuben Thomas  <rrt@sc3d.org>

	Rename EMACS to EMACSPROG to avoid problems when building in an Emacs shell.

2011-06-25  Reuben Thomas  <rrt@sc3d.org>

	Fix an uncompressed copyright range.

	Push undo_save into buffer_replace_text, which is renamed buffer_replace.
	Rename old buffer_replace to replace, and remove its (useless) Buffer
	* parameter, as it is constrained by calling move_char to operate only
	on cur_bp; move this new function into line.c. Simplify replace by
	making it call buffer_replace.

	Make buffer_insert into buffer_replace and simplify type_char.

	Merge eol and text members of Buffer into an estr.

	Minor formatting tweak.

2011-06-25  Reuben Thomas  <rrt@sc3d.org>

	Simplify point_to_offset to use offsets directly rather than walking the lines.
	Improve and simplify some comments.

	Rename intercalate_char to insert_char and insert_char to type_char,
	making it take the mode (overwrite/insert) as a parameter rather than
	using the current mode. Make insert_char & insert_newline the
	primitives rather than the old intercalate_* functions.

	Add buffer_insert, a new primitive that inserts a string, for speed.

2011-06-23  Reuben Thomas  <rrt@sc3d.org>

	Simplify completion code, and make popup close on sole completion.
	Simplify term_minibuf_write.

	Fix a type-o.

	Improve a comment.

	Simplify intercalate_char and its callees.

	Fix a bug in intercalate_newline.

	Simplify type_char slightly.

	Rename insert_char to type_char and take overwrite as a parameter.
	Rename insert_char_in_insert_mode to insert_char and simplify it.

	Start to take care of line ending encoding properly.
	Remove line.h.

	Fix some indentation.

	Make cloc count tbl_opts.h.in.

	Replace line_replace_text by buffer_replace_text.

	Simplify exist_file.

	Simplify raw_write_to_disk.

	Add explanatory comment.

	Streamline copy_text_block as get_buffer_region.

	Remove where-is's ability to insert message in buffer with prefix arg.

	Remove unnecessary include.

	Streamline file reading and insertion.

2011-06-22  Reuben Thomas  <rrt@sc3d.org>

	Fix bug recently introduced in minibuf_read_yesno.

	Simplify read_file.

	Fix a bug recently introduced to minibuf_read_filename.

	Add memrmem and use it for finding lines instead of find_substr.

2011-06-21  Reuben Thomas  <rrt@sc3d.org>

	Tweak API of find_substr to use char *'s rather than astrs for flexibility.

	Search for lines by buffer's EOL (rather than assuming LF).

2011-06-19  Reuben Thomas  <rrt@sc3d.org>

	Update gnulib

	Simplify calculate_buffer_size, renamed to get_buffer_size.

	Make minibuf reader routines return castrs and Lisp string args be castrs.

	Make newtext argument to line_replace_text an astr.

	Add a FIXME.

	Slight simplifications and robustifications.

2011-06-18  Reuben Thomas  <rrt@sc3d.org>

	Make Region a value, not a reference type.

2011-06-17  Reuben Thomas  <rrt@sc3d.org>

	Reimplement Regions as a pair of offsets.

	Reimplement markers as offsets.

	Reimplement buffers as a single string, into which Lines are pointers. Lines are treated now as non-circular lists, implemented by methods rather than struct members.
	The code currently has holes: in particular, adjust_markers can crash
	when the current line number of a marker is wrong because of deletion.
	Rather than fix this it seems more sensible to proceed to reimplement
	Markers as simple offsets into a buffer, but also a good idea to check
	in what I’ve done so far!

2011-06-16  Reuben Thomas  <rrt@sc3d.org>

	Fix comment English.

	Remove redundant line.

	Add missing include.

	Reformat comment.

	Fold line_new into its only caller.

	Move Line implementation to buffer.c.

	Fix comment typo.

	Fix a copyright range.

	Fix a comment.

	Fix some copyright ranges.

	Remove leWipe, which now does nothing.

	Shorten buffer_new slightly, removing excessive comments.

	Remove no-longer needed macros.

	Remove set_line_* methods.

	Make Lines lists non-circular.

	Use line numbers rather than pointers wherever possible.

	Allocate text field in line_new.

	Remove all assignments to Line members except within set methods.

	Minor simplification.

	Simplify basic movement routines using direct access to Buffer fields.

	Move basic movement routines to buffer.c.

	Reduce number of callers of set_buffer_pt; use goto_point instead.

2011-06-15  Reuben Thomas  <rrt@sc3d.org>

	Remove two remaining direct modifications of Lines in case-changing routines.

	Update gnulib and re-add POSIX support modules.

	Isolate changes to Lines to a few functions in line.c.

2011-06-14  Reuben Thomas  <rrt@sc3d.org>

	Remove two spurious field declarations.

	Remove line_delete (not needed with GC) and fold line_remove into its only caller.

	More C99isms.

2011-06-03  Reuben Thomas  <rrt@sc3d.org>

	Fix FIXME to simplify walk_bindings_tree as per Lua version.

2011-05-21  Reuben Thomas  <rrt@sc3d.org>

	Simplify code using C99 declarations.

	Tighten requirements to POSIX 2008 and C99, and remove gnulib modules that implement POSIX support.

	Remove all calls to free.

2011-05-20  Reuben Thomas  <rrt@sc3d.org>

	Add check-syntax rule for flymake.

	Add newline at EOF.

	Use libgc.

	Always use dnl rather than # for comments.

	Add proper per-buffer default directory (copied from lua branch).

	Add README-release.in.

	Fix copyright dates.

2011-05-03  Reuben Thomas  <rrt@sc3d.org>

	Fix copyright years for consistency with lua branch.

2011-05-02  Reuben Thomas  <rrt@sc3d.org>

	Only use AM_SILENT_RULES where available.

	Compress date range.

	Add gnulib readme-release module.

2011-04-29  Reuben Thomas  <rrt@sc3d.org>

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	Fix NEWS hash.

	version 2.3.24
	* NEWS: Record release date.

	Remove version and date from NEWS so that do-release-commit-and-tag can run.

	Add two tests from lua branch.

	Bump version to 2.3.24 and add NEWS.

	Fix a couple of space leaks.

	Add do-release-commit-and-tag.

	Add woger's gnu method back.

	Compress copyright year range.

	Add a bug-fix (for prefix argument killing) from Zile Lua.

	Make leReallyWipe static.

	Remove mistakenly committed configuration.

	Update copyright years, compress to ranges.

	Update gnulib.

	Fix cosmetic error in repeated ESC-digit keypresses in universal-argument.

	Simplify string handling around do_binding_completion.

2011-04-27  Reuben Thomas  <rrt@sc3d.org>

	Update gnulib.

	Use mktemps from gnulib, and update gnulib.

	mkstemp only uses six X’s, so remove the extras.

2011-04-01  Reuben Thomas  <rrt@sc3d.org>

	Simplify enlarge-window slightly.

2011-03-30  Reuben Thomas  <rrt@sc3d.org>

	Simplify popup_window slightly.

	Avoid a possible NULL pointer dereference.

	Move setup_main_screen to after files are loaded, so it really works.

2011-03-25  Reuben Thomas  <rrt@sc3d.org>

	Remove obsolete comment.

2011-03-18  Reuben Thomas  <rrt@sc3d.org>

	Add FIXME to reactivate -Wbad-function-cast.

	Fix -Wcast-qual warnings, and reactivate sc_cast_of_argument_to_free check.

	Correct minimum required version of autoconf.

	Bump required version of autoconf.

2011-03-17  Reuben Thomas  <rrt@sc3d.org>

	Remove long-unnecessary cosmetic code in term_close.

	Bump copyright date.

	Add ncftp to dependencies for automated releases.

2011-03-15  Reuben Thomas  <rrt@sc3d.org>

	Get rid of headings for Freshmeat announcements, which are not formatted.

2011-03-14  Reuben Thomas  <rrt@sc3d.org>

	Fix release notes parser to match new format of NEWS.

	Fix bogus release headings.

	Add gnupload.

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	Bump NEWS hash.

	Match heading with format accepted by announce-gen.

	Remove unnecessary customization of news-check-regexp (was the same as the default).

	Rewrite 2.3.23's NEWS in accepted format.

	Update date for 2.3.23.

	Update format of Release lines in NEWS for finding release notes.

2011-03-13  Reuben Thomas  <rrt@sc3d.org>

	Add .prev-version.

	Bump NEWS hash.

	Correct formatting of release lines.

	Remove unnecessary setting.

	Sort out noreturn attributes.

	Make make syntax-check pass.

	Remove useless include of assert.

	Use gnulib progname module.

	Quote first argument of AC_DEFINE_UNQUOTED.

2011-03-12  Reuben Thomas  <rrt@sc3d.org>

	Update ax_with_curses.m4 to satisfy AC_DEFINE check in maint.mk.

	Opt out of checks Emacs would fail, and add rationales.

	Remove casts of x*alloc result.

	Don't perform check for cast of free's arg.

	Don't run sc_bindtextdomain check.

	Add news about build system improvements.

	Use gnulib warnings and manywarnings, and fix all warnings.

	Remove most of the release code, just leaving that for Freshmeat.

	Make Valgrind quiet.

	Add config.cache.

	Bump version to 2.3.23 and add NEWS.

	Make {beginning,end}-of-buffer take account of transient-mark-mode.

	Remove transient_mark_mode C function; pointless.

2011-03-03  Reuben Thomas  <rrt@sc3d.org>

	Modify isearch_forward_regexp test to catch just-fixed bug.

	Fix space leak.

	Add more NEWS for 2.3.22.

	Add NEWS for 2.3.22.

	Bump version and copyright year.

	Fix regex isearch forward.

	Re-add wrongly removed setting.

	Update gnulib.

	Remove unused variable.

2011-02-26  Reuben Thomas  <rrt@sc3d.org>

	Add silent building and update copyright dates.

2010-11-17  Reuben Thomas  <rrt@sc3d.org>

	Add NEWS for 2.3.21 and bump version.

	Make isearch-backward test test repeated isearch.

	Fix a couple of off-by-one errors in backward search introduced in commit 4a5ffc94eff.

	Merge master.

	Simplify test harness so that it doesn’t need a list of tests.
	Use wildcards, and separate the three classes of tests (run on Zile &
	Emacs, run on Zile only, disabled) into three different directories.

	Simplify test harness so that it doesn’t need a list of tests.
	Use wildcards, and separate the three classes of tests (run on Zile &
	Emacs, run on Zile only, disabled) into three different directories.

2010-11-05  Reuben Thomas  <rrt@sc3d.org>

	Update FIXME.

	Fix line_replace_text’s interpretation of case-replace, broken 18 months ago.
	Improve comment for line_replace_text.

2010-10-14  Reuben Thomas  <rrt@sc3d.org>

	Merge branch 'master' of git.sv.gnu.org:/srv/git/zile

	Rename prog_name to program_name to supply value for gnulib's lib/error.c.

2010-10-09  Reuben Thomas  <rrt@sc3d.org>

	Remove bogus mode setting of created files.

2010-10-03  Reuben Thomas  <rrt@sc3d.org>

	Update .gitignore files to cope with moving aux_dir to build_aux.

	Remove redundant entries and tighten up existing ones.

	Go back to using gnulib's cyclo code.

2010-10-03  Reuben Thomas  <rrt@sc3d.org>

	Remove now-redundant stamp machinery for building tbl_vars.h and dotzile.sample, now that only the former remains.
	Remove traces of dotzile.sample.

	Make LOC counting more like the Lua branch (don’t include tests by
	default).

	No longer need --no3 flag to cloc, as it’s the default.

2010-10-03  Reuben Thomas  <rrt@sc3d.org>

	Add build-aux.

2010-10-03  Reuben Thomas  <rrt@sc3d.org>

	Add maintainer-makefile module from gnulib.
	Switch aux_dir to build-aux for autoconf.

	Add some more autoconf warning options, long used in the Lua branch.

2010-10-03  Reuben Thomas  <rrt@sc3d.org>

	Improve wording.

	Bump copyright date.

	Improve prerequisites documentation.

	Remove Lua from repository build prerequisites.

	Add Perl to build prerequisites.

	Update POSIX standard used.

2010-09-29  Reuben Thomas  <rrt@sc3d.org>

	Update NEWS.

	Simplify delete-blank-lines slightly.

	Fix an off-by-one possible buffer overflow.

2010-09-28  Reuben Thomas  <rrt@sc3d.org>

	Shorten is_regular_file.

2010-09-26  Reuben Thomas  <rrt@sc3d.org>

	Use logical negation rather than XORing with 1.

2010-09-25  Reuben Thomas  <rrt@sc3d.org>

	Push code into free_kill_ring, which becomes maybe_free_kill_ring, and make it static.

	Avoid a compiler warning.

2010-09-23  Reuben Thomas  <rrt@sc3d.org>

	Update NEWS.

	Change name of target so that report is always remade.

	Use gnulib modules vasprintf-posix and xalloc-die to provide the relevant functions, which no longer have to be implemented in Zile. It turns out that we had different prototypes for x[v]asprintf, so the callers all had to be changed.
	Use memcmp2 from gnulib to implement astr_cmp.

	Rewrite build scripts in Perl, to avoid needing Lua.
	As a result, make Perl a build dependency (Lua wasn’t), which allows
	src/Makefile.am to be simplified slightly.

	Minor simplification of logic.

	Escape string as necessary for Perl evaluation.

	Remove some redundant code.

2010-09-22  Reuben Thomas  <rrt@sc3d.org>

	Simplify setcase_region slightly.

2010-09-21  Reuben Thomas  <rrt@sc3d.org>

	Simplify calling tab/untabify actions.

2010-09-20  Reuben Thomas  <rrt@sc3d.org>

	Fix some markup.

2010-09-19  Reuben Thomas  <rrt@sc3d.org>

	Add cyclo-zile.html.

	Add cyclometric complexity report generation from gnulib.

	Add patches to GNU regex to add RE_PLAIN.

	Change form of include to match new gnulib requirement.

	Update gnulib.

2010-09-18  Reuben Thomas  <rrt@sc3d.org>

	Add to 2.3.20’s NEWS.

	Make (un)tabify_string take source as an astr. As a result, reintroduce astr_cmp, but make it use strncmp, so that it works with embedded NULs.

	Fix a bug introduced in 2.3.17 in kill_ring_push (astr_cpy was used instead of astr_cat). Thanks to Chris Leyon for a precise report.

2010-09-16  Reuben Thomas  <rrt@sc3d.org>

	Make (un)tabify_string return an astr as result rather than taking a buffer.
	Incidentally, make the newtext parameter to replace_line_text a const
	char *.

2010-09-13  Reuben Thomas  <rrt@sc3d.org>

	Simplify and correct astr_recase.

	Fix check_case to return 0, not 1, for strings which start with more than one uppercase character then contain non-uppercase, or contain uppercase after the first non-uppercase character.

2010-09-12  Reuben Thomas  <rrt@sc3d.org>

	Make do_search decide what message to print rather than having it passed in, allowing isearch to call it directly, thus simplifying isearch.

	Simplify do_search slightly.

2010-09-12  Reuben Thomas  <rrt@sc3d.org>

	Fold goto_linep into search, and make it much more efficient, by not always starting from the top of the buffer, but just stepping in the direction of search from the current position.
	Simplify find_substr slightly.

	Remove redundant #includes.

2010-09-12  Reuben Thomas  <rrt@sc3d.org>

	Remove a comment that is now explained in the regex documentation.
	Simplify goto_linep, and fix a display bug: resync the display after
	moving to destination, not before. This was hidden by other resyncs
	when using incremental search/replace, so affects only non-incremental
	search.

	Force built-in regex if necessary.

	Simplify search code further by using new RE_PLAIN mode of GNU regex to do non-regex searches, and RE_ICASE to do case-fold searches.
	N.B. RE_PLAIN is not yet accepted by the regex maintainers.

2010-09-11  Reuben Thomas  <rrt@sc3d.org>

	Simplify search code; do not use GNU regex translate tables any more.

2010-09-10  Reuben Thomas  <rrt@sc3d.org>

	Revert commit 7a039b25699, as it caused zile.1 always to be rebuilt, and hence requires help2man for all users.

2010-09-07  Reuben Thomas  <rrt@sc3d.org>

	Update NEWS for EMACS environment variable fix.

	Explicitly unset EMACS when running Zile-only tests, in case there’s an EMACS environment variable (e.g. when building in an Emacs shell).

2010-09-06  Reuben Thomas  <rrt@sc3d.org>

	Update from gnulib.

	Bump version to 2.3.20 and add NEWS.

	Add missing zile$(EXEEXT) as a dependency of zile.1.in; thanks to Ulrich Mueller for the report and fix.

2010-08-13  Reuben Thomas  <rrt@sc3d.org>

	Bump version to 2.3.19 and add NEWS.

	Fix bug in get_buffer_dir introduced by commit d47e9935.

	Add TAGS.

2010-07-20  Reuben Thomas  <rrt@sc3d.org>

	Simplify search code slightly.

2010-07-15  Reuben Thomas  <rrt@sc3d.org>

	Fix a security race condition: don’t close the temporary file before calling pipe_command, so that it can’t be removed and another one created in between closing it and re-opening it to read.

	Simplify logic slightly.

	Make it clearer that we don’t try running the command unless we were able to open the temp file.

	Fix a potential space leak.

	Shorten some code.

2010-07-13  Reuben Thomas  <rrt@sc3d.org>

	Don't shorten name of file in buffer list, as Emacs doesn't (any more?).

2010-07-12  Reuben Thomas  <rrt@sc3d.org>

	Fix style of comment.

2010-07-11  Reuben Thomas  <rrt@sc3d.org>

	Add missing output file.

	Uncomment code that was commented out for a test.

	Update NEWS for 2.3.18.

	Fix a bug in quoted_insert_octal, and simplify the code: in particular, print characters directly rather than as numbers, and don’t return a boolean since the return value is not used.
	Add a test for quoted-insert of an octal code.

	Make minibuf_clear call minibuf_write, not term_minibuf_write, to ensure display is updated.

	Remove redundant call to minibuf_write.

	Remove some redundant code.

2010-07-03  Reuben Thomas  <rrt@sc3d.org>

	Make overwrite-mode use lisp arg as well as prefix arg.

2010-07-03  Reuben Thomas  <rrt@sc3d.org>

	Simplify get_buffer_dir and save_some_buffers.
	Fix an incorrect call to minibuf_error (too many format arguments).

	Make a minor improvement to write_buffer.

2010-06-25  Reuben Thomas  <rrt@sc3d.org>

	Add explicit initializer for cur_mp even though it makes no difference (statics are initialized to NULL anyway) for clarity.

2010-06-21  Reuben Thomas  <rrt@sc3d.org>

	Tiny simplification.

	Small simplification.

2010-06-14  Reuben Thomas  <rrt@sc3d.org>

	Change the style of a comment to be consistent.

2010-06-13  Reuben Thomas  <rrt@sc3d.org>

	Update NEWS.

	Don't try to display a NULL minibuffer_contents.

	Fix a read of freed memory (thanks, valgrind\!).

	Plug a space leak.

	Bump version and add NEWS.

	Don't catch SIGQUIT, it's a user signal.

	Plug a space leak.

2010-06-03  Reuben Thomas  <rrt@sc3d.org>

	Replace make_completion by a call to keyvectostr. D'oh.

	Simplify setting of fill-column.

	Simplify unchain_marker slightly.

2010-06-02  Reuben Thomas  <rrt@sc3d.org>

	Remove extern use of minibuf_contents static variable.

	Simplify end-of-line code handling slightly.

	Remove some unnecessary (even for understanding) parentheses.

2010-05-29  Reuben Thomas  <rrt@sc3d.org>

	Improve comment.

	Simplify make_mode_line_flags.

	Make get_variable_bp static as it’s unused outside variables.c.

	Minor simplification.

	Simplify tab_width.

2010-05-28  Reuben Thomas  <rrt@sc3d.org>

	Simplify calculate_highlight_region.

	Simplify in_region.

	Simplify outch.
	Move some variable declarations into block where they are used.

2010-05-24  Reuben Thomas  <rrt@sc3d.org>

	Expand NEWS for 2.3.17.

	Update gnulib.

	Put undo-specific fixup of copy_text_block into the caller.

	Fix undo bug introduced in fix in 1a0e6b42.

	Add comment to goto_point mentioning that pt.p is not used.

	Avoid future bugs by storing explicit position, not Point, in Undo.

	Fix a crash bug introduced in 2.3.16: we can’t rely on copy_text_block’s pt.p, as it may have come from an out-of-date pointer when called from undo_save.
	This needs a proper fix in undo.c.

	Add a FIXME

2010-05-19  Reuben Thomas  <rrt@sc3d.org>

	Make strtochord static, as it is not called outside keycode.c

2010-05-16  Reuben Thomas  <rrt@sc3d.org>

	Don’t sort keys in bindings, as I have no evidence that Emacs does. Instead, re-order the default bindings so they come out in the same order as Emacs’s.

	Fix a bug in delete_window introduced by earlier modifications.

2010-05-14  Reuben Thomas  <rrt@sc3d.org>

	Add a comment, and remove unnecessary FLAG_RESYNC (we resynced everything already.

	Fix redraw after kill_buffer.

	Simplify draw_line slightly.

	Make resync_redisplay take the window to resync as a parameter.

	Count .h files as C source, not separate headers.

	Add comment.

	Simplify kill_buffer.

	Improve comment.

	Add a FIXME.

	Improve comment.

	Improve function name.

	Add NEWS and bump version for 2.3.17.

	Fold free_window into its only caller.

	Fix a bug in delete_window that would always delete the current window, not the requested one, and simplify delete-other-windows by making it call delete_window.

	Don't remove other windows when only one buffer, as Emacs doesn't.

	Simplify adjust_markers.

2010-05-10  Reuben Thomas  <rrt@sc3d.org>

	Make kill_ring_push take an astr, not a counted char *.

2010-05-09  Reuben Thomas  <rrt@sc3d.org>

	Fix an ISO-ism.

	Add news for 2.3.16.

	Fold astr_vafmt into astr_afmt, its only caller.

	Make copy_text_block return an astr rather than a char *, simplifying its code further. It was simplest to make undo.block.text an astr too as a result of this.
	Fold register_free into its only caller.

	Simplify copy_text_block (takes a Point instead of a start line and position, does not need to reallocate buffer while copying), and fix a bad call to astr_new_cstr (potential buffer overread) in copy-to-register that this uncovered.

	Remove underused kill_ring_push and rename kill_ring_push_nstring to kill_ring_push.

	Remove freeing functions which are only called at program shut-down.
	Update some copyright dates, including adding some missing years.

2010-05-08  Reuben Thomas  <rrt@sc3d.org>

	Fold point_min_marker into its only caller.

	Fold term_tidy into its only caller.

	Get rid of unused count_lines and fold point_dist into its only caller.

2010-04-28  Reuben Thomas  <rrt@sc3d.org>

	Remove two unused function prototypes.

2010-04-24  Reuben Thomas  <rrt@sc3d.org>

	Simplify handling of C-_, and correct a long-standing bug (turning code into key was back to front).
	Add a missing (cosmetic) space.

	Add getopt.h

	Fix typo in comment.

2010-04-21  Reuben Thomas  <rrt@sc3d.org>

	Add 2.3.16 to NEWS to make autotools happy.

	Changes from gnulib update.

	Bump version.

	Add two more files.

	Put variables in more logical order.

	Merge branch 'master' of git.sv.gnu.org:/srv/git/zile

2010-04-10  Reuben Thomas  <rrt@sc3d.org>

	Bump copyright year in ZILE_COPYRIGHT_STRING and main.c.

2010-03-27  Reuben Thomas  <rrt@sc3d.org>

	Fix make from bootstrapped sources by having zile’s object files depend on tbl_funcs.h to force tbl_funcs.h to be made before trying to compile Zile. Thanks to  Rob Vermass for the bug report.

2010-03-26  Reuben Thomas  <rrt@sc3d.org>

	Update gnulib.

2010-03-12  Reuben Thomas  <rrt@sc3d.org>

	Use AC_CHECK_FUNCS_ONCE instead of AC_CHECK_FUNCS, for speed.

2010-03-02  Reuben Thomas  <rrt@sc3d.org>

	Bump version to 2.3.15.

	Update NEWS for 2.3.15.

	Set FLAG_UNIARG_EMPTY on starting execute-extended-command.

	Default uniarg with C-u was 16; fix so it's 4 as it should be.

	Use gnulib xlist module and update gnulib (thanks to Giuseppe Scrivano).

	Respect GNULIB_SRCDIR (patch from Giuseppe Scrivano).

2009-12-03  Reuben Thomas  <rrt@sc3d.org>

	Bump version to 2.3.14 and write NEWS for release.

	Fix string comparison in compact_path to actually find the entire home directory, not just an arbitrary prefix. Thanks to Mikel Ward for the bug report.

2009-10-28  Reuben Thomas  <rrt@sc3d.org>

	Fix flag passed to command to indicate uniarg is set.

	Fix incorrect setting of flag indicating blank characters to end of line.

2009-10-20  Reuben Thomas  <rrt@sc3d.org>

	Don't add KBD_NOKEY to key sequences.

	Don't treat non-8-bit key codes as chars.

	Fix casts for various arches. Thanks to Christian Weisgerber.

2009-10-06  Reuben Thomas  <rrt@sc3d.org>

	Remove FIXME.

	Update NEWS with more 2.3.13 fixes.

	Fix a memory leak found by valgrind.

	Add extra argument to Lisp function type Function so that we can explicitly signal if there’s a uniarg, so we can accurately work out whether or not any sort of argument was supplied.

	Fix punctuation in comment.

	Improve minibuffer display of negative uniargs.

	Squash some space leaks found by Valgrind.

	Sort out kill-line mess.

2009-10-05  Reuben Thomas  <rrt@sc3d.org>

	Switch old mp_with_curses.m4 to new ax_with_curses.m4.

	Remove obsolete file.

	Fix incorrect setting of mp_cv_curses=yes even when curses is not found.

2009-10-03  Reuben Thomas  <rrt@sc3d.org>

	Update NEWS for 2.3.13.

	Update gnulib; use getopt-gnu instead of obsolete getopt.

	Bump version to 2.3.13

	Factor out tests for whether the top and bottom of a window is visible into functions, and use them both to display the “Top”, “Bot” and “All” indicators, and to fix scroll_up and scroll_down (thanks to Nelson Beebe for pointing out the bug).

2009-09-19  Reuben Thomas  <rrt@sc3d.org>

	Write NEWS for 2.3.12.

	Ensure line is always initialised.

	Bump version to 2.3.12.

	Fix +LINE.

2009-09-04  Reuben Thomas  <rrt@sc3d.org>

	Popups should be marked unmodified.

2009-09-03  Reuben Thomas  <rrt@sc3d.org>

	Don't cast pointers to bool; thanks Nelson Beebe.

2009-08-25  Reuben Thomas  <rrt@sc3d.org>

	Fix comment to reflect reality.

	Update for 2.3.11

	Push universal_argument's argument into the function, and since it is no longer called except by universal-argument, push it into the DEFUN.
	Simplify process_command too as a result.

2009-08-25  Reuben Thomas  <rrt@sc3d.org>

	Overhaul keyboard input so that all keys are read in process_command rather than the first key being passed in to old process_key, and separate out looking up the command from getting the keys for it.
	All this to make describe-key display the key binding properly!

	Incidentally, fix a couple of FIXMEs.

2009-08-25  Reuben Thomas  <rrt@sc3d.org>

	Fix typo from last commit.

	Fix some problems with killing the sole window. Thanks to the ever-persistent Rugxulo.

2009-08-24  Reuben Thomas  <rrt@sc3d.org>

	Expand comment.

	Improve comment cosmetically.

	Improve comment cosmetically.

2009-08-23  Reuben Thomas  <rrt@sc3d.org>

	Bump version to 2.3.11.

	Remove completed FIXME.

	Remove spurious newline.

	Prevent number of replacements being written out along with result of string.gsub.
	Correct comment at top of file: we are generating tbl_funcs.h, not
	tbl_funcs.lua.

2009-08-19  Reuben Thomas  <rrt@sc3d.org>

	Fix scrolling of completions after recent changes in scrolling.

	Remove dead code.

	Merge branch 'master' of rrt@git.sv.gnu.org:/srv/git/zile

2009-08-18  Reuben Thomas  <rrt@sc3d.org>

	Fix exit status of run-lisp-tests to return sum of fails rather than (owing to previous changes) always 0. Thanks to Ulrich Mueller for reporting this bug.

	Remove redundant code as per FIXME.

2009-08-16  Reuben Thomas  <rrt@sc3d.org>

	Remove a line of code as per FIXME.

2009-08-13  Reuben Thomas  <rrt@sc3d.org>

	Swap m4 file to match usage.

	Add a missing &&.

2009-08-12  Reuben Thomas  <rrt@sc3d.org>

	Change indent-tabs-mode's default value to t to match Emacs.

	Small simplification.

	Make arguments start and end STRs so they can be safely ignored whatever form they take.

	Fix interpretation of kill-whole-line.

2009-08-11  Reuben Thomas  <rrt@sc3d.org>

	Remove UTF-8 characters and note work on portability to DOS.

	Make sure a non-interactive arg always counts as a uniarg.

	Use goto-line with non-interactive arg.

	Make goto-line take a non-interactive arg.

2009-08-10  Reuben Thomas  <rrt@sc3d.org>

	Add LISP_TESTS_ZILE_ONLY to EXTRA_DIST.

	Fix reference to zile_test.input to refer to test.input.

	Add NEWS for 2.3.10.

	Fix describe-bindings test to work in Emacs.

	Fix describe-function to work as in Emacs.

	Fix describe-key to work as in Emacs.
	Remove an unnecessary #include of ctype.h from help.c.

	Change help buffer names all to "*Help*" as in Emacs.

	Fix describe-variable test for Emacs.

2009-08-08  Reuben Thomas  <rrt@sc3d.org>

	Deactivate scroll-up and scroll-down tests, as I don't know how to make them work in general any more.
	Revert call-last-kbd-macro test to earlier version that works.

	Fix typo in list-buffers test.

2009-08-08  Reuben Thomas  <rrt@sc3d.org>

	Make tests that can't easily be made to work in Emacs run in Zile only.
	Make some still-failing tests run without Lisp errors in Emacs.

	Fix copy-region-as-kill test to work in Emacs.

2009-08-08  Reuben Thomas  <rrt@sc3d.org>

	Fix register commands to work with registers being given as numbers not text.

2009-08-07  Reuben Thomas  <rrt@sc3d.org>

	Fix a couple of typos.

2009-08-04  Reuben Thomas  <rrt@sc3d.org>

	Make more user commands more Emacs-compatible to fix tests.

	Revise lots of tests to make them work with Emacs, and remove some from testing for now, as they can't easily be made to.

	We are really in Fundamental mode, not Text mode.

	Revise register commands to work more like Emacs.

	Change scratch buffer message to match Emacs.

	Add \r to the list of key names to kludge it working in execute-kbd-macro.

	Change conditions under which scroll-{up,down} return an error, to match Emacs.

	Bump minimum version of Emacs to 23.1 now that 23 is released.

2009-08-02  Reuben Thomas  <rrt@sc3d.org>

	Cope with malformed arguments.

	Count Lisp code in loc target.

	Add argument to case-changing functions, to be consistent with Emacs.
	Simplify universal-argument slightly.

	Change call_keys to process_keys, which calls process_key repeatedly until all the keys supplied have been processed, so that macros are now executed in the right order relative to Lisp code.

	Add term_buf_len, which returns the number of characters currently in the buffer.

	Move an initialisation after a declaration to make code correctly ANSI.
	Add a FIXME.

	Push most of main loop function loop() into process_key, and expand the rest into main(), so that process_key can meaningfully be called from elsewhere.

	Add a FIXME.

	Rename zile_test.input to test.input as we're running with Emacs too!
	Count and report Emacs and Zile passes and fails separately, so it's
	easier to read the results.

	Use LISP_TESTS rather than a wild card to run tests, for consistency.

	The last edit to this was incorrect as (delete-char 4) only records one undo step; need to expand it out to four calls, as it used to be.

	Don't enforce ANSI, as that messes up gnulib compilation (forcing a compiler to be ANSI when gnulib has worked out that it supports extensions).

2009-08-01  Reuben Thomas  <rrt@sc3d.org>

	Remove a declaration in the middle of code.

	Use AX_CFLAGS_WARN_ALL_ANSI (closes FIXME).

	Clarify FIXME.

2009-07-31  Reuben Thomas  <rrt@sc3d.org>

	Run Emacs with --batch rather than --no-window-system, as the latter complains about stdin not being a tty.

	Run Emacs with --no-window-system to make it work when building on a server and also so as not to annoy the developer by popping up windows all the time.

2009-07-24  Reuben Thomas  <rrt@sc3d.org>

	Make root_bindings static to bind.c; need to change process_key not to take a BInding and make free_bindings static while adding a new public free_default_bindings.

2009-07-23  Reuben Thomas  <rrt@sc3d.org>

	Fix a typo.

2009-07-23  Reuben Thomas  <rrt@sc3d.org>

	Start making tests Emacs-compatible.
	run-lisp-tests: fix assignment of args so it is always made; copy
	input file for both tests, not just the first.

	Add macros for arguments that can be either non-interactively supplied
	in Lisp or interactively supplied by universal argument, and start
	using it with those commands that should take an argument
	non-interactively.

	Start making tests work on Emacs.

2009-07-23  Reuben Thomas  <rrt@sc3d.org>

	Fix --without-foo.

	Factor command-line arguments for tested program (Zile or Emacs) into a variable.

2009-07-22  Reuben Thomas  <rrt@sc3d.org>

	Use AX_WITH_PROG for better and shorter tests for programs.

	Have automake do the check that we've written release notes, by using the check-news option to AM_INIT_AUTOMAKE.

	Run tests in Emacs too.

	Add ax_compare_version.m4 for Emacs version check.

2009-07-22  Reuben Thomas  <rrt@sc3d.org>

	Add configure check for recent Emacs.
	Add some FIXMEs to configure.ac.

	Use AC_ARG_VAR to make program name variables precious.

	Improve help string for CONFIGURE_HOST.

2009-07-22  Reuben Thomas  <rrt@sc3d.org>

	Add Anthony Williams.

	Fix a double free and a memory leak.

	Stop get_goalc_bp from overrunning line.

2009-07-21  Reuben Thomas  <rrt@sc3d.org>

	Add a note about using non-standard curses.

	Update mp_with_curses to allow CURSES_LIB to be set on the command-line.

	Simplify function and loadfile handling, and fix a FIXME.

	Make command-line argument handling work in order, like Emacs.

2009-07-20  Reuben Thomas  <rrt@sc3d.org>

	Rename zile->emacs

	Smarten a comment.

	Rename commands containing -zile to -emacs, so that Emacs can run the tests.

	Add some FIXMEs.

	Change kill-line test's output, to be like Emacs's.

	Add this_command, to be more like Emacs.

	Use kill-region as token for kill commands, as in Emacs.

	Remove FLAG_DONE_KILL and use last_command instead, with special pseudo-command KILL_COMMAND; add set_last_command to make this possible. This is closer to Emacs's implementation.

2009-07-19  Reuben Thomas  <rrt@sc3d.org>

	Simplify term_attrset.

	Font codes no longer need to fit in an int or have room for a char underneath.

	Make goal column per-buffer.

	Simplify goto-line.

	Factor guts of forward_char and backward_char into move_char.

	Fold ngotodown and ngotoup into move_line.

2009-07-18  Reuben Thomas  <rrt@sc3d.org>

	Simplify goto-line.

	Simplify ngotoup and ngotodown.

	Make ngotoup and ngotodown static.

	Simplify ngotoup and ngotodown.

	Remove pointless identity conversions from bool to bool.

	Reimplement previous-line and next-line with execute_with_uniarg.

	Simplify move_line.

	Factor previous_line and next_line into move_line.

	Reimplement goal column tracking by previous-line and next-line using last_command (), as it is both simpler and the way that Emacs does it.

2009-07-18  Reuben Thomas  <rrt@sc3d.org>

	Add support for non-interactive arg to kill-line.
	Fix a missing initialisation in kill_to_bol.

	Add a test for kill-line with arg. Unfortunately, this uncovers
	problems with goal column support when used non-interactively.

2009-07-18  Reuben Thomas  <rrt@sc3d.org>

	Merge branch 'master' of rrt@git.sv.gnu.org:/srv/git/zile

	Fix up clean files to avoid needing Lua or help2man after make clean.

	Remove duplicate settings of FLAG_CPCN.

2009-07-17  Reuben Thomas  <rrt@sc3d.org>

	ungetting needs to work at the character, not the key level (d’oh, we’ve been here before). Hence, push the new ungetting machinery down into term_curses.c.

2009-07-16  Reuben Thomas  <rrt@sc3d.org>

	Only need to check $mp_cv_curses with latest mp_with_curses.m4.

	Add Piotr Wieczorek’s email address.

	Add Piotr Wieczorek, and make RMS’s entry less overblown.

	We cannot rely on ungetch to support more than one character of pushback (thanks Piotr Wieczorek), so reinstate old method of dealing with ungetkey inside getkey.c, only this time use gl_list_t to make it able to cope with arbitrary pushed-back keystrokes.

	assert hash_insert, i.e. abort if insert fails.

	Ignores added by gnulib update.

	Convert some return types back to int that were erroneously made bool.

2009-07-16  Reuben Thomas  <rrt@sc3d.org>

	Make kill-line work with non-positive universal args, fix undo to operate in one step, and add documentation for `kill-whole-line'.
	Make more functions return bool instead of int for a flag.

	Make ESC - work to introduce a negative universal arg.

	Fix delete_region to work for arbitrary regions.

	Fix find-alternate-file for buffers without a file name: the path
	should be suffixed by "/".

2009-07-16  Reuben Thomas  <rrt@sc3d.org>

	Remove maintainer files from CLEANFILES.

	Bump version to 2.3.10.

	Merge branch 'master' of rrt@git.sv.gnu.org:/srv/git/zile

	Use dir_name instead of dirname to avoid problems with libgen.h on some platforms, and greater portability all round.

	Update to latest autoconf-archive version.

2009-07-11  Reuben Thomas  <rrt@sc3d.org>

	Use gnulib's dir_name so we don't need libgen.h.

2009-07-10  Reuben Thomas  <rrt@sc3d.org>

	After git pushing for a release, pull to be up-to-date.

	Add Lua to maintainer dependencies, and move help2man from build deps to maintainer deps.

2009-07-07  Reuben Thomas  <rrt@sc3d.org>

	Bump version to 2.3.9 and write NEWS entry.

	Rename kill to kill_text to avoid clash with the system function of the same name. Thanks to Nelson Beebe.

2009-07-05  Reuben Thomas  <rrt@sc3d.org>

	Update RMS’s email address.

	Add NEWS and bump version for 2.3.8.

	Fix crash in find-file-alternate for buffers with no filename (thanks Ulrich Mueller).
	Also fix a possible crash in agetcwd.

	Fix a quote

2009-04-22  Reuben Thomas  <rrt@sc3d.org>

	Mention highlighting bug fix in NEWS for 2.3.7.

	Remove defunct swap_point’s prototype.

	Simplify count_lines considerably and since swap_point is now only called once fold it into its call site. It’s not a very good function anyway.

	Fix calculate_highlight_region (bug introduced in 2.3.5).
	Rename draw_end_of_line’s Region * argument to “rp” for consistency.

2009-04-17  Reuben Thomas  <rrt@sc3d.org>

	Simplify term_attrset to take one argument only, as all its calls pass exactly one argument.

2009-04-16  Reuben Thomas  <rrt@sc3d.org>

	Remove spurious calls to update terminal.

	Make query-replace count of replacements a size_t.

	Fix space leak on C-g in query-replace.

	Simplify query-replace, removing gotos and loop exit flag.

	Add notes for 2.3.7.

	Bump version to 2.3.7.

	line_replace_text doesn’t need to update the Line * it is passed, so pass a Line *, not a Line **.
	This change then applies also to edit_tab_line.

	Don't update point needlessly and wrongly after replace.

2009-04-14  Reuben Thomas  <rrt@sc3d.org>

	Don't fail if help2man not found.

	Add two files added by gnulib.

2009-04-08  Reuben Thomas  <rrt@sc3d.org>

	Add news for 2.3.6.

	Distribute tbl_vars.h & mkvars.stamp so that we don't need Lua for building releases.
	Bump version to 2.3.6.

	Fix a typo.

2009-04-07  Reuben Thomas  <rrt@sc3d.org>

	Add tbl_vars.h and mkvars.stamp to CLEANFILES.

	Fix space leak.

	Distribute tbl_vars.h.in.

	Update 2.3.5's release notes.

	Reinit scratch buffer after load files loaded.

	Add a missing cast.
	Load files after opening files on command line, so that tests work
	again. Oops.

	Reintroduce --funcall for backwards compatibility with Zile 2.2.

	Make --load files affect default settings.

	Revert mistaken change to use /bin/bash.

	Process tbl_vars.h with mkvars.lua, to process formatting directives.

2009-04-06  Reuben Thomas  <rrt@sc3d.org>

	Fix formatting in fill-column's help.

	Fix describe-variable.

	Fix fill_break_line not taking its call of delete-horizontal-space into account when calculating where to put point afterwards; use a Marker, as we should have done all along.
	Fixes Debian bug #522836.

	Fix syntax error in for loop.

	Fix problem with compilation due to bad #define on some systems.

	Fix short option processing.

	Remove unused include.

	Fix a comment typo.

2009-04-04  Reuben Thomas  <rrt@sc3d.org>

	Remove defunct file.

2009-04-03  Reuben Thomas  <rrt@sc3d.org>

	Revert "Merge branch 'lua' of rrt@git.sv.gnu.org:/srv/git/zile"
	This reverts commit fab016cbd19c8293c8eb111460d799afa32c9301.

	Merge branch 'lua' of rrt@git.sv.gnu.org:/srv/git/zile

	Fix checks for ncurses after --with-ncurses.

2009-04-02  Reuben Thomas  <rrt@sc3d.org>

	Remove some files we no longer have.

	Update gnulib, removing the hash module, which is no longer used.

	Merge changes from HEAD.

	When a buffer is saved, clear its nosave flag, so that it is covered by future calls to save_some_buffers.
	When a buffer is written, clear rather than invert its modified flag.
	Having saved, it's always unmodified! This fixes a bug when a scratch
	buffer was saved.

	Don't append buffer name to path when needname is true.

	Add zile.1.in to EXTRA_DIST. Double d'oh.

	Add man-extras to EXTRA_DIST. D'oh.

	Fix another incorrect path to man-extras.

	Remove non-existent man-extras.in from EXTRA_DIST.

	Remove over-general pattern.

	Restore dependency of zile.1 on Makefile.

2009-04-02  Reuben Thomas  <rrt@sc3d.org>

	Remove man-extras from CLEANFILES, as it's no longer generated.
	Correct dependency on man-extras from $(builddir)/man-extras to just
	man-extras.

	Remove some spurious "$(srcdir)/" prefixes in dependencies.

2009-04-02  Reuben Thomas  <rrt@sc3d.org>

	Process zile.1 rather than man-extras to expand paths, thus allowing help2man to become a maintainer tool rather than a build dependency.

	Now that man-extras isn't processed (rather, zile.1 is), no need to call the "original" file man-extras.in.

	Fix text not being added to man page.

	Expand relative filenames.
	Make agetcwd extern, as it's now needed in funcs.c.

	Make make_buffer_name static, and tidy it slightly.

	Clarify a comment.

	Reduce calls to accessors, shortening code.

	Simplify the Buffer API, especially the functions for setting the name and filename.
	Fix a space leak in set_variable_in_list.

	Fix a space leak.

2009-04-01  Reuben Thomas  <rrt@sc3d.org>

	Simplify is_regular_file: return false if file does not exist.
	Check whether file exists before calling is_regular_file.

	Remove pointless call to waitkey.

	Merge branch 'master' into lua

2009-03-31  Reuben Thomas  <rrt@sc3d.org>

	Remove -std=c89 flag from CFLAGS, as this causes build failures on some systems.

	Remove CFLAGS -std=c89 for gcc, as that causes builds to fail on some systems.

	Merge branch 'master' of rrt@git.sv.gnu.org:/srv/git/zile

2009-03-30  Reuben Thomas  <rrt@sc3d.org>

	Fix set_variable for setting non-existent variable.

	Remove debugging include.

2009-03-30  Reuben Thomas  <rrt@sc3d.org>

	Use a global table, "main_vars" for the main vars list rather than an anonymous reference, for easier future use from Lua.
	Fix a typo in the splash screen (copied from stable branch).

	Call abort() on Lua panic so we get a core dump.

	Remove free_variables, as there's no point clearing up after Lua's
	allocator.

2009-03-30  Reuben Thomas  <rrt@sc3d.org>

	Start a new version series for Lua Zile.

	Fix typo in splash screen.
