search.c: fix crash in do_search (#35562).
configure.ac: bump version to 2.4.6.
gnulib: update patches; nothing substantive.
gnulib: Update.
gnulib: update README-release patch.
NEWS: add for 2.4.6.
version 2.4.6

* NEWS: Record release date.
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Makefile.am: Add a couple of FIXMEs.
doc: correct name of dotzile.sample (thanks, Frederic Culot).
Update copyright date.
tests: new regression to demonstrate savannah bug #35560

Pressing tab during minibuffer file completion crashes zile.

See https://savannah.gnu.org/bugs?35560
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.
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: 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: 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: 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: 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: new regression to demonstrate savannah bug #35567

Minibuffer displays non-printables instead of ringing the bell.

See https://savannah.gnu.org/bugs?35567
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.