* src/frame.c (Fhandle_switch_frame): Deactivate shift-region (bug#19003).
* lisp/window.el (handle-select-window): Deactivate shift-region.
Fix DocView slicing docs

* doc/emacs/misc.texi (DocView Slicing): Describe how to slice with the
mouse.  Fix command mentioned by slice by BoundingBox paragraph.
(Bug#18040)
Fix indentation before `!=' and after `+='

Originally reported in https://github.com/mooz/js2-mode/issues/174.
* lisp/progmodes/js.el (js--indent-operator-re): Make assignments and
(in)equality operator a separate case.
(js--continued-expression-p): Escape the second `+' in the regexp.
Prevent resizing the echo area when iPython is enabled

Fixes: debbugs:18794

* lisp/progmodes/python.el (python-eldoc--get-doc-at-point): Strip
shell output before returning.
Simplify and fix doc-related .gitignore files.

This fixes some unwanted 'git status' output after 'make docs'.
* .gitignore: Add **/Makefile, **/makefile.
Remove Makefile, makefile.
Add doc/*/*.xxx rules for the usual kinds of documentation outputs
and temporaries.  Add doc/misc/cc-mode.ss.
* doc/emacs/.gitignore, doc/lispref/.gitignore, doc/misc/.gitignore:
* lwlib/.gitignore, oldXMenu/.gitignore:
Remove, as these .gitignore files are no longer needed.
* doc/lispintro/.gitignore: Replace with list of exceptional PDF files.
Restore 'Bug#' -> 'debbugs:' rewrite in log-edit-mode.

* .dir-locals.el (log-edit-mode): Restore the (log-edit-rewrite-fixes
"[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1").  See Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg01187.html
Don't assume "bzr log" uses --long format by default.

 lisp/vc/vc-bzr.el (vc-bzr-print-log, vc-bzr-expanded-log-entry):
 Don't assume --long is the default for "bzr log", always specify
 it explicitly, in case the user defined an alias for 'log' that
 uses some other format.
Define MINGW_W64 and use it instead of _W64

... for detecting MinGW-w64. _W64 is not specific of MinGW-w64, it is
defined for compatibility with MS VC++.

	* nt/inc/ms-w32.h: Define MINGW_W64.

	* admin/CPP-DEFINES: Mention MINGW_W64.

	* nt/addpm.c: Use it.

	* nt/addsection.c: Use it.

	* nt/preprep.c: Use it.

	* src/w32.c: Use MINGW_W64 instead of _W64

	* src/w32term.c: Likewise.
.gitignore cleanup.

* .gitignore: Merge contents of subsidiary files and organize the
result so as to avoid duplication.  Remove no-longer needed entries.
* admin/charsets/.gitignore, admin/unidata/.gitignore:
* doc/lispintro/.gitignore, etc/.gitignore, leim/.gitignore:
* leim/ja-dic/.gitignore, lib-src/.gitignore, lisp/.gitignore:
* lisp/calc/.gitignore, lisp/calendar/.gitignore:
* lisp/cedet/.gitignore, lisp/emulation/.gitignore:
* lisp/erc/.gitignore, lisp/eshell/.gitignore, lisp/gnus/.gitignore:
* lisp/international/.gitignore, lisp/language/.gitignore:
* lisp/leim/.gitignore, lisp/leim/quail/.gitignore:
* lisp/mail/.gitignore, lisp/mh-e/.gitignore, lisp/net/.gitignore:
* lisp/nxml/.gitignore, lisp/obsolete/.gitignore:
* lisp/play/.gitignore, lisp/progmodes/.gitignore:
* lisp/term/.gitignore, lisp/textmodes/.gitignore:
* lisp/url/.gitignore, nt/.gitignore, src/.gitignore:
Remove; no longer needed.
* .gitignore: Add some nextstep/mac ignorables.
* .gitignore: Add /emacs-[1-9]*/, and sort better.
Fix VC documentation related to switching branches.

 lisp/vc/vc.el (vc-retrieve-tag): Doc fix.

 doc/emacs/maintaining.texi (Switching Branches): Mention "C-x v r".
 Correct commands for switching branches in various VCSs.
.gitignore: Resurrect Windows-specific ignorables lost in last changes.
Lessen focus on ChangeLog files, as opposed to change log entries.

This is in preparation for generating the former automatically
from the latter.
* admin/notes/bugtracker, admin/notes/copyright, admin/notes/newfile:
ChangeLog -> change log
* admin/notes/changelogs: Remove, merging old contents to ...
* admin/notes/repo: ... here.
* doc/emacs/maintaining.texi (Change Log): Mention that ChangeLog files may
be copied to or from a version control system.
* doc/emacs/trouble.texi (Sending Patches): Point to the commit messages.
* doc/lispref/intro.texi (Acknowledgments): ChangeLog file -> change log entries.
* doc/lispref/tips.texi (Library Headers): Emacs uses a version control system.
* etc/CONTRIBUTE: Give advice about git commit messages and how
to generate proposed patches containing them.
Improve XEmacs compatibility.

* net/tramp.el (tramp-autoload-file-name-handler):
Wrap `temporary-file-directory' by `symbol-value', it doesn't exist in XEmacs.
(tramp-read-passwd): Don't use `with-timeout-suspend' and
`with-timeout-unsuspend' if they don't exist, like in XEmacs.
(tramp-time-less-p, tramp-time-subtract): Remove functions.
(tramp-handle-file-newer-than-file-p, tramp-time-diff):
* net/ttramp-adb.el (tramp-adb-ls-output-time-less-p):
* net/ttramp-cache.el (tramp-get-file-property):
* net/ttramp-smb.el (tramp-smb-handle-insert-directory):
Use `time-less-p' and `time-subtract, respectively.
Fix typo in ChangeLog.
Add a.out to .gitignore.

Suggested by Lee Duhem in:
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg01665.html
* .gitignore: Add a.out.
Move *.log next to *.tmp, since it's generic.
Put *.exe before non-generics.
Add src/_gdbinit to .gitignore.

 .gitignore: Add back src/_gdbinit, which is a temporary file
 created by the MS-DOS build.
Use correct encoding to communicate with Git.

 lisp/vc/vc-git.el (vc-git-command, vc-git--call): Bind
 coding-system-for-read and coding-system-for-write to
 vc-git-commits-coding-system.
Use "~1" instead of "^" in vc-git.el to specify the parent of a Git commit.

 lisp/vc/vc-git.el (vc-git-previous-revision): Use "~1" instead of
 "^", since the latter is a special character for MS-Windows system
 shells.