Fix parallel "make install" on MS-Windows.

 nt/makefile.w32-in (install-bin): Don't copy addpm.exe here.  Use
 $(DIRNAME)_same-dir.tst instead of same-dir.tst, to avoid stepping
 on other (parallel) Make job's toes.
 (install-other-dirs-nmake, install-other-dirs-gmake): Depend on `all'.
 (install-shortcuts): Depend on $(INSTALL_DIR)/bin.  Copy addpm.exe
 here.
 (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH, dist): Depend
 on create-tmp-dist-dir.
 nt/nmake.defs (DIRNAME): New variable.
 (IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
 same-dir.tst.
 nt/gmake.defs (DIRNAME): New variable.
 (IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
 same-dir.tst, to avoid conflicts between several (parallel) Make
 jobs.
 lisp/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
 of same-dir.tst, to avoid stepping on other (parallel) Make job's
 toes.
 leim/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
 of same-dir.tst, to avoid stepping on other (parallel) Make job's
 toes.
Remove dead MSVC-specific code.

 src/w32heap.c (_heap_init, _heap_term): Remove dead MSVC-specific code.
Small edits for lispref/os.texi

* doc/lispref/os.texi (Startup Summary): Copyedits.  Fix startup screen logic.
(Init File): Copyedits.
(Command-Line Arguments): Copyedits.  Do not mention argv alias.

* lisp/startup.el (normal-top-level, command-line, command-line-1):
Give them doc strings.
More small edits for lispref/os.texi

* doc/lispref/os.texi (Killing Emacs): Copyedits.
(Suspending Emacs): Copyedits.  Mention not very relevant with GUIs.
Shorten the example, use more standard shell prompts.

* lisp/files.el (save-buffers-kill-emacs): Doc fix.
* vc/vc-git.el (vc-git-state): Avoid unnecessarily locking.
New variable selection-inhibit-update-commands, for inhibiting selection updates.

* keyboard.c (Vselection_inhibit_update_commands): New variable.
(command_loop_1): Use it; inhibit selection update for
handle-select-window too.
merge trunk
dispextern.h (struct glyph): Fix previous change.  Change the bit length of glyphless.ch to 25 (Bug#11082).
dispextern.h (struct glyph): Fix previous change.  Change the bit length of glyphless.ch to 25 (Bug#11082).
* emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more
than 197 variables.
More lispref/os.texi small edits

* doc/lispref/os.texi (System Environment): Copyedits.
Remove some examples that do not seem useful.  Mention setenv third arg.
tty-erase-char does not seem to be nil under a window-system.
(User Identification): Copyedits.
Remove some examples that do not seem useful.
* doc/lispref/processes.texi (Network Servers): Standardize apostrophe usage.
* lisp/startup.el (mail-host-address): Doc fix.
Small doc and elisp manual fixes related to searching 

* doc/lispref/searching.texi (String Search): Add xref to Emacs manual.
Copyedits.  Mention the function word-search-regexp.
(Searching and Case): Add xref to Emacs manual.  Copyedits.

* src/search.c (Fword_search_backward_lax, Fword_search_forward_lax):
Doc fixes.
Optionally avoid that switching to previous or next buffer shows that buffer twice.

* window.el (switch-to-visible-buffer): New option.
(switch-to-prev-buffer, switch-to-next-buffer): Observe
switch-to-visible-buffer.  Make sure that checking for a window
showing a buffer already is done on the same frame.

* windows.texi (Window History): Describe new option
switch-to-visible-buffer.
NEWS pedantry
* lisp/emacs-lisp/avl-tree.el (avl-tree--enter-balance): Fix paren typo.
(avl-tree--check, avl-tree--check-node): New funs.
Spelling fixes.
lispref/searching.tex small edits

* doc/lispref/searching.texi (Regular Expressions, Regexp Special):
(Regexp Backslash, Regexp Example): Copyedits.
(Regexp Special): Mention collation.
Clarify char classes with an example.
Comment