* net/ange-ftp.el (ange-ftp-make-directory): Don't raise an error,
if DIR exists and PARENTS is non-nil.
* doc/lispref/keymaps.texi (Key Binding Commands): Trivial rephrasing.
* doc/lispref/objects.texi (Char-Table Type): Add cindex.
NEWS copyedit (consistent capitalization for top-level headings)
Fix rare aborts in bidi.c.

 src/bidi.c (bidi_resolve_neutral): After finding the next
 non-neutral character, accept NEUTRAL_ON type as well, because
 directional control characters, such as LRE and RLE, have their
 type converted to that by bidi_resolve_weak.  This avoids aborts
 when LRE/RLE follows a run of neutrals.
 (bidi_move_to_visually_next): Assert that return value of
 bidi_peek_at_next_level is non-negative.  Negative values will
 cause an infloop.
Clean up read_key_sequence a bit; reread active keymaps after first event.
* src/keyboard.c (read_char, read_char_x_menu_prompt)
(read_char_minibuf_menu_prompt):
Replace nmaps+maps with a single `map' arg.
(follow_key): Operate on a single map.
(active_maps): New function.
(test_undefined): Also return true for nil bindings.
(read_key_sequence): Use active_maps to replace the arrays of keymaps with
a single (composed) keymap.  Remember `first_event' to choose the right
set of active keymaps.  Recompute the set of keymaps after receiving
the first event.  Remove GOBBLE_FIRST_EVENT.
(syms_of_keyboard): Remove inhibit_local_menu_bar_menus.
* src/keyboard.h (read_char): Update declaration.
* src/lread.c (read_filtered_event): Adjust call to read_char.
* lisp/cus-start.el (all): Remove inhibit-local-menu-bar-menus.
* lisp/doc-view.el (doc-view-current-cache-dir): Beware % escapes.
Clean up read_key_sequence a tiny bit more.

* keyboard.c (read_char_x_menu_prompt) [HAVE_MENUS]:
(read_key_sequence): Remove unused locals.
Improve AIX port.

This doesn't fix the bug, but it makes progress: Emacs builds now.
* unexaix.c: Include inttypes.h, stdarg.h.
(report_error, report_error_1): Mark as _Noreturn.
(report_error): Don't report the wrong errno.
(report_error_1): Now varargs.  All callers changed.
(make_hdr): Use uintptr_t, not unsigned, when converting pointers
to unsigned.  Don't use ADDR_CORRECT, as it no longer exists.
(write_ptr): Use %p to print address rather than %lx and a cast
to unsigned long.  Grow buffer a bit, to be safer.
Aidan Gauland <aidalgol@no8wireless.co.nz>
Fixes: debbugs:13689

* lisp/erc/erc-match.el (erc-match-message): Don't truncate action messages.
Merge from gnulib.
Tune by using memchr and memrchr.

* .bzrignore: Add string.h.
* admin/merge-gnulib (GNULIB_MODULES): Add memrchr.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/memrchr.c, lib/string.in.h, m4/memrchr.m4, m4/string_h.m4:
New files, from gnulib.
* src/doc.c (Fsnarf_documentation):
* src/fileio.c (Fsubstitute_in_file_name):
* src/search.c (find_newline, scan_newline):
* src/xdisp.c (pos_visible_p, display_count_lines):
Use memchr and memrchr rather than scanning byte-by-byte.
* src/search.c (find_newline): Rename from scan_buffer.
Omit first arg TARGET, as it's always '\n'.  All callers changed.
keymaps.texi small fix for bug#13684

* doc/lispref/keymaps.texi (Scanning Keymaps):
Remove obsolete sentence about meta characters; this changed in 22.1.
Tweak quoting in earlier configure.ac emacs_config_options change
MS-Windows followup for revision 111741.

 lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/memrchr.$(O).
 ($(BLD)/memrchr.$(O)): New dependency.

 nt/inc/ms-w32.h: Add prototype for memrchr.
Make S-SPC scroll in the opposite direction to SPC

* lisp/calc/calc-graph.el (calc-graph-show-dumb):
* lisp/calendar/calendar.el (calendar-mode-map):
* lisp/cus-edit.el (custom-mode-map):
* lisp/ehelp.el (electric-help-map):
* lisp/emulation/vip.el (vip-mode-map):
* lisp/epa.el (epa-key-list-mode-map):
* lisp/info.el (Info-mode-map):
* lisp/mail/rmail.el (rmail-mode-map):
* lisp/mail/rmailsum.el (rmail-summary-mode-map):
* lisp/man.el (Man-mode-map):
* lisp/net/newst-plainview.el (newsticker-mode-map):
* lisp/progmodes/cpp.el (cpp-edit-mode-map):
* lisp/progmodes/grep.el (grep-mode-map):
* lisp/progmodes/idlw-help.el (idlwave-help-mode-map):
* lisp/simple.el (special-mode-map):
* lisp/startup.el (splash-screen-keymap):
* lisp/view.el (view-mode-map):
Make S-SPC scroll in the opposite sense to SPC.
ChangeLog fixes
* files.el (basic-save-buffer): Offer to create a non-existing directory.
* doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate
UserInstallation when calling soffice to work around LibreOffice
bug 37531.
Auto-commit of generated files.