* configure.in: Do not preprocess src/Makefile.in.
(cpp_undefs, CPP_NEED_TRADITIONAL): Remove.
(AC_EGREP_CPP): Test no longer needed.
* configure: Regenerate.
* config.bat: Do not preprocess src/Makefile.in.
* make-dist: No more Makefile.c files.
* INSTALL, src/README: Makefiles are not preprocessed.
* src/Makefile.in, src/autodeps.mk, src/deps.mk, src/ns.mk:
Convert comments to Makefile format.
* lib-src/Makefile.in (distclean): No more Makefile.c.
* src/Makefile.in (bootstrap-clean): No more Makefile.c.
* admin/notes/cpp: Remove file.
* admin/quick-install-emacs (AVOID): No more Makefile.c files.
* etc/PROBLEMS, etc/MACHINES: Remove details of cpp problems which can
no longer occur.
* emacs-lisp/smie.el: New file.
* progmodes/prolog.el (prolog-smie-op-levels)
(prolog-smie-indent-rules): New var.
(prolog-mode-variables): Use them to configure SMIE.
(prolog-indent-line, prolog-indent-level): Remove.
src/bidi.c (bidi_paragraph_init): Don't leave alone garbage values
of bidi_it->paragraph_dir. Call bidi_initialize if needed.
src/xdisp.c (Fcurrent_bidi_paragraph_direction): New function.
(syms_of_xdisp): Defsubr it.
src/cmds.c (Fforward_char, Fbackward_char): Doc fix.
src/subr.el (right-arrow-command, left-arrow-command): New functions.
src/bindings.el (global-map): Bind them to right and left arrow keys.
etc/NEWS: Mention current-bidi-paragraph-direction
New custom variable.
(completion-pcm--string->pattern): Use it.
(completion-pcm--pattern->regex, completion-pcm--pattern->string):
Make it handle any symbol as `any'.
(completion-pcm--merge-completions): Extract common suffix for the new
`prefix' symbol as well.
(completion-substring--all-completions): Use the new `prefix' symbol.
* simple.el (with-wrapper-hook): Move.
(buffer-substring-filters): Mark obsolete.
(filter-buffer-substring-functions): New variable.
(buffer-substring-filters): Use it. Remove unused arg `noprops'.
* vc.el (vc-checkin, vc-modify-change-comment):
Adjust to new vc-start/finish-logentry.
(vc-find-conflicted-file): New command.
(vc-transfer-file): Adjust to new vc-checkin.
(vc-next-action): Improve scoping.
* vc-hg.el (vc-hg-log-edit-mode): Remove.
(vc-hg-checkin): Remove extra arg. Use log-edit-extract-headers.
* vc-git.el (vc-git-log-edit-mode): Remove.
(vc-git-checkin): Remove extra arg. Use log-edit-extract-headers.
(vc-git-commits-coding-system): Rename from git-commits-coding-system.
* vc-dispatcher.el (vc-log-edit): Shorten names for log-edit-show-files.
(vc-start-logentry): Remove argument `extra'.
(vc-finish-logentry): Remove extra args.
* vc-bzr.el (vc-bzr-log-edit-mode): Remove.
(vc-bzr-checkin): Remove extra arg. Use log-edit-extract-headers.
(vc-bzr-conflicted-files): New function.
* log-edit.el (log-edit-extra-flags)
(log-edit-before-checkin-process): Remove.
(log-edit-summary, log-edit-header, log-edit-unknown-header): New faces.
(log-edit-headers-alist): New var.
(log-edit-header-contents-regexp): New const.
(log-edit-match-to-eoh): New function.
(log-edit-font-lock-keywords): Use them.
(log-edit): Insert a "Summary:" header as default.
(log-edit-mode): Mark font-lock rules as case-insensitive.
(log-edit-done): Cleanup headers.
(log-view-process-buffer): Remove.
(log-edit-extract-headers): New function to replace it.
* view.el (view-file, view-buffer): Move test for special mode-class
from view-file to view-buffer.
* tar-mode.el (tar-extract): Turn if's into one cond
like in arc-mode.el.
* arc-mode.el (archive-zip-extract): Try to find 7z executable.
(archive-7z-extract): New defcustom.
(archive-find-type): Add magic string for 7z.
(archive-extract-by-stdout): Add new optional arg `stderr-file'.
If `stderr-file' is non-nil, use `(t stderr-file)' for the
`buffer' arg of `call-process'.
(archive-zip-extract): Check `archive-zip-extract' for "7z" and
call the function `archive-7z-extract' with the variable
`archive-7z-extract' let-bound to `archive-zip-extract'.
(archive-7z-summarize, archive-7z-extract): New functions.
* international/mule.el (auto-coding-alist):
* files.el (auto-mode-alist): Add 7z file extension.