Fix bug #11959 with startup warnings on MS-Windows about ../site-lisp.

 src/w32.c (init_environment): Change the default values of many
 environment variables in dflt_envvars[] to NULL, to avoid pushing
 them into environment when they were not already defined.  Remove
 the code that deletes site-lisp subdirectories from the default
 value of EMACSLOADPATH, as it is no longer needed.
 (check_windows_init_file): Now external, not static.  Use
 Vload_path as is, without adding anything, as this function is now
 called when Vload_path is already set up.
 src/w32.h (check_windows_init_file): Add prototype.
 src/emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build
 directory, ignore the /*/i386/ tail in Vinvocation_directory, for
 compatibility with Posix platforms.
 (main): Move the call to check_windows_init_file to here from
 w32.c.
 (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if
 any, in the DEFALT argument into the root of the Emacs build or
 installation tree, as appropriate.
 src/callproc.c (init_callproc_1): Call decode_env_path instead of
 doing its equivalent by hand.
 (init_callproc): Replace DOS_NT condition with MSDOS, thus letting
 the code that sets Vexec_path run on MS-Windows.
 src/lread.c (init_lread): Add comments to #ifdef's.

 nt/paths.h (PATH_LOADSEARCH, PATH_SITELOADSEARCH, PATH_EXEC)
 (PATH_DATA, PATH_DOC): Replace dummy directory names with
 directories relative to %emacs_dir%.
 (PATH_EXEC): Add lib-src/oo-spd/i386 and lib-src/oo/i386, to cater
 to the use case of running un-installed Emacs.
Doc fixes and improvements for syntax tables.

* src/syntax.c (Fmodify_syntax_entry): Doc fix.

* doc/lispref/syntax.texi (Syntax Basics): Rearrange the text for clarity.
Fix description of syntax table inheritance.
(Syntax Table Functions): Don't refer to internal contents of
syntax table, since that is not explained yet.  Copyedits.
(Standard Syntax Tables): Node deleted.
(Syntax Table Internals): Misc clarifications.  Improve table
formatting.

* doc/lispref/keymaps.texi (Inheritance and Keymaps):
* doc/lispref/text.texi (Sticky Properties): Tweak index entry.
Fix compilation --with-x-toolkit=no.

 stc/xfns.c (x_set_menu_bar_lines): Fix compilation error in
 --with-x-toolkit=no builds by using FVAR.
 Reported by Carsten Mattner <carstenmattner@gmail.com>.
TODO trivia
* lisp/isearch.el: Misc simplification; use defstruct.
(isearch-mode-map): Dense maps now work like sparse ones.
(isearch--state): New defstruct.
(isearch-string-state, isearch-message-state, isearch-point-state)
(isearch-success-state, isearch-forward-state)
(isearch-other-end-state, isearch-word-state, isearch-error-state)
(isearch-wrapped-state, isearch-barrier-state)
(isearch-case-fold-search-state, isearch-pop-fun-state): Remove,
replaced by defstruct's accessors.
(isearch--set-state): Rename from isearch-top-state and change
calling convention.
(isearch-push-state): Use new isearch--get-state.
(isearch-toggle-word): Disable regexp when enabling word.
(isearch-message-prefix): Remove unused arg _c-q-hack.
(isearch-message-suffix): Remove unused arg _ellipsis.
* files.el (set-auto-mode): Fix invalid setq call.
* fringe.el: Docstring and minor code improvements.
(fringe-styles): Add docstring.
(fringe--check-style): New function.
(set-fringe-mode, set-fringe-style): Use it.
(fringe-mode, set-fringe-style): Doc fixes.
* wdired.el (wdired-mode, wdired-change-to-wdired-mode): Doc fixes.
* configure.ac: Disable paxctl if binaries don't have a PT_PAX_FLAGS header.
* lisp/eshell/esh-ext.el (eshell/addpath): Also update eshell-path-env.
Docfix for kill-buffer-hook and others.

* lisp/files.el (kill-buffer-hook): Provide a defvar.

* src/term.c (Vsuspend_tty_functions, Vresume_tty_functions):
* src/frame.c (Vdelete_frame_functions):
* src/emacs.c (Vkill_emacs_hook): Doc fix.
Improvements to local-variable reporting in `describe-variable'.

* lisp/help-fns.el (describe-variable): Add hyperlink for
directory-local variables files.  Improve buffer-local and
permanent-local reporting; suggested by MON KEY.

* lisp/help-mode.el (help-dir-local-var-def): New button type.
Add declares for viper-deflocalvar and viper-loop.

* lisp/emulation/viper-init.el (viper-deflocalvar): Add docstring and
indentation declaration.
(viper-loop): Add indentation declaration.
Mark last change as tiny.
Manual fixes for frame-background-mode.

* doc/custom.texi (Face Customization): Move discussion of face
inheritance here, from Faces section.

* doc/display.texi (Faces): Document frame-background-mode.

* doc/lispref/display.texi (Defining Faces): Move documentation of
frame-background-mode to the Emacs manual (Bug#7774).
Auto-commit of generated files.
* INSTALL: Explain, how to disable D-Bus at all.  (Bug#12112)
* search.c (Freplace_match): Treat \? in the replacement text literally.
In Imenu, don't show defvars with no second argument.

* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Don't
show defvars which have no second argument.

* lisp/imenu.el (imenu-generic-expression): Move documentation here
from imenu--generic-function.
(imenu--generic-function): Refer to imenu-generic-expression.
Tweak proced docstring to trigger autoloading.

* lisp/proced.el (proced): Add substitution string to docstring to
trigger autoloading of the proced library on C-h f.