From: Nicolas Petton <nicolas@petton.fr>
Date: Thu, 5 Oct 2017 21:18:23 +0000 (+0200)
Subject: ; Update ChangeLog.3
X-Git-Tag: emacs-26.0.90~45^2~20
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=16dc580aa61832285269f8de081248bac618cf84;p=emacs.git

; Update ChangeLog.3
---

diff --git a/ChangeLog.3 b/ChangeLog.3
index c65cf94a3f4..33d04f74ec5 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -1,3 +1,28147 @@
+2017-10-05  Nicolas Petton  <nicolas@petton.fr>
+
+	Update authors.el
+
+	* admin/authors.el (authors-renamed-files-alist)
+	(authors-valid-file-names): Additions.
+
+2017-10-05  Gemini Lasswell  <gazally@runbox.com>
+
+	Fix dynamic binding wrapper in iter-lambda (bug#25965)
+
+	* lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
+	Remove extra evaluation of form.
+	* test/lisp/emacs-lisp/generator-tests.el
+	(cps-iter-lambda-with-dynamic-binding): New test.
+
+2017-10-05  Rasmus  <rasmus@gmx.us>
+
+	Update Org to v9.1.2
+
+	Please note this is a bugfix release.  See etc/ORG-NEWS for details.
+
+2017-10-05  Alan Mackenzie  <acm@muc.de>
+
+	Fix irregularities with CC Mode fontification, particularly with "known types"
+
+	* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
+	optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
+	type.
+	(c-font-lock-single-decl): New variable template-class, set to non-nil when we
+	have a construct like the above.  Pass this as argument to
+	c-font-lock-declarators.
+	(c-font-lock-cut-off-declarators): Check more rigorously that a declaration
+	being processed starts before the function's starting position.
+	(c-complex-decl-matchers): Remove the redundant clause which fontified "types
+	preceded by, e.g., "struct"".
+
+	* lisp/progmodes/cc-langs.el (c-template-typename-kwds)
+	(c-template-typename-key): New lang defconsts and defvar.
+
+2017-10-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix breakage due to recent change in tabulated-list-print-entry
+
+	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
+	Update the doc string.
+	(tabulated-list-print-entry): Revert to using only 2 arguments.
+	Update the doc string.
+	(tabulated-list-entry-lnum-width): New defvar.
+	(tabulated-list-print): Compute the width of line-number display
+	once, then store that value in tabulated-list-entry-lnum-width,
+	for tabulated-list-printer to use.  (Bug#28704)
+
+2017-10-05  Gemini Lasswell  <gazally@runbox.com>
+
+	* lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
+
+2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
+
+	Set xterm click count to 1 even with no last click
+
+	* lisp/xt-mouse.el (xterm-mouse-event): Move the check for
+	the last click so that click-count is initialized properly.
+	Handle the value of t for double-click-time.
+	(Bug#28658)
+
+2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
+
+	Support indirection for all shr-tag-* calls
+
+	The 'shr-external-rendering-functions' variable was previously only
+	honored in the shr-descend function, now all direct calls to the
+	shr-tag-* functions have been replaced by a call to
+	'shr-indirect-call' which tries using an alternative rendering
+	function first.
+
+	* lisp/net/shr.el (shr-indirect-call): New helper function.
+	(shr-descend, shr-tag-object, shr-tag-video):
+	(shr-collect-extra-strings-in-table): Fix callers to call via
+	shr-indirect-call.  (Bug#28402)
+
+2017-10-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Speed up list-packages when 'visual' line numbers are displayed
+
+	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
+	Update the doc string.
+	(tabulated-list-print-entry): Accept an additional optional
+	argument INDENT.  Update the doc string.
+	(tabulated-list-print): Compute the width of line-number display
+	once, then call tabulated-list-printer with that value as 3rd
+	argument.  (Bug#28704)
+
+2017-10-05  João Távora  <joaotavora@gmail.com>
+
+	Misc. minor adjustments to Flymake
+
+	- Add a half-decent minor-mode menu;
+	- Fix "waiting for backends" mode line message;
+	- Adjust the flymake-diag-region API;
+	- Autoload the flymake-log macro;
+	- Auto-disable the legacy backend in more situations;
+	- Fix a couple of warnings in legacy backend.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--diagnostics-for-pattern): Use new
+	flymake-diag-region.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc-legacy-flymake): Do error when no
+	buffer-file-name or not writable.
+	(flymake-proc-legacy-flymake)
+	(flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
+
+	* lisp/progmodes/flymake.el (flymake-diag-region):
+	Autoload.  Take buffer as first argument.
+
+	* lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
+	New command.
+	(flymake-menu): Add a simple menu.
+	(flymake--mode-line-format): Use menu.  Fix message.  Switch to
+	log buffer when clicking exceptional warnings.
+
+2017-10-05  Johan Bockgård  <bojohan@gnu.org>
+
+	Fix search for ~/.Xdefaults-HOSTNAME
+
+	* src/xrdb.c (get_environ_db): Fix typo when handling
+	~/.Xdefaults-HOSTNAME (Bug#28708).
+
+2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Speed up (format "%s" STRING) and the like
+
+	Although the Lisp manual said that ‘format’ returns a
+	newly-allocated string, this was not true for a few cases like
+	(format "%s" ""), and fixing the documentation to allow reuse of
+	arguments lets us improve performance in common cases like
+	(format "foo") and (format "%s" "foo") (Bug#28625).
+	* doc/lispref/strings.texi (Formatting Strings):
+	* etc/NEWS:
+	Say that the result of ‘format’ might not be newly allocated.
+	* src/callint.c (Fcall_interactively):
+	* src/dbusbind.c (XD_OBJECT_TO_STRING):
+	* src/editfns.c (Fmessage, Fmessage_box):
+	* src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
+	Just use Fformat or Fformat_message, as that’s simpler and no
+	longer makes unnecessary copies.
+	* src/editfns.c (styled_format): Remove last argument, as it
+	is no longer needed: all callers now want it to behave as if it
+	were true.  All remaining callers changed.  Make this function
+	static again.  Simplify the function now that we no longer
+	need to worry about whether the optimization is allowed.
+
+2017-10-04  Alan Mackenzie  <acm@muc.de>
+
+	Fontify untyped function declarations in C Mode correctly.
+
+	Also correct two bugs where deleting WS at a BOL could leave an untyped
+	function declaration unfontified.
+
+	* lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
+	"top-level" when we're in a macro.
+	(c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
+	Mode as a implicitly typed function declaration.
+	(c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
+	macro.  It's not a function plus arglist.
+
+	* lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
+	defvar.
+
+	* lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
+	over any following parenthesis expression (i.e. parameter list).
+	(c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
+	the returned region, to cope with deletions at column 0.
+
+2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
+
+	Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
+
+2017-10-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid crashes on C-g when several threads wait for input
+
+	* src/thread.h (m_getcjmp): New member of 'struct thread_state'.
+	(getcjmp): Define to current thread's 'm_getcjmp'.
+	* src/thread.c (maybe_reacquire_global_lock): Switch to main
+	thread, since this is called from a SIGINT handler, which always
+	runs in the context of the main thread.
+	* src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
+	definitions before thread.h is included, as thread.h now uses
+	sys_jmp_buf.
+	* src/keyboard.c (getcjmp): Remove declaration.
+	(read_char): Don't call maybe_reacquire_global_lock here.
+	(handle_interrupt): Call maybe_reacquire_global_lock here, if
+	invoked from the SIGINT handler, to make sure
+	quit_throw_to_read_char runs with main thread's Lisp bindings and
+	uses the main thread's jmp_buf buffer.  (Bug#28630)
+
+2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Warn if --without-pop is now the default
+
+	* configure.ac (with_pop): Set to no-by-default if defaulting to "no".
+	Warn about the change if defaulting to "no".  Update URLs.
+
+2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	--with-pop is now the default only on MS-Windows
+
+	Problem reported by N. Jackson (Bug#28597).
+	This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
+	* INSTALL, configure.ac, etc/NEWS:
+	Make --with-pop the default only on native MS-Windows.
+
+2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add support for `file-system-info' in Tramp
+
+	* lisp/net/tramp.el (tramp-file-name-for-operation):
+	Add `file-system-info'.
+
+	* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
+	(tramp-adb-file-name-handler-alist): Use it.
+
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
+	(tramp-gvfs-file-system-attributes-regexp): New defconst.
+	(tramp-gvfs-handle-file-system-info): New defun.
+	(tramp-gvfs-file-name-handler-alist): Use it.
+	(tramp-gvfs-get-directory-attributes): Fix property name.
+	(tramp-gvfs-get-root-attributes): Support also file system attributes.
+
+	* lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
+	(tramp-sh-file-name-handler-alist): Use it.
+	(tramp-sh-handle-insert-directory): Insert size information.
+	(tramp-get-remote-df): New defun.
+
+	* lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
+	(tramp-smb-file-name-handler-alist): Use it.
+	(tramp-smb-handle-insert-directory): Insert size information.
+
+	* test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
+	New test.
+	(tramp-test38-asynchronous-requests)
+	(tramp-test39-recursive-load, tramp-test40-remote-load-path)
+	(tramp-test41-unload): Rename.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Start rewriting Flymake manual
+
+	Missing the parts pertaining to the new customization API.
+
+	* doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
+	(Installing Flymake): Delete most of this.
+	(Running the syntax check): Mention flymake-start.
+	(Navigating to error lines): Rewrite.
+	(Viewing error messages): Commente out.
+	(Syntax check statuses, Troubleshooting): Rewrite a bit.
+	(Customizable variables): New section under "Using
+	Flymake".  Don't mention any proc variables here.
+	(Configuring Flymake): Delete
+	(Proc backend): New chapter
+	(Proc customization variables): New chapter.
+
+	* doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
+	(Installing Flymake): Mostly scratch. Flymake comes with Emacs.
+	(Running the syntax check): Simplify.
+	(Viewing error messages): Dekete,
+	(Syntax check statuses): Rewrite.
+	(Troubleshooting): Simplify.
+	(Customizable variables): Rewrite.
+	(Extending Flymake): New chapter, empty for now.
+	(The legacy Proc backend): New chapter.
+	(Proc customizable variables)
+	(Adding support for a new syntax check tool)
+	(Implementation overview)
+	(Making a temporary copy)
+	(Locating a master file)
+	(Getting the include directories)
+	(Locating the buildfile)
+	(Starting the syntax check process)
+	(Parsing the output)
+	(Interaction with other modes)
+	(Example---Configuring a tool called via make)
+	(Example---Configuring a tool called directly): Rewrite a bit.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Minimal tweak as an attempt to future-proof Flymake API
+
+	Discussed with Stefan that this should allow Flymake to request more
+	from backends in the future, while also allowing backends to report
+	more accurately.
+
+	* lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
+	(elisp-flymake-byte-compile): Adjust to new API.
+
+	* lisp/progmodes/flymake-proc.el ()
+	(flymake-proc-legacy-flymake): Adjust to new API.
+
+	* lisp/progmodes/flymake.el (flymake-diagnostic-functions):
+	Review API again.
+	(flymake--handle-report): Allow other keys.  Change ACTION to
+	REPORT-ACTION.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Integrate Flymake elisp checkers into elisp-mode.el directly
+
+	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
+	elisp-flymake-checkdoc and elisp-flymake-byte-compile.
+	(elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
+	(elisp-flymake--byte-compile-done)
+	(elisp-flymake--byte-compile-process)
+	(elisp-flymake-byte-compile): Rename from flymake-elisp
+	counterparts in deleted flymake-elisp.el
+	(elisp-flymake--batch-compile-for-flymake): New helper.
+	(checkdoc-create-error-function)
+	(checkdoc-autofix-flag)
+	(checkdoc-generate-compile-warnings-flag)
+	(checkdoc-diagnostic-buffer): Forward declare.
+
+	* lisp/progmodes/flymake-elisp.el: Delete.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Hook Flymake onto proper checkdoc and byte-compile interfaces
+
+	The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
+	with little knowledge of actual internals or thought given to the
+	usefulness of said interfaces in contexts other than Flymake's.
+
+	* lisp/emacs-lisp/bytecomp.el
+	(byte-compile-log-warning-function): New variable.
+	(byte-compile-log-warning): Use it.
+	(byte-compile--log-warning-for-byte-compile): New function.
+
+	* lisp/emacs-lisp/checkdoc.el
+	(checkdoc-create-error-function): New variable.
+	(checkdoc-create-error): Use it.
+	(checkdoc--create-error-for-checkdoc): New function.xo
+
+	* lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
+	Use checkdoc-create-error-function.
+	(flymake-elisp--batch-byte-compile): Use
+	byte-compile-log-warning-function.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Tweak Flymake autoloads and dependencies
+
+	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
+	flymake-diagnostic-functions here.
+
+	* lisp/progmodes/flymake-elisp.el[top]: Don't add to
+	emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
+	every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
+	Autoload.  (flymake-elisp-setup-backends): Remove.
+
+	* lisp/progmodes/flymake.el: Add some top-level comments.
+	(flymake-make-diagnostic)
+	(flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
+
+	Where to fixup this shit?
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Capitalize "Flymake" in docstrings and comments
+
+	* lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
+	(flymake-elisp-setup-backends): Capitalize "Flymake"
+
+	* lisp/progmodes/flymake-proc.el:
+	(flymake-proc-reformat-err-line-patterns-from-compile-el)
+	(flymake-proc--panic, flymake-proc-legacy-flymake)
+	(flymake-start-syntax-check, flymake-proc-compile)
+	(define-obsolete-variable-alias): Capitalize "Flymake"
+
+	* lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
+	(flymake-make-diagnostic, flymake-delete-own-overlays)
+	(flymake-diagnostic-functions)
+	(flymake-diagnostic-types-alist, flymake-is-running)
+	(flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
+	(flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake backends can report multiple times per check
+
+	Rewrote a significant part of the Flymake backend API.  Flymake now
+	ignores the return value of backend functions: a function can either
+	returns or errors.  If it doesn't error, a backend is no longer
+	constrained to call REPORT-FN exactly once.  It may do so any number
+	of times, cumulatively reporting diagnostics.  Flymake keeps track of
+	outdated REPORT-FN instances and disconsiders obsolete reports.
+	Backends should avoid reporting obsolete data by cancelling any
+	ongoing processing at every renewed call to the backend function.
+
+	Consolidated flymake.el internal data structures to require less
+	buffer-local variables.  Adjusted Flymake's mode-line indicator to the
+	new semantics.
+
+	Adapted and simplified the implementation of elisp and legacy
+	backends, fixing potential race conditions when calling backends in
+	rapid succession.
+
+	Added a new test for a backend that calls REPORT-FN multiple
+	times.  Simplify test infrastructure.
+
+	* lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
+	(flymake-elisp-byte-compile): Error instead of returning nil
+	if not in emacs-lisp-mode.
+	(flymake-elisp--byte-compile-process): New buffer-local variable.
+	(flymake-elisp-byte-compile): Mark (and kill) previous process
+	obsolete process before starting a new one.  Don't report if
+	obsolete process.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--current-process): New buffer-local variable.
+	(flymake-proc--processes): Remove.
+	(flymake-proc--process-filter): Don't bind
+	flymake-proc--report-fn.
+	(flymake-proc--process-sentinel): Rewrite.  Don't report if
+	obsolete process.
+	(flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
+	previous process obsolete process before starting a new
+	one.  Integrate flymake-proc--start-syntax-check-process
+	helper.
+	(flymake-proc--start-syntax-check-process): Delete.
+	(flymake-proc-stop-all-syntax-checks): Don't use
+	flymake-proc--processes, iterate buffers.
+	(flymake-proc-compile):
+
+	* lisp/progmodes/flymake.el (subr-x): Require it
+	explicitly.
+	(flymake-diagnostic-functions): Reword docstring.
+	(flymake--running-backends, flymake--disabled-backends)
+	(flymake--diagnostics-table): Delete.
+	(flymake--backend-state): New buffer-local variable and new defstruct.
+	(flymake--with-backend-state, flymake--collect)
+	(flymake-running-backends, flymake-disabled-backends)
+	(flymake-reporting-backends): New helpers.
+	(flymake-is-running): Use flymake-running-backends.
+	(flymake--handle-report): Rewrite.
+	(flymake-make-report-fn): Ensure REPORT-FN runs in the correct
+	buffer or not at all.
+	(flymake--disable-backend, flymake--run-backend): Rewrite.
+	(flymake-start): Rewrite.
+	(flymake-mode): Set flymake--backend-state.
+	(flymake--mode-line-format): Rewrite.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(flymake-tests--wait-for-backends): New helper.
+	(flymake-tests--call-with-fixture): Use it.
+	(included-c-header-files): Fix whitespace.
+	(flymake-tests--diagnose-words): New helper.
+	(dummy-backends): Rewrite for new semantics.  Use cl-letf.
+	(flymake-tests--assert-set): Use quote.
+	(recurrent-backend): New test.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake uses proper idle timers
+
+	Also, flymake-no-changes-timeout can be set to nil to disable
+	automatic periodic checks.  But even in that situation the idle timer
+	still runs at a reduced rate to detect changes in the variable and
+	revert that decision.
+
+	* lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
+	(flymake-last-change-time): Delete.
+	(flymake--schedule-timer-maybe): New helper.
+	(flymake-after-change-function): Use it.
+	(flymake-on-timer-event): Delete
+	(flymake-mode): Don't scheduler timer.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake variable flymake-diagnostic-functions now a special hook
+
+	* lisp/progmodes/flymake-proc.el: Use add-hook to affect
+	flymake-diagnostic-functions.
+
+	* lisp/progmodes/flymake-elisp.el
+	(flymake-elisp-setup-backends): Use add-hook.
+
+	* lisp/progmodes/flymake.el (flymake-diagnostic-functions):
+	Revise docstring.
+	(flymake-start): Use run-hook-wrapped.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Batch of minor Flymake cleanup actions agreed to with Stefan
+
+	Discussed with Stefan, in no particular order
+
+	- Remove aliases for symbols thought to be internal to flymake-proc.el
+	- Don’t need :group in defcustom and defface in flymake.el
+	- Fix docstring of flymake-make-diagnostic
+	- Fix docstring of flymake-diagnostic-functions to clarify keywords.
+	- Mark overlays with just the property ’flymake, not ’flymake-overlay
+	- Tune flymake-overlays for performance
+	- Make flymake-mode-on and flymake-mode-off obsolete
+	- Don’t use hash-table-keys unless necessary.
+	- Copyright notice in flymake-elisp.
+
+	Added some more
+
+	- Clarify docstring of flymake-goto-next-error
+	- Clarify a comment in flymake--run-backend complaining about ert-deftest.
+	- Prevent compilation warnings in flymake-proc.el
+	- Remove doctring from obsolete aliases
+
+	Now the changelog:
+
+	* lisp/progmodes/flymake-elisp.el: Proper copyright notice.
+
+	* lisp/progmodes/flymake-proc.el (flymake-warning-re)
+	(flymake-proc-diagnostic-type-pred)
+	(flymake-proc-default-guess)
+	(flymake-proc--get-file-name-mode-and-masks): Move up to
+	beginning of file to shoosh compiler warnings
+	(define-obsolete-variable-alias): Delete many obsolete aliases.
+
+	* lisp/progmodes/flymake.el (flymake-error-bitmap)
+	(flymake-warning-bitmap, flymake-note-bitmap)
+	(flymake-fringe-indicator-position)
+	(flymake-start-syntax-check-on-newline)
+	(flymake-no-changes-timeout, flymake-gui-warnings-enabled)
+	(flymake-start-syntax-check-on-find-file, flymake-log-level)
+	(flymake-wrap-around, flymake-error, flymake-warning)
+	(flymake-note): Don't need :group in these defcustom and defface.
+	(flymake--run-backend): Clarify comment
+	(flymake-mode-map): Remove.
+	(flymake-make-diagnostic): Fix docstring.
+	(flymake--highlight-line, flymake--overlays): Identify flymake
+	overlays with just ’flymake.
+	(flymake--overlays): Reverse order of invocation for
+	cl-remove-if-not and cl-sort.
+	(flymake-mode-on)
+	(flymake-mode-off): Make obsolete.
+	(flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
+	(flymake-diagnostic-functions): Clarify keyword arguments in
+	docstring.
+
+	Maybe squash in that one where I remove many obsoletes
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Explicitly add a(n empty) keymap for Flymake
+
+	Too early to decide what will be in it, if anything.  Though "M-n" and
+	"M-p" would be great.
+
+	* lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake uses some new fringe bitmaps
+
+	Also fix behaviour whereby flymake wouldn't react to a change in the
+	variable.
+
+	* lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
+	(flymake-warning-bitmap): Update bitmaps.
+	(flymake-note-bitmap): New defcustom.
+	(flymake-double-exclamation-mark): New bitmap.
+	(flymake-error, flymake-warning, flymake-note)
+	(flymake--highlight-line): 'bitmap property must be a symbol.
+	Also set default face to flymake-error.
+	(flymake--fringe-overlay-spec): Bitmap property can be a
+	variable symbol.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Remove old flymake-display-err-menu-for-current-line, it's useless
+
+	See https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00949.html
+
+	* lisp/progmodes/flymake-ui.el
+	(flymake-popup-current-error-menu): Remove.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Treat Flymake errors as just another type of diagnostic
+
+	* lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
+	(flymake--handle-report, flymake-popup-current-error-menu):
+	Don't use it.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Fix three Flymake bugs when checking C header files
+
+	The first of these problems is longstanding: if an error-less B.h is
+	included from error-ridden A.h, flymake's legacy parser will panic
+	(and disable itself) since it sees a non-zero exit for a clean file.
+	To fix this, recommend returning 'true' in the documentation for the
+	check-syntax target.
+
+	Another problem was introduced by the parser rewrite.  For error
+	patterns spanning more than one line, point may be left in the middle
+	of a line and thus render other patterns useless.  Those patterns were
+	written for the old line-by-line parser.  To make them useful again,
+	move to the beginning of line in those situations.
+
+	The third problem was also longstanding and happened on newer GCC's:
+	The "In file included from" prefix confused
+	flymake-proc-get-real-file-name.  Fix this.
+
+	Also updated flymake--diag-region to fallback to highlighting a full
+	line less often.
+
+	Add automatic tests to check this.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--diagnostics-for-pattern): Fix bug when patterns
+	accidentally spans more than one line.  Don't create
+	diagnostics without error messages.
+	(flymake-proc-real-file-name-considering-includes): New
+	helper.
+	(flymake-proc-allowed-file-name-masks): Use it.
+
+	* lisp/progmodes/flymake.el (flymake-diag-region): Make COL
+	argument explicitly optional.  Only fall back to full line in extreme
+	cases.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(included-c-header-files): New test.
+	(different-diagnostic-types): Update.
+
+	* test/lisp/progmodes/flymake-resources/Makefile
+	(check-syntax): Always return success (0) error code.
+	(CC_OPTS): Add -Wextra
+
+	* test/lisp/progmodes/flymake-resources/errors-and-warnings.c
+	(main): Rewrite comments.
+
+	* test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
+	Include some dummy header files.
+
+	* test/lisp/progmodes/flymake-resources/no-problems.h: New file.
+
+	* test/lisp/progmodes/flymake-resources/some-problems.h: New file.
+
+	* doc/misc/flymake.texi (Example---Configuring a tool called
+	via make): Recommend adding "|| true" to the check-syntax target.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Add interactive flymake-start function
+
+	* lisp/progmodes/flymake.el (flymake-on-timer-event)
+	(flymake-after-change-function, flymake-mode): Call
+	flymake-start.
+	(flymake-start): Rename from flymake--start-syntax-check.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	A couple of Flymake backends for emacs-lisp-mode
+
+	Loading flymake-elisp.el doesn't setup flymake-mode to turn on
+	automatically, but it affects emacs-lisp-mode-hook so that
+	flymake-diagnostic-functions is setup with a suitable buffer-local
+	value.  The variable flymake-diagnostic-funtions in every live
+	emacs-lisp-mode buffer is also adjusted.
+
+	* lisp/progmodes/flymake.el (top): Require flymake-elisp.
+
+	* lisp/progmodes/flymake-elisp.el: New file.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Fancy Flymake mode-line construct displays status
+
+	Imitates compilation-mode's mode-line a bit, and uses its faces.
+
+	* lisp/progmodes/flymake.el
+	(flymake-error, flymake-warning, flymake-note): Add
+	mode-line-face to these flymake error types.
+	(flymake-note): Notes don't need a noisy fringe bitmap.
+	(flymake-lighter): Delete.
+	(flymake--update-lighter): Delete.
+	(flymake--mode-line-format): New function and variable.
+	(flymake--diagnostics-table): New buffer-local variable.
+	(flymake--handle-report): Don't update "lighters".  Affect
+	flymake--diagnostics-table.
+	(flymake--run-backend): Init flymake--diagnostics-table for backend.
+	(flymake-mode): Use flymake--mode-line-format.
+	(flymake-mode): Don't update lighter.
+	(flymake--highlight-line): Be more careful when overriding a
+	nil default overlay property.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Tweak Flymake commands flymake-goto-[next/prev]-error
+
+	Add filters, useful for backends like the upcoming
+	flymake-elisp-checkdoc backend, for example, which litters everything
+	with low-priority notes.
+
+	Also re-implement wraparound for flymake-goto-next-error. Manual
+	mentions this, so it's probably a good idea to keep it.  Added a new
+	customization variable flymake-wrap-around to control it.
+
+	* lisp/progmodes/flymake.el (flymake-goto-prev-error)
+	(flymake-goto-next-error): Accept FILTER argument.
+	(flymake-wrap-around): New variable.
+	(flymake-goto-next-error): Wrap around according to flymake-wrap-around.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(different-diagnostic-types, dummy-backends): Pass FILTER to
+	flymake-goto-prev-error.
+	(different-diagnostic-types)
+	(dummy-backends): Use flymake-wrap-around.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake's flymake-proc.el backend slightly easier to debug
+
+	Misc cleanup in flymake-proc.el
+
+	Improve description of what this file contains.
+
+	Better name for the backend function.  Fix the case where it is run
+	interactively.
+
+	Keep the output buffer alive iff the external process panics.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc-legacy-flymake): Rename from
+	flymake-proc-start-syntax-check.  Allow running interactively.
+	(flymake-start-syntax-check): Obsolete alias for
+	flymake-proc-legacy-flymake.
+	(flymake-proc-start-syntax-check): Delete.
+	(flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
+	(flymake-proc--process-sentinel): Keep output buffer alive.
+	Clarify with comments.
+	(flymake-proc--diagnostics-for-pattern)
+	(flymake-proc--process-sentinel)
+	(flymake-proc--safe-delete-directory)
+	(flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Simplify Flymake logging and erroring
+
+	Use display-warning and a dedicated *Flymake log* buffer.
+
+	To ease readability, flymake log messages are now prefixed with a
+	common prefix and the buffer that originated them.
+
+	Some situations of over-zealous logging are fixed.
+
+	Use byte-compiler info, if available, to determine whence the
+	flymake-related log message is coming.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--diagnostics-for-pattern): Improve log message.
+	(flymake-proc--panic): Always flymake-log an error
+	(flymake-proc--safe-delete-file)
+	(flymake-proc--safe-delete-directory):
+	Downgrade warning
+	(flymake-proc-start-syntax-check): Simplify slightly.
+	(flymake-proc--start-syntax-check-process): Simplify.
+	(flymake-proc--init-find-buildfile-dir)
+	(flymake-proc--init-create-temp-source-and-master-buffer-copy):
+	No need to warn twice.
+
+	* lisp/progmodes/flymake.el (flymake-log): Convert to macro.
+	(flymake--log-1): New helper.
+	(flymake-log-level): Deprecate.
+	(flymake-error): New helper.
+	(flymake-ler-make-ler, flymake--handle-report, flymake-mode):
+	Use flymake-error.
+	(flymake-on-timer-event)
+	(flymake--handle-report, flymake--disable-backend)
+	(flymake--run-backend, flymake-start, flymake-mode-on)
+	(flymake-mode-off, flymake-after-change-function)
+	(flymake-after-save-hook, flymake-find-file-hook): Adjust
+	flymake-log calls.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(flymake-tests--call-with-fixture): Only log errors.
+
+2017-10-03  Philipp Stephani  <phst@google.com>
+
+	Work around deprecation of gtk_style_context_get_background_color
+
+	* src/gtkutil.c (xg_check_special_colors): Replace call to
+	gtk_style_context_get_background_color with its definition.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	New Flymake API variable flymake-diagnostic-functions
+
+	Lay groundwork for multiple active backends in the same buffer.
+
+	Backends are lisp functions called when flymake-mode sees fit.  They
+	are responsible for examining the current buffer and telling
+	flymake.el, via return value, if they can syntax check it.
+	Backends should return quickly and inexpensively, but they are also
+	passed a REPORT-FN argument which they may or may not call
+	asynchronously after performing more expensive work.
+
+	REPORT-FN's calling convention stipulates that a backend calls it with
+	a list of diagnostics as argument, or, alternatively, with a symbol
+	denoting an exceptional situation, usually some panic resulting from a
+	misconfigured backend.  In keeping with legacy behaviour,
+	flymake.el's response to a panic is to disable the issuing backend.
+
+	The flymake--diag object representing a diagnostic now also keeps
+	information about its source backend.  Among other uses, this allows
+	flymake to selectively cleanup overlays based on which backend is
+	updating its diagnostics.
+
+	* lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
+	New dynamic variable.
+	(flymake-proc--process): New variable.
+	(flymake-can-syntax-check-buffer): Remove.
+	(flymake-proc--process-sentinel): Simplify.  Use
+	unwind-protect.  Affect flymake-proc--processes here.
+	Bind flymake-proc--report-fn.
+	(flymake-proc--process-filter): Bind flymake-proc--report-fn.
+	(flymake-proc--post-syntax-check): Delete
+	(flymake-proc-start-syntax-check): Take mandatory
+	report-fn.  Rewrite.  Bind flymake-proc--report-fn.
+	(flymake-proc--process-sentinel): Rewrite and simplify.
+	(flymake-proc--panic): New helper.
+	(flymake-proc--start-syntax-check-process): Record report-fn
+	in process.  Use flymake-proc--panic.
+	(flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
+	flymake-proc--processes here.  Record interruption reason.
+	(flymake-proc--init-find-buildfile-dir)
+	(flymake-proc--init-create-temp-source-and-master-buffer-copy):
+	Use flymake-proc--panic.
+	(flymake-diagnostic-functions): Add
+	flymake-proc-start-syntax-check.
+	(flymake-proc-compile): Call
+	flymake-proc-stop-all-syntax-checks with a reason.
+
+	* lisp/progmodes/flymake.el (flymake-backends): Delete.
+	(flymake-check-was-interrupted): Delete.
+	(flymake--diag): Add backend slot.
+	(flymake-delete-own-overlays): Take optional filter arg.
+	(flymake-diagnostic-functions): New user-visible variable.
+	(flymake--running-backends, flymake--disabled-backends): New
+	buffer-local variables.
+	(flymake-is-running): Now a function, not a variable.
+	(flymake-mode-line, flymake-mode-line-e-w)
+	(flymake-mode-line-status): Delete.
+	(flymake-lighter):  flymake's minor-mode "lighter".
+	(flymake-report): Delete.
+	(flymake--backend): Delete.
+	(flymake--can-syntax-check-buffer): Delete.
+	(flymake--handle-report, flymake--disable-backend)
+	(flymake--run-backend, flymake--run-backend):  New helpers.
+	(flymake-make-report-fn): Make a lambda.
+	(flymake--start-syntax-check): Iterate
+	flymake-diagnostic-functions.
+	(flymake-mode): Use flymake-lighter.  Simplify.  Initialize
+	flymake--running-backends and flymake--disabled-backends.
+	(flymake-find-file-hook): Simplify.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(flymake-tests--call-with-fixture): Use flymake-is-running the
+	function.  Check if flymake-mode already active before activating it.
+	Add a thorough test for flymake multiple backends
+
+	* lisp/progmodes/flymake.el (flymake--start-syntax-check):
+	Don't use condition-case-unless-debug, use condition-case
+
+	* test/lisp/progmodes/flymake-tests.el
+	(flymake-tests--assert-set): New helper macro.
+	(dummy-backends): New test.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	More Flymake cleanup before advancing to backend redesign
+
+	Diagnostics are reported for buffers, not necessarily files.  It’s the
+	backend’s responsibility to compute the buffer where the diagnostic is
+	applicable.  For now, this has to match the buffer where flymake-mode
+	is active and which is at the origin of the backend call.
+
+	flymake.el knows nothing about line/column diagnostics (except for
+	backward-compatible flymake-ler-make-ler, which must yet be tested).
+	It’s also the backend’s reponsibility to compute a BEG and END
+	positions for the diagnostic in the relevant buffer.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
+	region here.  Check file buffer here.
+	(flymake-proc--process-sentinel): Don’t kill output buffer if
+	high enough log level.
+
+	* lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
+	function.  (flymake--highlight-line): Diagnostic has region now.
+	(flymake-popup-current-error-menu): Don’t add file and line numbers to
+	already this silly menu.  (flymake--fix-line-numbers): Remove.
+	(flymake-report): No need to fix diagnostics here.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Protect Flymake's eager checks against commands like fill-paragraph
+
+	If flymake-start-syntax-check-on-newline is t, check should start as
+	soon as a newline is seen by after-change-functions.  But don't rush
+	it: since the buffer state might not be final, we might end up with
+	invalid diagnostic regions after some commands silently insert and
+	delete newlines (looking at you, fill-paragraph).
+
+	* lisp/progmodes/flymake.el (flymake-after-change-function): Pass
+	`deferred' to flymake--start-syntax-check.
+	(flymake--start-syntax-check): Take optional `deferred' arg.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake highlights GCC info/notes as detected by flymake-proc.el
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
+	honour more sophisticated flymake-proc-diagnostic-type-pred.
+	(flymake-warning-re): Is now an obsolete alias for
+	flymake-proc-diagnostic-type-pred.
+	(flymake-proc-diagnostic-type-pred): Rename and augment from
+	flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
+	Delete.
+
+	* lisp/progmodes/flymake.el (flymake-note): New face.
+	(flymake-diagnostic-types-alist): Simplify.
+	(flymake-note): New overlay category.
+	(flymake--lookup-type-property): Only lookup single keys, not lists.
+	(flymake--diag-errorp): Rewrite.
+	(flymake--highlight-line): Use flymake--lookup-type-property.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(different-diagnostic-types): Rename from errors-and-warnings.
+	Check notes.
+	(flymake-tests--call-with-fixture): Use
+	flymake-proc-diagnostic-type-pred.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake checks file names before considering diagnostics
+
+	The error patterns for gcc picked up errors for the Makefile itself,
+	for example.  These shouldn't count as actual errors.
+
+	* lisp/progmodes/flymake.el (flymake-report): Check
+	matching file names.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Echo Flymake error messages when navigating errors interactively
+
+	Perhaps binding M-n and M-p to flymake-goto-next-error and
+	flymake-goto-prev-error also wouldn't be a bad idea.
+
+	* lisp/progmodes/flymake.el (flymake-goto-next-error): Use
+	target overlay's help-echo.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Add a new Flymake test for multiple errors and warnings
+
+	* test/lisp/progmodes/flymake-tests.el
+	(flymake-tests--call-with-fixture): Save excursion.
+	(errors-and-warnings): New test.
+
+	* test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
+	New test fixture.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake warning face easier to distinguish
+
+	A orange wavy underline is very hard to tell from a red wavy
+	underline.
+
+	* lisp/progmodes/flymake.el (flymake-warning): Change color to
+	"deep sky blue"
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake's flymake-proc.el parses column numbers from gcc/javac errors
+
+	Column numbers are not a great way of marking diagnostic regions, but
+	that's probably all that can be expected from the flymake-proc.el
+	backend.  For now, try (end-of-thing 'sexp) to discover the
+	diagnostic's end position.
+
+	* lisp/progmodes/flymake-proc.el ()
+	(flymake-proc-err-line-patterns): Also parse column numbers,
+	if available, for gcc/javac warnings.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	New Flymake variable flymake-diagnostic-types-alist and much cleanup
+
+	A new user-visible variable is introduced where different diagnostic
+	types can be categorized.  Flymake backends can also contribute to
+	this variable.  Anything that doesn’t match an existing error type
+	is considered.
+
+	The variable’s alists are used to propertize the overlays pertaining
+	to each error type.  The user can override the built-in properties by
+	either by modifying the alist, or by modifying the properties of a
+	special "category" symbol, named by the `flymake-category' entry in
+	the alist.
+
+	The `flymake-category' entry is especially useful for, say, the author
+	of foo-flymake-backend, who issues diagnostics of type :foo-note, that
+	should behave like notes, except with no fringe bitmap:
+
+	   (add-to-list 'flymake-diagnostic-types-alist
+	                '(:foo-note
+	                  . ((flymake-category . flymake-note)
+	                     (bitmap . nil))))
+
+	For essential properties like `severity', `priority', etc, a default
+	value is produced.  Some properties like `evaporate' cannot be
+	overriden.
+
+	* lisp/progmodes/flymake.el (flymake--diag): Rename from
+	flymake-ler.
+	(flymake-ler-make): Obsolete alias for flymake-diagnostic-make
+	(flymake-ler-errorp): Rewrite using flymake--severity.
+	(flymake--place-overlay): Delete.
+	(flymake--overlays): Now a cl-defun with &key args.  Document.
+	Use `overlays-at' if BEG is non-nil and END is nil.
+	(flymake--lookup-type-property): New helper.
+	(flymake--highlight-line): Rewrite.
+	(flymake-diagnostic-types-alist): New API variable.
+	(flymake--diag-region)
+	(flymake--severity, flymake--face)
+	(flymake--fringe-overlay-spec): New helper.
+	(flymake-popup-current-error-menu): Use new flymake-overlays.
+	(flymake-popup-current-error-menu, flymake-report): Use
+	flymake--diag-errorp.
+	(flymake--fix-line-numbers): Use flymake--diag-line.
+	(flymake-goto-next-error): Pass :key to flymake-overlays
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Refactor Flymake tests in preparation for more tests
+
+	Introduce a slightly more generic fixture macro.
+
+	Also make flymake-tests.el friendlier to interactive runs, by not
+	killing buffers visited by the user.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(flymake-tests--call-with-fixture): New helper from
+	flymake-tests--current-face.  Don't kill file buffers already
+	being visited before the test starts.
+	(flymake-tests--with-flymake): New macro.
+	(flymake-tests--current-face): Delete.
+	(warning-predicate-rx-gcc, warning-predicate-function-gcc)
+	(warning-predicate-rx-perl, warning-predicate-function-perl):
+	Use flymake-test--with-flymake.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Allow running Flymake tests from interactive sessions
+
+	* test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
+	Expand to reasonable value if no
+	EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
+	"weirdness" of bug 17647 with read-event.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake diagnostics now apply to arbitrary buffer regions
+
+	Make Flymake UI some 150 lines lighter
+
+	Strip away much of the original implementation's complexity in
+	manipulating objects representing diagnostics as well as creating and
+	navigating overlays.
+
+	Lay some groundwork for a more flexible approach that allows for
+	different classes of diagnostics, not necessarily line-based.
+	Importantly, one overlay per diagnostic is created, whereas the
+	original implementation had one per line, and on it it concatenated
+	the results of errors and warnings.
+
+	This means that currently, an error and warning on the same line are
+	problematic and the warning might be overlooked but this will soon be
+	fixed by setting appropriate priorities.
+
+	Since diagnostics can highlight arbitrary regions, not just lines, the
+	faces were renamed.
+
+	Tests pass and backward compatibility with interactive functions is
+	maintained, but probably any third-party extension or customization
+	relying on more than a trivial set of flymake.el internals has stopped
+	working.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
+	constructor syntax.
+
+	* lisp/progmodes/flymake.el (flymake-ins-after)
+	(flymake-set-at, flymake-er-make-er, flymake-er-get-line)
+	(flymake-er-get-line-err-info-list, flymake-ler-set-file)
+	(flymake-ler-set-full-file, flymake-ler-set-line)
+	(flymake-get-line-err-count, flymake-get-err-count)
+	(flymake-highlight-err-lines, flymake-overlay-p)
+	(flymake-make-overlay, flymake-region-has-flymake-overlays)
+	(flymake-find-err-info)
+	(flymake-line-err-info-is-less-or-equal)
+	(flymake-add-line-err-info, flymake-add-err-info)
+	(flymake-get-first-err-line-no)
+	(flymake-get-last-err-line-no, flymake-get-next-err-line-no)
+	(flymake-get-prev-err-line-no, flymake-skip-whitespace)
+	(flymake-goto-line, flymake-goto-next-error)
+	(flymake-goto-prev-error, flymake-patch-err-text): Delete
+	functions no longer used.
+	(flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
+	(flymake-report): Rewrite.
+	(flymake-popup-current-error-menu): Rewrite.
+	(flymake--highlight-line): Rename from
+	flymake-highlight-line.  Call `flymake--place-overlay.
+	(flymake--place-overlay): New function.
+	(flymake-ler-errorp): New predicate.
+	(flymake-ler): Simplify.
+	(flymake-error): Rename from
+	flymake-errline.
+	(flymake-warning): Rename from flymake-warnline.
+	(flymake-warnline, flymake-errline): Obsoletion aliases.
+
+	* test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
+	(warning-predicate-function-gcc, warning-predicate-rx-perl)
+	(warning-predicate-function-perl): Use face `flymake-warning'.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Move symbols in flymake-proc.el to separate namespace
+
+	Every symbol in this flymake now starts with the prefix flymake-proc-.
+
+	Make obsolete aliases for (almost?) every symbol.
+
+	Furthermore, many flymake-proc.el symbols are prefixed with
+	"flymake-proc--", that is they were considered internal.
+
+	Some customization variables, interactive functions, and other symbols
+	considered useful to user customizations or third-party libraries are
+	considered "public" or "external" and so use a "flymake-proc-" prefix.
+
+	* lisp/progmodes/flymake-proc.el: Every symbol renamed.
+
+	* test/lisp/progmodes/flymake-tests.el
+	(flymake-tests--current-face): Use
+	flymake-proc-warning-predicate, not flymake-warning-predicate.
+
+	* lisp/progmodes/flymake-proc.el
+	(flymake-proc--get-project-include-dirs-function)
+	(flymake-proc--get-project-include-dirs-imp)
+	(flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
+	(flymake-proc--find-make-buildfile)
+	(flymake-proc--get-syntax-check-program-args)
+	(flymake-proc--init-create-temp-source-and-master-buffer-copy)
+	(flymake-proc--init-find-buildfile-dir)
+	(flymake-proc--get-full-nonpatched-file-name)
+	(flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
+	flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
+	(flymake-proc--temp-source-file-name)
+	(flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
+	(flymake-proc--start-syntax-check-process)
+	(flymake-proc--compilation-is-running)
+	(flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
+	(flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
+	(flymake-proc--clear-project-include-dirs-cache)
+	(flymake-proc--project-include-dirs-cache)
+	(flymake-proc--get-system-include-dirs)
+	(flymake-proc--get-project-include-dirs)
+	(flymake-proc--add-project-include-dirs-to-cache)
+	(flymake-proc--get-project-include-dirs-from-cache)
+	(flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
+	(flymake-proc--process-filter) (flymake-proc--create-master-file)
+	(flymake-proc--find-buffer-for-file)
+	(flymake-proc--copy-buffer-to-temp-buffer)
+	(flymake-proc--read-file-to-temp-buffer)
+	(flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
+	flymake-proc--check-include)
+	(flymake-proc--check-patch-master-file-buffer)
+	(flymake-proc--master-file-compare)
+	(flymake-proc--find-possible-master-files)
+	(flymake-proc--included-file-name, flymake-proc--same-files)
+	(flymake-proc--fix-file-name, flymake-proc--find-buildfile)
+	(flymake-proc--clear-buildfile-cache)
+	(flymake-proc--add-buildfile-to-cache)
+	(flymake-proc--get-buildfile-from-cache)
+	(flymake-proc--find-buildfile-cache)
+	(flymake-proc--get-real-file-name-function)
+	(flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
+	(flymake-proc--get-file-name-mode-and-masks)
+	(flymake-proc--processes): Rename to internal symbol from
+	flymake-proc- version.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Completely rewrite Flymake's subprocess output processing
+
+	Instead of parsing and matching regexps line-by-line, insert
+	subprocess output in a separate buffer and parse using
+	`search-forward-regexp'.  This eventually enables multi-line error
+	patterns and simplifies code all around.  Store per-check information
+	in the subprocess using `process-get' and `process-put'.  Treat error
+	messages, warnings, etc. more generically as "diagnostics".  Create
+	these objects as soon as possible, reusing existing `flymake-ler'
+	structure.  Fix some whitespace.
+
+	* lisp/progmodes/flymake.el (cl-lib): Require also when
+	loading.
+	(flymake--fix-line-numbers): Rename from
+	flymake-fix-line-numbers.  Simplify.
+	(flymake-report): Call flymake--fix-line-numbers.  Rearrange
+	plain diagnostics list into alist format expected by
+	flymake-highlight-err-lines.
+
+	* lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
+	process output and parse in dedicated output buffer.
+	(flymake-proc--diagnostics-for-pattern): New helper function.
+	(flymake-process-sentinel): Call flymake-post-syntax-check with
+	collected diagnostics.  Kill output buffer.
+	(flymake-post-syntax-check): Receive diagnostics as third argument.
+	(flymake-parse-output-and-residual, flymake-new-err-info)
+	(flymake-parse-residual, flymake-parse-err-lines)
+	(flymake-split-output, flymake-proc-parse-line)
+	(flymake-output-residual): Delete.
+	(flymake-start-syntax-check-process): Use make-process.	 Setup
+	dedicated an output buffer
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Flymake provides flymake-report re-entry point for backends
+
+	* lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
+	Simplify.  Call flymake-report.
+
+	* lisp/progmodes/flymake.el (flymake-report): New function.
+
+2017-10-03  João Távora  <joaotavora@gmail.com>
+
+	Split Flymake into flymake.el into flymake-proc.el (again!)
+
+	After deciding that this work would continue on master only, which
+	caused two commits named
+
+	   Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
+
+	and
+
+	   Revert "Add flymake-backends defcustom"
+
+	to be added to the emacs-26 branch, further discussion reversed that
+	decision.
+
+	   See:
+
+	     https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01020.html
+	     https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01030.html
+
+	This means that those two commits MUST be merged to master AFTER ALL.
+
+	flymke-proc.el contains the main syntax-checking backend, while
+	flymake.el keeps mostly the UI part.
+
+	* lisp/progmodes/flymake-proc.el: New file.  Require flymake.
+
+	* lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
+
+2017-10-03  Nicolas Petton  <nicolas@petton.fr>
+
+	Update authors.el
+
+	* admin/authors.el (authors-ignored-files, authors-valid-file-names)
+	(authors-renamed-files-alist): Additions.
+
+2017-10-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Give more helpful messages for python completion setup failures
+
+	* lisp/progmodes/python.el (python-shell-completion-native-setup): In
+	case the completion setup failed with some exception, print out the
+	exception type and message.  If libedit is detected, raise an
+	exception, since this is known to fail.
+
+2017-10-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the --without-x build
+
+	* src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
+	frame_parent only in GUI builds to avoid compilation errors in
+	--without-x builds.  (Bug#28611)
+
+2017-10-02  Paul Eggert  <eggert@day>
+
+	Fix customization of zoneinfo-style-world-list
+
+	A customizable variable's initial value cannot depend on that of
+	another customizable variable, since the variables are initialized
+	in other than textual order.  Problem reported by N. Jackson
+	(Bug#24291).
+	* lisp/time.el (display-time-world-list): Default to t,
+	a special value that expands to zoneinfo-style-word-list
+	if that works, and to legacy-style-word-list otherwise.
+	(time--display-world-list): New function.
+	(display-time-world, display-time-world-timer): Use it.
+
+2017-10-02  Alan Mackenzie  <acm@muc.de>
+
+	Fix a CC Mode brace stack cache bug.
+
+	* lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
+	c-beginning-of-current-token after a failing search operation, to ensure we
+	don't cache a point inside a token.
+
+2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* etc/PROBLEMS: Document Bug#26638.
+
+2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Prefer HTTPS to HTTP for gnu.org
+
+	This fixes some URLs I omitted from my previous pass,
+	notably those in lists.gnu.org.  Although lists.gnu.org
+	does not yet support TLS 1.1, TLS 1.0 is better than nothing.
+	* lisp/erc/erc.el (erc-official-location):
+	* lisp/mail/emacsbug.el (report-emacs-bug):
+	Use https:, not http:.
+
+2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from Gnulib
+
+	This is mostly to change http: to https: in licenses.
+	* COPYING, build-aux/config.guess, build-aux/config.sub:
+	* doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
+	* doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
+	* doc/lispref/gpl.texi, doc/misc/doclicense.texi:
+	* doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
+	* lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
+	* msdos/COPYING, nt/COPYING, src/COPYING:
+	Copy from Gnulib.
+
+2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Keep eww buffer current when looking up CSS on MDN
+
+	* lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
+	current when looking up CSS documentation on MDN.  This fixes a bug
+	where the eww buffer's content sometimes get mangled when switching
+	buffers mid-render.
+
+2017-10-01  Charles A. Roelli  <charles@aurox.ch>
+
+	Workaround for faulty localtime() under macOS 10.6
+
+	* lisp/org/org-clock.el (org-clock--oldest-date): Only execute
+	'decode-time' on times later than year -2**31 under macOS 10.6.
+	See Bug#27706.
+
+2017-10-01  Alan Mackenzie  <acm@muc.de>
+
+	Doc amendment for syntax-ppss.
+
+	* doc/elisp/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
+	equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
+	buffer.  Final part of the fix for bug #22983.
+
+2017-10-01  Charles A. Roelli  <charles@aurox.ch>
+
+	Remove incorrect NEWS entry about 'find-library'
+
+	* etc/NEWS (Changes in Emacs 26.1): Remove an entry about
+	'find-library' taking a prefix argument to pop to a different
+	window.  This behavior was added in "Allow a prefix argument to
+	find-library to pop to a different window" (commit e1f2d14a), and
+	then removed in "New commands: find-library-other-window,
+	find-library-other-frame" (commit 021430f4).
+
+2017-10-01  Alan Mackenzie  <acm@muc.de>
+
+	Remove inadvertent changes to syntax.texi in last commit.
+
+	* doc/lispref/syntax.texi (Position Parse): revert changes.
+
+2017-10-01  Alan Mackenzie  <acm@muc.de>
+
+	Amend documentation for text-quoting-style becoming a user option.
+
+	* doc/lispref/control.texi (Signaling Errors):
+	* doc/lispref/display.texi (Displaying Messages):
+	* doc/lispref/strings.texi (Formatting Strings):
+	Edit for brevity, farming out the details to the new
+	Text Quoting Style node.
+	* doc/lispref/help.texi (Text Quoting Style): New section.
+	Move detailed discussion of text-quoting-style here.
+	Add discussion about how to output grave accent and apostrophe in
+	documentation and messages.  Adjust xrefs to point to this section
+	when appropriate.
+	* etc/NEWS: text-quoting-style semantics have not changed.
+
+2017-10-01  Alan Mackenzie  <acm@muc.de>
+
+	Make the value nil in text-quoting-style mean what it does in Emacs 25.
+
+	This is a partial reversion of yesterday's commit by the same author, which
+	changed the meaning of nil and introduced the new value t.
+
+	* src/doc.c (text_quoting_style, text-quoting-style)
+	(internal--text-quoting-flag): Revert yesterday's changes.
+
+	* lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
+
+	* etc/NEWS: Amend the entry for text-quoting-style.
+
+	* doc/lispref/control.texi (Signalling Errors)
+	* doc/lispref/display.texi (Displaying Messages)
+	* doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
+	grave rather than nil to inhibit translation of quotes.
+
+	* doc/lispref/help.texi (Keys in Documentation): Revert the description of the
+	proposed new default, t.
+
+2017-10-01  Alan Mackenzie  <acm@muc.de>
+
+	Make text-quoting-style customizable.  Introduce t and new meaning for nil.
+
+	A value of nil for text-quoting-style now means "no translation".  t means
+	"Use curved quotes if displayable".
+
+	* src/doc.c (text-quoting-style (function)): modify for new semantics.
+	(text-quoting-style (variable)): Amend the doc string, set the default value
+	to t.
+
+	* lisp/cus-start.el: (top level): Create a customize entry for
+	text-quoting-style in group display.
+
+	* etc/NEWS: Amend the entry for text-quoting-style.
+
+	* doc/emacs/display.texi (Text Display): Describe the translation of ASCII
+	quotes to curved quotes, and how to influence or inhibit it.
+
+	* doc/lispref/control.texi (Signalling Errors)
+	* doc/lispref/display.texi (Displaying Messages)
+	* doc/lispref/strings.texi (Formatting Strings): Describe binding
+	text-quoting-style to nil to inhibit unwanted quote translation.
+
+	* doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
+	from a variable to a user option.  Describe its changed set of values.  State
+	that it can be customized freely.
+
+2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
+
+	eshell.texi improvements
+
+	* doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
+	Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
+	(Aliases): Add $*, $1, $2, ... to the variable index.
+
+2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
+
+	Fix ns-win.el on GNUstep
+
+	* lisp/term/ns-win.el: Appkit version check only works on macOS, so
+	don't try it when not using Cocoa.
+
+2017-10-01  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix reference style in org.texi
+
+	* doc/misc/org.texi (A Texinfo example): Fix reference style.
+
+2017-10-01  Martin Rudalics  <rudalics@gmx.at>
+
+	Improve handling of iconification of child frames (Bug#28611)
+
+	* src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
+	(syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
+	(iconify_child_frame): New option.
+	* lisp/cus-start.el (iconify-child-frame): Add customization
+	properties.
+	* doc/lispref/frames.texi (Child Frames): Describe new option
+	`iconify-child-frame'.  Don't index "top-level frame" twice.
+
+2017-10-01  Noam Postavsky  <npostavs@gmail.com>
+
+	Revert "Don't lose arguments to eshell aliases (Bug#27954)"
+
+	It broke the established argument handling methods provided by eshell
+	aliases (Bug#28568).
+	* doc/misc/eshell.texi (Aliases): Fix example, call out use of
+	arguments in aliases.
+	* lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
+	ARGS.
+
+2017-10-01  Noam Postavsky  <npostavs@gmail.com>
+
+	Make "unsafe directory" error message more informative (Bug#865)
+
+	* lisp/server.el (server-ensure-safe-dir): Produce a description for
+	each "unsafe" condition.
+
+2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+	Fix slot typecheck in eieio-persistent
+
+	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
+	  An `or' form can specify multiple potential classes (or null) as
+	  valid types for a slot, but previously only the final element of the
+	  `or' was actually checked. Now returns all valid classes in the `or'
+	  form.
+	  (eieio-persistent-validate/fix-slot-value): Check if proposed value
+	  matches any of the valid classes.
+	* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
+	  (eieio-test-multiple-class-slot): Test this behavior.
+
+2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Fix semantic-ia-fast-jump
+
+	* lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
+	Use `pop-to-buffer-same-window' (bug#28645).
+
+2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
+
+	Bind vc-region-history
+
+	* lisp/vc/vc-hooks.el (vc-prefix-map):
+	Bind `vc-region-history' to 'C-x v h', which was earlier bound to
+	`vc-insert-headers' (Bug#27644).
+	* doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
+	* doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
+	'C-x v h' with `vc-insert-headers'.
+	(http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00957.html)
+
+2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
+
+	Exit macro definition on undefined keys
+
+	* lisp/subr.el (undefined): Error out of kmacro definition, if any.
+	(Bug#28008)
+
+2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
+
+	Reset bidi-paragraph-direction on article rendering
+
+	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
+	bidi-paragraph-direction on article rendering.  (Bug#28454)
+
+2017-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix url-http use of url-current-object
+
+	* lisp/url/url-http.el (url-http): Bind url-current-object before
+	calling url-http-find-free-connection.  (Bug#28515)
+
+2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
+
+	Avoid assertions in vc-hg.el on MS-Windows
+
+	* lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
+	(vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
+	(vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
+	instead of relying on Unix file-name syntax.  This avoids
+	assertion violations on MS-Windows.
+
+2017-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'copy-sequence'
+
+	* src/fns.c (Fcopy_sequence):
+	* doc/lispref/sequences.texi (Sequence Functions): Mention the
+	exception when copying an empty sequence.  (Bug#28627)
+
+2017-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor update of ack.texi
+
+	* doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
+	contributions.
+
+2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
+
+	* doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
+
+2017-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve indexing of multi-file/buffer Isearch commands
+
+	* doc/emacs/maintaining.texi (Identifier Search): Change wording
+	of index entries to make them different from those for multi-file
+	isearch commands.  (Bug#28584)
+	* doc/emacs/search.texi (Other Repeating Search): Index the
+	multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
+	each index entry close to its subject.
+
+2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add CAM02 JCh and CAM02-UCS J'a'b' conversions
+
+	* src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
+	(jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
+	(lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
+	functions.
+	(lcms-cam02-ucs): Refactor.
+	(syms_of_lcms2): Declare new functions.
+	* test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
+	(lcms-jmh->cam02-ucs-silver): New tests.
+	* etc/NEWS: Mention new functions.
+
+2017-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix uses of @kindex in the Emacs manual
+
+	* doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
+	* doc/emacs/mark.texi (Global Mark Ring)
+	(Disabled Transient Mark):
+	* doc/emacs/buffers.texi (Select Buffer):
+	* doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
+	which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
+
+2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-09-28 string: code style
+	2017-09-25 sys_types: update URL
+	2017-09-23 install-sh: do not assume / = //
+	2017-09-21 mktime: port to OpenVMS
+	* build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
+	* m4/sys_types_h.m4: Copy from Gnulib.
+	* lib/gnulib.mk.in: Regenerate.
+
+2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Prefer HTTPS to HTTP for gnu.org
+
+	This catches some URLs I missed in my previous scan,
+	or perhaps were added after the scan.
+
+2017-09-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Wait for frame visibility with timeout in w32term too
+
+	* src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
+	variable.
+	(x_make_frame_visible): Wait for frame to become visible according to
+	its value.
+	(input_signal_count): Remove.
+
+2017-09-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Bring back the busy wait after x_make_frame_visible (Bug#25521)
+
+	But wait specfically for a MapNotify event, and only for a
+	configurable amount of time.
+	* src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
+	variable.
+	(x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
+	(x_make_frame_visible): Call x_wait_for_event at the end.
+	* etc/NEWS: Announce x_wait_for_event.
+
+2017-09-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix last doc string change in simple.el
+
+	* lisp/simple.el (shell-command-saved-pos)
+	(region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
+
+2017-09-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Revert "bug#28609: simple.el"
+
+	This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
+
+2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
+
+	bug#28609: simple.el
+
+	Correct grammar; also, call a pair a pair.
+
+	(cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
+
+2017-09-29  Rasmus  <rasmus@gmx.us>
+
+	Merge branch 'emacs-26' into scratch/org-mode-merge
+
+2017-09-29  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
+
+	* lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
+	above the `debugger' frame, rather than assuming there will be a
+	`signal' frame.
+
+2017-09-28  Alan Third  <alan@idiocy.org>
+
+	Revert "Fix build on macOS (bug#28571)"
+
+	This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
+
+	Prematurely pushed.
+
+2017-09-28  Alan Third  <alan@idiocy.org>
+
+	Fix build on macOS (bug#28571)
+
+	* src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
+	[DARWIN_OS]: Undefine.
+
+2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Add tests for `css-current-defun-name'
+
+	* test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
+	(css-test-current-defun-name-nested)
+	(css-test-current-defun-name-complex): New tests for
+	`css-current-defun-name'.
+
+2017-09-28  Martin Rudalics  <rudalics@gmx.at>
+
+	In w32fullscreen_hook don't add decorations to undecorated frames
+
+	* src/w32term.c (w32fullscreen_hook): Do not add (or try to
+	remove) decorations for undecorated frames.
+
+2017-09-28  João Távora  <joaotavora@gmail.com>
+
+	Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
+
+	In other words, re-coalesce the two files,
+	lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
+	into a single one, lisp/progmodes/flymake.el.
+
+	The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
+	"allow nil init in flymake-allowed-file-name-masks to disable flymake"
+	are kept in place in the new lisp/progmodes/flymake.el.
+
+	This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
+
+	Don't merge this back to master as development happening there builds
+	upon this work. See also
+	https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html.
+
+2017-09-28  João Távora  <joaotavora@gmail.com>
+
+	Revert "Add flymake-backends defcustom"
+
+	This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
+
+	Don't merge this back to master as development happening there builds
+	upon this work. See also
+	https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html
+
+2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/editfns.c (styled_format): Fix typo in previous change.
+
+2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Avoid some unnecessary copying in Fformat etc.
+
+	This patch is just for performance; it should not affect behavior.
+	On my platform, it made the microbenchmark (format "%S" load-path)
+	run about 45% faster.  It should also speed up calls like (message
+	"%s" STRING).
+	* src/callint.c (Fcall_interactively):
+	* src/dbusbind.c (XD_OBJECT_TO_STRING):
+	* src/editfns.c (Fmessage, Fmessage_box):
+	* src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
+	Use styled_format instead of Fformat or Fformat_message,
+	to avoid unnecessary copying.
+	* src/editfns.c (styled_format): New arg NEW_RESULT.
+	All uses changed.  Reuse an input string if it has the
+	right value and if !NEW_RESULT.
+	* src/lisp.h (style_format): New decl.
+
+2017-09-26  John Wiegley  <johnw@newartisans.com>
+
+	lisp/simple.el: Indicate when a list of pairs is meant in a docstring
+
+2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
+
+	bug#28609: simple.el
+
+	Correct grammar; also, call a pair a pair.
+
+2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Use a separate syntax-ppss cache for narrowed buffers
+
+	* lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
+	New variable, to contain the data from `syntax-ppss-last' and
+	`syntax-ppss-cache'.
+	(syntax-ppss-cache, syntax-ppss-last): Remove.
+	(syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
+	(syntax-ppss-flush-cache): Flush both caches.
+	(syntax-ppss--data): Return the appropriate last result and
+	buffer cache for the current restriction.
+	(syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
+
+2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
+
+	Improve python3-compatibility of fallback completion (Bug#28499)
+
+	* lisp/progmodes/python.el (python-eldoc-setup-code): Use
+	inspect.getfullargspec instead of inspect.getargspec to avoid a
+	deprecation warning on every usage of eldoc in python-mode.
+
+2017-09-26  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix subr-x-tests when running from elc
+
+	* test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
+	Use `eval' around the `should-error' cases.
+
+2017-09-26  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
+
+2017-09-26  Noam Postavsky  <npostavs@gmail.com>
+
+	Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
+
+	* lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
+	variable alias for `sh-basic-offset'.
+	(sh-mode, sh-smie--indent-continuation)
+	(sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
+	with `sh-basic-offset'.
+
+2017-09-26  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix loading of smie-config rules (Bug#24848)
+
+	* lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
+	instead of `setq-default'.
+	(smie-config): Use `custom-initialize-set' instead of
+	`custom-initialize-default' as the :initialize argument.
+
+	* lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
+	we call `smie-config-guess' so that the user will have a chance to
+	find the correct docstring to consult.  Remove hedging comments
+	regarding use of abnormal hooks.
+
+2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Reset default-directory inside *xref-grep* buffer
+
+	* lisp/progmodes/xref.el (xref-collect-matches):
+	Reset default-directory, too. (Bug#28575)
+
+2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
+
+	* test/lisp/tramp-tests.el (tramp-test21-file-links): Special code for smb.
+
+2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Loosen strict parsing requirement for desktop files
+
+	There are other desktop-looking files, for instance those having to do
+	with MIME typess, that would benefit from being able to be read by this
+	function.  It helps to have some flexibility.
+	* lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
+	* test/lisp/xdg-tests.el: Remove a test.
+
+2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/xdg.el (xdg-thumb-uri): Fix doc string.
+
+2017-09-25  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix documentation of `make-frame' and related variables and hooks
+
+	* lisp/frame.el (before-make-frame-hook)
+	(after-make-frame-functions, frame-inherited-parameters)
+	(make-frame): Fix doc-strings.
+	* doc/lispref/frames.texi (Creating Frames): Fix description
+	of `make-frame' and related variables and hooks.
+
+2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+	Accept new `always' value for option `buffer-offer-save'
+
+	Also revert ee512e9a82
+
+	* lisp/files.el (buffer-offer-save): In addition to nil and t, now
+	  allows a third symbol value, `always'. A buffer where this option is
+	  set to `always' will always be offered for save by
+	  `save-some-buffers'.
+	  (save-some-buffers): Check the exact value of this buffer-local
+	  variable. No longer check the buffer name, or the value of
+	  `write-contents-functions'.
+	* doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
+	* doc/lispref/files.texi (Saving Buffers): Remove note about buffer
+	  names.
+	* etc/NEWS: Mention in NEWS.
+
+2017-09-24  Alan Third  <alan@idiocy.org>
+
+	Improve new NS scrolling variable names
+
+	* src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
+	'ns-use-mwheel-acceleration'.
+	(ns-touchpad-scroll-line-height): Replace with
+	'ns-mwheel-line-height'.
+	(ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
+	* etc/NEWS: Change variable names.
+
+2017-09-24  Philipp Stephani  <phst@google.com>
+
+	Document 'replace-buffer-contents' in the manual.
+
+	* doc/lispref/text.texi (Replacing): New node.
+
+2017-09-23  Alan Third  <alan@idiocy.org>
+
+	Fix undecorated frame resizing issues on NS (bug#28512)
+
+	* src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
+	toolbar on undecorated frames.
+	(EmacsView::initFrameFromEmacs): Group window flags correctly.
+
+2017-09-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix doc string of 'dired-listing-switches'
+
+	* lisp/dired.el (dired-listing-switches): Fix the quoting
+	example.  (Bug#28569)
+
+2017-09-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Documentation improvements for 'display-line-numbers'
+
+	* doc/emacs/display.texi (Display Custom): Document a few more
+	options for display-line-numbers.  (Bug#28533)  Fix a typo.
+
+2017-09-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix last change in bat-mode.el
+
+	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
+	change.  (Bug#28311)
+
+2017-09-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix restoring in GUI sessions desktop saved in TTY sessions
+
+	* lisp/frameset.el (frameset-filter-font-param): New function.
+	(frameset-persistent-filter-alist): Use it for processing the
+	'font' frame parameter.  (Bug#17352)
+
+2017-09-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve syntax highlighting in bat-mode
+
+	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
+	font-locking of environment variables.  Suggested by Achim Gratz
+	<Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
+
+2017-09-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Document the 'list-FOO' convention
+
+	* doc/lispref/tips.texi (Coding Conventions): Document the
+	list-FOO convention.
+
+2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Expose viewing conditions in CAM02-UCS metric
+
+	Also add tests from the colorspacious library.  Finally, catch an
+	errant calculation, where degrees were not being converted to radians.
+	* src/lcms.c (deg2rad, default_viewing_conditions):
+	(parse_viewing_conditions): New functions.
+	(lcms-cam02-ucs): Add comments pointing to references used.  Expand
+	the docstring and explain viewing conditions.  JCh hue is given in
+	degrees and needs to be converted to radians.
+	(lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
+	API needlessly impure.
+	* test/src/lcms-tests.el: Reword commentary.
+	(lcms-rgb255->xyz): New function.
+	(lcms-cri-cam02-ucs): Fix let-binding.
+	(lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
+
+2017-09-21  Alan Third  <alan@idiocy.org>
+
+	Revert "Set frame size to actual requested size (bug#18215)"
+
+	This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
+
+	See bug#28536. I misunderstood bug#18215. It wasn't a bug.
+
+2017-09-21  Gemini Lasswell  <gazally@runbox.com>
+
+	Add tests for Edebug
+
+	* tests/lisp/emacs-lisp/edeug-tests.el: New file.
+	* tests/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
+
+2017-09-21  Gemini Lasswell  <gazally@runbox.com>
+
+	Catch more messages in ert-with-message-capture
+
+	* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
+	messages from prin1, princ and print.
+	(ert--make-message-advice): New function.
+	(ert--make-print-advice): New function.
+
+2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
+
+	Support setting region from secondary selection and vice versa
+
+	* lisp/mouse.el (secondary-selection-exist-p): New function to
+	allow callers to tell existence of the secondary selection
+	in current buffer.
+	(secondary-selection-to-region): New function to set
+	beginning and end of the region from those of the secondary
+	selection.
+	(secondary-selection-from-region): New function to set
+	beginning and end of the secondary selection from those of
+	the region.  (Bug#27530)
+
+	* etc/NEWS: Mention the new functions.
+
+2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix new copy-directory bug with empty dirs
+
+	Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
+	(Bug#28483#34).  This is another bug that I introduced in my
+	recent copy-directory changes.
+	* lisp/files.el (copy-directory): Work with empty subdirectories, too.
+	* test/lisp/files-tests.el (files-tests--copy-directory):
+	Test for this bug.
+
+2017-09-20  Eli Zaretskii  <eliz@gnu.org>
+
+	* doc/lispref/strings.texi (Formatting Strings): Improve indexing.
+
+2017-09-20  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix 2 testsuite tests for MS-Windows
+
+	* test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
+	create files with "*" in their names.
+	* test/src/editfns-tests.el (format-time-string-with-zone): Adapt
+	results to MS-Windows build.  Reported by Fabrice Popineau
+	<fabrice.popineau@gmail.com>.
+
+2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Rename timer-list to list-timers
+
+	* doc/emacs/anti.texi (Antinews):
+	* doc/lispref/os.texi (Timers):
+	* etc/NEWS:
+	* lisp/emacs-lisp/timer-list.el:
+	(timer-list-mode): Rename timer-list to list-timers.
+
+2017-09-19  Alan Third  <alan@idiocy.org>
+
+	Provide native touchpad scrolling on macOS
+
+	* etc/NEWS: Describe changes.
+	* lisp/term/ns-win.el (mouse-wheel-scroll-amount,
+	mouse-wheel-progressive-speed): Set to smarter values for macOS
+	touchpads.
+	* src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
+	calculate scrolling for touchpads and mouse wheels.
+	(syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
+	'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
+	* src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
+	* src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
+	* lisp/mwheel.el (mwheel-scroll): Use line count.
+	* lisp/subr.el (event-line-count): New function.
+
+2017-09-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix MinGW64 build broken by recent MinGW64 import libraries
+
+	* configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
+	MinGW64 import libraries require that.  (Bug#28493)
+
+	* src/Makefile.in: Adjust commentary to the new order of w32
+	libraries.
+
+2017-09-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix crashes in 'move-point-visually' in minibuffer windows
+
+	* src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
+	comparing against the last valid glyph_row of a window glyph
+	matrix.  (Bug#28505)
+
+2017-09-19  Eli Zaretskii  <eliz@gnu.org>
+
+	* src/emacs.c (usage_message): Don't mention 'find-file'.
+
+2017-09-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a minor inaccuracy in the Emacs manual
+
+	* doc/emacs/cmdargs.texi (Action Arguments): Don't mention
+	'find-file', as the implementation has changed.  Reported by
+	Everton J. Carpes <everton.carpes@gmail.com> in
+	http://lists.gnu.org/archive/html/help-gnu-emacs/2017-09/msg00146.html.
+
+2017-09-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix errors in flyspell-post-command-hook
+
+	* lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
+	case of a nil Nth element of the language dictionary slot.  This
+	avoids errors in 'flyspell-post-command-hook' when switching
+	dictionaries with some spell-checkers.  (Bug#28501)
+
+2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	Work on Tramp's file-truename
+
+	* lisp/net/tramp-sh.el (tramp-perl-file-truename):
+	Check also for symlinks.
+	(tramp-sh-handle-file-truename): Move check for a symlink
+	cycle to the end.  Do not blame symlinks which look like a
+	remote file name.
+
+	* lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
+
+2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix bug with make-directory on MS-Windows root
+
+	* lisp/files.el (files--ensure-directory): Treat any error, not
+	just file-already-exists, as an opportunity to check whether DIR
+	is already a directory (Bug#28508).
+
+2017-09-19  Tom Tromey  <tom@tromey.com>
+
+	Fix log-view-diff-common when point is after last entry
+
+	Bug#28466
+	* lisp/vc/log-view.el (log-view-diff-common): If point is after last
+	entry, look at the previous revision.
+
+2017-09-18  Ken Brown  <kbrown@cornell.edu>
+
+	Adapt fileio-tests--symlink-failure to Cygwin
+
+	* test/src/fileio-tests.el (fileio-tests--symlink-failure)
+	[CYGWIN]: Skip the case of a symlink target starting with '\';
+	this is treated specially on Cygwin.
+
+2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+	Ignore buffers whose name begins with a space in save-some-buffers
+
+	* lisp/files.el (save-some-buffers): Consider these buffers
+	  "internal", and don't prompt the user to save them.
+	* doc/lispref/files.texi: Document.
+
+2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
+
+	Improve tramp-interrupt-process robustness
+
+	* lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
+	process has disappeared.
+
+2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
+
+	Minor Tramp doc update
+
+	* doc/misc/tramp.texi (Frequently Asked Questions):
+	Mention `vc-handled-backends'.
+
+2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Fix gensym
+
+	* lisp/subr.el (gensym): Actually implement the default prefix.
+	* test/lisp/subr-tests.el (subr-tests--gensym): New test.
+
+2017-09-18  Rasmus  <rasmus@gmx.us>
+
+	Update Org to v9.1.1
+
+	Please see etc/ORG-NEWS for major changes.
+
+2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
+
+	Cleanup in files-tests.el
+
+	* test/lisp/files-tests.el (files-tests--make-directory)
+	(files-tests--copy-directory): Cleanup temporary directories.
+
+2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove old cl-assert calls in 'newline'
+
+	* lisp/simple.el (newline): Remove cl-assert calls
+	that didn't seem to be helping us debug Bug#18913,
+	and that caused problems as reported in Bug#28280.
+	Suggested by Glenn Morris (Bug#28280#8).
+
+2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Avoid crash with C-g C-g in GC
+
+	Problem reported by Richard Stallman (Bug#17406).
+	Based on fix suggested by Eli Zaretskii (Bug#28279#16).
+	* src/term.c (tty_send_additional_strings):
+	Use only safe accessors, to avoid crash when C-g C-g in GC.
+
+2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix format-time-string %Z bug with negative tz
+
+	* src/editfns.c (tzlookup): Fix sign error in %Z when a purely
+	numeric zone is negative (Bug#28746).
+	* test/src/editfns-tests.el (format-time-string-with-zone):
+	Add test for this bug.
+
+2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	message-citation-line-format %Z is now tz name
+
+	* etc/NEWS:
+	* lisp/gnus/message.el (message-citation-line-format):
+	Fix doc to match new behavior (Bug#28476).
+
+2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Use doc-view or pdf-tools on any window-system
+
+	* lisp/net/mailcap.el (mailcap-mime-data): Simply check for
+	window-system.
+
+2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix bug with min and max and NaNs
+
+	* src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
+	mistakenly yielded 0.  Also, pacify GCC in a better way.
+	* test/src/data-tests.el (data-tests-min): Test for the bug.
+
+2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix recently-introduced copy-directory bug
+
+	Problem reported by Andrew Christianson (Bug#28451):
+	* lisp/files.el (copy-directory): If COPY-CONTENTS, make the
+	destination directory if it does not exist, even if it is a
+	directory name.  Simplify, and omit unnecessary test for an
+	already-existing non-directory target, since make-directory
+	diagnoses that for us now.
+	* test/lisp/files-tests.el (files-tests--copy-directory):
+	Test for this bug.
+
+2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from Gnulib
+
+	This incorporates:
+	2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
+	2017-09-13 all: Replace many more http URLs by https URLs
+	* build-aux/config.guess, build-aux/config.sub:
+	* build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
+	* lib/allocator.h, lib/count-leading-zeros.h:
+	* lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
+	* lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
+	* lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
+	* lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
+	* m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
+	* m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
+	Copy from Gnulib.
+	* lib/gnulib.mk.in: Regenerate.
+
+2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix compatibility problem in Tramp
+
+	* lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
+
+	* lisp/net/tramp-compat.el (default-toplevel-value): Move up.
+	(top): Do not call `tramp-change-syntax' anymore.
+	(tramp-compat-directory-name-p): New defalias.
+
+	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+	(tramp-smb-handle-copy-file): Use it.
+
+	* test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
+	Modify test.
+
+2017-09-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid GCC 7 compilation warning in eval.c
+
+	* src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
+	GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
+	in http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00492.html.
+
+2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	Adapt Tramp version.  Do not merge
+
+	* doc/misc/trampver.texi:
+	* lisp/net/trampver.el: Change version to "2.3.3.26.1".
+	(customize-package-emacs-version-alist): Add Tramp version
+	integrated in Emacs 26.1.
+
+2017-09-17  Tom Tromey  <tom@tromey.com>
+
+	Search for Syntax section when viewing MDN
+
+	* lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
+	"Syntax" section.
+
+2017-09-17  Tom Tromey  <tom@tromey.com>
+
+	Allow smerge-keep-current to work for empty hunks
+
+	Bug#25555
+	* lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
+	match-end.
+	* test/lisp/vc/smerge-mode-tests.el: New file.
+
+2017-09-17  Tom Tromey  <tom@tromey.com>
+
+	Call vc-setup-buffer in vc-git-log-{in,out}going
+
+	Bug#28427:
+	* lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
+	vc-setup-buffer.
+
+2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Fix last change to textmodes/page-ext.el
+
+	* lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
+	while we build it (bug#28431).
+
+2017-09-16  Glenn Morris  <rgm@gnu.org>
+
+	* test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
+
+2017-09-16  Glenn Morris  <rgm@gnu.org>
+
+	* test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
+
+	(cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
+
+2017-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation warning in etags.c
+
+	* lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
+	pointer.  Reported by Richard Copley <rcopley@gmail.com>.
+
+2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add lisp variable lcms-d65-xyz
+
+	This serves as the default optional argument for functions in this
+	library.
+	* src/lcms.c (lcms-d65-xyz): New variable.
+	(lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
+	color1 -> color2.
+	* test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
+	(lcms-colorspacious-d65): New variable.
+
+2017-09-16  Gemini Lasswell  <gazally@runbox.com>
+
+	* lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
+
+2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
+
+	Avoid MinGW64 compiler warnings in unexw32.c
+
+	* src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
+	64-bit build.
+
+2017-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Start emacs-26 release branch
+
+	* configure.ac:
+	* nt/README.W32:
+	* README:
+	* msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
+
+	* lisp/cus-edit.el (customize-changed-options-previous-release):
+	Update value to "25.3".
+
+2017-09-16  Alan Mackenzie  <acm@muc.de>
+
+	Cope better with C++ and Objective-C protection keywords in class declarations
+
+	This fix fixes the fontification of a method inside a class at the time it is
+	typed, when there is a protection keyword clause preceding it.
+
+	* lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
+	keywords.
+	(c-looking-at-decl-block): Avoid scanning forward over protection keyword
+	clauses too eagerly.
+
+	* lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
+	lang defconsts and defvars.
+
+	* lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
+	keyword following a semicolon or brace, move forward over it before attempting
+	to parse a type.
+
+2017-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix order of sorted overlays returned by 'overlays-at'
+
+	* src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
+	list of results, to have their order as per the documentation.
+	(Bug#28390)
+
+	* etc/NEWS: Mention the change in the behavior of overlays-at.
+
+2017-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Disable execution of unsafe Lisp by Enriched Text mode
+
+	* src/xdisp.c (handle_display_spec): If the display property is
+	wrapped in 'disable-eval' form, disable Lisp evaluation while
+	processing this property.
+	(handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
+	If that argument is false, don't evaluate Lisp while processing
+	display properties.
+
+	* lisp/textmodes/enriched.el
+	(enriched-allow-eval-in-display-props): New defcustom.
+	(enriched-decode-display-prop): If
+	enriched-allow-eval-in-display-props is nil, wrap the display
+	property with 'disable-eval' to disable Lisp evaluation when the
+	display property is processed for display.  (Bug#28350)
+	* lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
+	enriched text.
+
+	* doc/lispref/display.texi (Display Property): Document the
+	'disable-eval' wrapping of 'display' properties.
+	* doc/emacs/text.texi (Enriched Properties): Document
+	'enriched-allow-eval-in-display-props'.
+
+	* etc/NEWS: Describe the security issues with Enriched Text mode
+	and their solution.
+
+2017-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid MinGW64 compilation warning in w32.c
+
+	* src/w32.c (sys_strerror): Provide a prototype for MinGW64.
+
+2017-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix MS-Windows build broken by recent changes in lcms.c
+
+	* src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
+	and cmsxyY2XYZ function pointers.
+	(init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
+	cmsxyY2XYZ from liblcms2.
+	(cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
+	corresponding function pointers.
+	(Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
+	(syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
+
+2017-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid GCC 7 compilation warning in data.c
+
+	* src/data.c (minmax_driver): Use UNINIT to avoid compilation
+	warnings.  Reported by Fabrice Popineau
+	<fabrice.popineau@centralesupelec.fr>.
+
+2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add lcms-temp->white-point and initial tests
+
+	* src/lcms.c (lcms-temp->white-point): New function.
+	* test/src/lcms-tests.el: New file.
+
+2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Use cl-print in timer list
+
+	* lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
+	for handling functions.
+	(timer-list-mode): Capitalize major mode name.  Set bidi direction
+	as in tabulated-list-mode.
+
+2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+	Make landscape layout with geometry package rather than a PostScript special.
+
+	* lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
+	default class option.
+	(cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
+	request to `cal-tex-insert-preamble' function call within the
+	class option string.
+	(cal-tex-cursor-month): Don't pass any longer "12pt" argument
+	to `cal-tex-insert-preamble' function, as it is default.
+	(cal-tex-insert-preamble): Suppress landscape and size
+	argument, and replace them by a class-options string
+	argument. Do not insert any longer "\special{landscape}" in
+	case of landscape layout, as the job is made by the geometry
+	package.
+
+2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
+
+2017-09-15  Eli Zaretskii  <eliz@gnu.org>
+
+	One more attempt to avoid GCC 7 warnings in dispnew.c
+
+	* src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
+	eassert, to avoid compilation warnings about NULL pointer
+	dereferences.
+
+2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Fix color-distance docstring
+
+	Also feed the translated color to the metric argument.
+	* src/xfaces.c (color-distance): Reword docstring to be more helpful.
+	Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
+	instead of the function's color arguments.
+
+2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
+
+	Improve Tramp behaviour according to bug#27986
+
+	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+	(tramp-smb-handle-copy-file): Check, that NEWNAME is a
+	directory name when existing.  Use `file-name-as-directory'
+	where appropriate.
+
+2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	More JSON optimization
+
+	Last I checked, inlining json-skip-whitespace didn't make much
+	difference.  However, changing defsubsts to define-inline results
+	in roughly 15% reduction in read time on a 200K file.
+	* lisp/json.el (json-advance, json-peek, json-pop):
+	(json-skip-whitespace): Inline with define-inline.
+	(json-read-keyword): Don't use whitespace syntax.
+	(json-add-to-object): Simpler condition.
+
+2017-09-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid crashes due to invalid error forms from sentinels/filters
+
+	* src/process.c (exec_sentinel_error_handler): Make sure the error
+	form passed to cmd_error_internal is a cons cell.  (Bug#28430)
+
+2017-09-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid compilation warnings with GCC 7 on MS-Windows
+
+	* src/w32term.c (w32_setup_relief_color, construct_mouse_click)
+	(w32_read_socket): Initialize variables to shut up bogus
+	compilation warnings from GCC 7.
+	* src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
+	to avoid compiler warnings about printing signed values using %x
+	format spec.
+	* src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
+	compiler warning about possible NULL pointer dereference.
+	* src/lisp.h (pI): Tweak the definition some more for MinGW64.
+
+2017-09-15  Martin Rudalics  <rudalics@gmx.at>
+
+	Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
+
+	* src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
+	case only to avoid unused macros warning otherwise.
+
+2017-09-15  Martin Rudalics  <rudalics@gmx.at>
+
+	In w32heap.c bump up DUMPED_HEAP_SIZE
+
+	* src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
+	to 13*1024*1024 for 32-bit non-wide-integer builds.
+
+2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Bind n,p in timer-list
+
+	* lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
+	to next- and previous-line, respectively.
+
+2017-09-14  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/net/tls.el (tls-program): Fix :version.
+
+2017-09-14  Eli Zaretskii  <eliz@gnu.org>
+
+	* configure.ac (--with-lcms2, --without-lcms2): New options.
+
+2017-09-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid 64-bit compilation warnings in unexw32.c
+
+	* src/unexw32.c (pDWP): New macro.
+	(COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
+	pDWP for printing values that can be either 32-bit or 64-bit wide.
+
+2017-09-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix warnings about formats in printf-like functions on MS-Windows
+
+	* src/lisp.h (pI) [__MINGW32__]: Provide definition that will
+	hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
+	http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00171.html
+	for the details.
+	* src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
+	definition specific to MinGW64.
+	(PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
+	__mingw_printf__ in ANSI-compatible mode.
+
+2017-09-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Support lcms2 in MS-Windows builds
+
+	* lisp/term/w32-win.el (dynamic-library-alist): Include
+	association for the lcms2 library.
+
+	* src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
+	DEF_DLL_FN to define pointers to dynamically loaded lcms2
+	functions.
+	(cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
+	(cmsCIECAM02Done): New macros.
+	(init_lcms_functions, Flcms2_available_p): New functions.
+	(Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
+	init_lcms_functions.
+	(syms_of_lcms2): Defsubr lcms2-available-p.
+	* src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
+
+	* configure.ac: Include lcms2 in the final report and in
+	emacs_config_features.
+
+	* nt/INSTALL:
+	* nt/INSTALL.W64: Update with the information about lcms2 library.
+
+2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port renameat_noreplace to openSUSE 12.3
+
+	Problem reported by M. Nomiya in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00363.html
+	* src/sysdep.c (renameat_noreplace):
+	Call renameat2 only if CYGWIN.
+
+2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Prefer HTTPS to FTP and HTTP in documentation
+
+	Most of this change is to boilerplate commentary such as license URLs.
+	This change was prompted by ftp://ftp.gnu.org's going-away party,
+	planned for November.  Change these FTP URLs to https://ftp.gnu.org
+	instead.  Make similar changes for URLs to other organizations moving
+	away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
+	fsf.org when this works, as this will further help defend against
+	man-in-the-middle attacks (for this part I omitted the MS-DOS and
+	MS-Windows sources and the test tarballs to keep the workload down).
+	HTTPS is not fully working to lists.gnu.org so I left those URLs alone
+	for now.
+
+2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Prefer HTTPS to HTTP for gnu.org
+
+	This patch just changes code files; a followup companion patch
+	(much larger) will affect the commentary.  This part is
+	separated out to make it easier to review.
+	* .dir-locals.el (change-log-mode):
+	* lisp/org/org-info.el (org-info-other-documents)
+	(org-info-map-html-url):
+	* lisp/org/ox-html.el (org-html-creator-string):
+	* lisp/startup.el (fancy-startup-text, fancy-about-text)
+	(fancy-splash-head):
+	* test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
+	* test/lisp/thingatpt-tests.el (thing-at-point-test-data):
+	Use HTTPS instead of HTTP.
+
+2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Add tests for color.el
+
+	* lisp/color.el (color-name-to-rgb, color-complement): Clarify in
+	docstrings that RGB triplets should use four digits per component.
+	(color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
+	warning.
+
+	* test/lisp/color-tests.el: New file.
+
+2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make gnutls-verify-error work again with url-retrieve-synchronously
+
+	* lisp/url/url-gw.el (url-open-stream): Only use :nowait if
+	we're doing async connections (bug#26835).
+
+	* lisp/url/url-parse.el (url): Add an asynchronous slot.
+
+	* lisp/url/url.el (url-asynchronous): New variable.
+	(url-retrieve-internal): Store the value.
+	(url-retrieve-synchronously): Bind the variable.
+
+2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
+
+	Improve backward compatibility of tramp-tests
+
+	* test/lisp/net/tramp-tests.el (seq): Don't require.
+	(tramp--test-emacs26-p): New defun.
+	(tramp-test10-write-region, tramp-test11-copy-file)
+	(tramp-test12-rename-file, tramp-test15-copy-directory)
+	(tramp-test21-file-links): Use it.
+	(tramp-test16-file-expand-wildcards): Use `copy-sequence'.
+
+2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/trampver.el (customize-package-emacs-version-alist):
+
+	Add Tramp version integrated in Emacs 25.3.
+
+2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add clarification to if-let* docstring
+
+	Also make its behaviour consistent with and-let* in that empty bindings
+	results in success, not failure.
+	* lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
+
+2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make fully qualified domain names more fully qualified
+
+	* lisp/gnus/message.el (message-make-fqdn): Don't try to use a
+	system-name without any periods as a fully qualified domain name.
+
+2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove unused file lib/getopt_.h
+
+	* lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
+	on 2011-01-08, but I forgot to remove the old file.
+
+2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Remove "baroque" use of prefix argument from gensym
+
+	'cl-gensym' was simply moved here, but let us take an opportunity to
+	shed some historical baggage.
+	* lisp/subr.el (gensym): Remove special treatment of PREFIX as a
+	number.  Use "g" as prefix to differentiate from cl-gensym defaults.
+	* doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
+	* lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
+
+2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Provide an lcms2 feature
+
+	* src/lcms.c (syms_of_lcms2): Provide "lcms2".
+
+2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add lcms2 interface
+
+	configure.ac: Add boilerplate for configuring and detecting liblcms2.
+	etc/NEWS: Mention new configure option and color-distance change.
+	src/Makefile.in: Add references to lcms.c and liblcms.
+	src/emacs.c: Define lcms2 symbols.
+	src/lcms.c: New file.
+	src/lisp.h: Add declaration for lcms2.
+	src/xfaces.c: Add optional METRIC argument.
+
+2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add other D series white points and some simple conversions
+
+	* lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
+	constants.
+	(color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
+	(color-lch-to-lab): New functions.
+
+2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Permit non-integral color gradients
+
+	* lisp/color.el (color-gradient): Float the step-number.
+
+2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Protect against malformed MIME messages that cause inf-loop (bugfix)
+
+	* lisp/gnus/gnus-art.el (gnus-article-mime-handles):
+	Protect against malformed MIME messages that cause inf-loop.
+
+2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from Gnulib
+
+	This incorporates:
+	2017-09-13 all: prefer https: URLs
+	This just changes http: to https: in comments,
+	in files copied from Gnulib.
+
+2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Call vc-resynch-buffer in vc-git-resolve-when-done
+
+	* lisp/vc/vc-git.el (vc-git-resolve-when-done):
+	Call vc-resynch-buffer on the current file (bug#28121).
+	Move its autoload to before this function.
+
+2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+	Allow write-contents-functions to short-circuit buffer save
+
+	Bug#28412
+
+	* lisp/files.el (basic-save-buffer): Re-arrange function so that
+	  write-contents-functions are run earlier. If they return non-nil,
+	  consider the buffer saved without requiring the buffer to be
+	  visiting a file.
+	  (save-some-buffers): This function should consider any buffer with a
+	  buffer-local value for write-contents-functions eligible for
+	  saving.
+	* test/lisp/files-tests.el (files-test-no-file-write-contents): New
+	  test.
+	* doc/lispref/files.texi (Saving Buffers): Mention in docs.
+	* etc/NEWS: And in NEWS.
+
+2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* etc/NEWS.25: Copy from emacs-25 etc/NEWS.
+
+2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Less chatter for ’make info/dir’
+
+	* Makefile.in (${srcdir}/info/dir): Tweak shell command so
+	that an ordinary make says just "GEN info/dir" rather than
+	also having a seemingly-unrelated mv line.
+
+2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Tweak Gnus doc re gnus-copy-file
+
+	* doc/misc/gnus.texi (Saving Articles):
+	Document behavior with directory name targets (Bug#27986).
+	Problem reported by Katsumi Yamaoka in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00216.html
+
+2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Update uses of if-let and when-let
+
+	* lisp/dom.el (dom-previous-sibling):
+	* lisp/emacs-lisp/package.el (package--with-work-buffer):
+	(package--sort-deps-in-alist, package--sort-by-dependence):
+	(package-install-from-archive, package-install):
+	(package-menu-execute, package-menu--populate-new-package-list):
+	* lisp/filenotify.el (file-notify--rm-descriptor):
+	(file-notify--event-watched-file, file-notify--event-file-name):
+	(file-notify--event-file1-name, file-notify-rm-watch):
+	(file-notify-valid-p):
+	* lisp/gnus/message.el (message-toggle-image-thumbnails):
+	* lisp/gnus/nnimap.el (nnimap-request-move-article):
+	* lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
+	* lisp/mpc.el (mpc-format):
+	* lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
+	(eww-save-history):
+	* lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
+	* lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
+	* lisp/svg.el (svg-remove):
+	* lisp/textmodes/css-mode.el (css--named-color):
+	(css--colon-inside-funcall):
+	* lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
+	(html-current-buffer-ids): Use if-let* and when-let* instead.
+
+2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Implement and-let*
+
+	This also includes changes to if-let and when-let.  The single tuple
+	special case is ambiguous, and binding a symbol to nil is not as
+	useful as binding it to its value outside the lexical scope of the
+	binding.  (Bug#28254)
+	* etc/NEWS: Mention.
+	* lisp/emacs-lisp/subr-x.el (internal--listify):
+	(internal--build-binding-value-form): Extend to account for
+	solitary symbols and (EXPR) items in binding varlist.
+	(if-let*, when-let*): Nix single tuple case and incumbent
+	bind-symbol-to-nil behavior.
+	(and-let*): New macro.
+	(if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
+	they implicitly gain the new features without breaking existing code.
+	* test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
+	single-tuple special case, lack of binding solitary symbols to nil,
+	and the introduction of uninterned symbols for (EXPR) bindings.  Add
+	SRFI-2 test suite adapted to Elisp.
+
+2017-09-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix minor typos in the Emacs manual
+
+	* doc/emacs/text.texi (Org Organizer):
+	* doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
+
+2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge Emacs 25.3 fixes
+
+	The security patches released for Emacs 25.3 were less drastic
+	than what we had immediately put into master.  Adjust master to
+	match 25.3 (Bug#28350).
+	* lisp/textmodes/enriched.el (enriched-translations):
+	Re-enable FUNCTION and display translations that are safe.
+	(enriched-handle-display-prop): Bring back.
+	(enriched-decode-display-prop): Bring back, but disable
+	the unsafe part.
+
+2017-09-12  Alan Mackenzie  <acm@muc.de>
+
+	Don't match C++ template delims starting within a token.  FIxes bug #28418.
+
+	* lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
+	attempted match from the start of a token (in particular, "<<"), move to the
+	next token rather than the nex character before searching for the next "<".
+
+2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Move gensym to core Elisp
+
+	* doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
+	after make-symbol.
+	* etc/NEWS: Mention.
+	* lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
+	gensym-counter.
+	(cl-gensym): Alias to gensym.
+	* lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
+	* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
+	* lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
+	(ert--expand-should-1, ert--expand-should):
+	(ert--should-error-handle-error):
+	* lisp/emacs-lisp/generator.el (cps--gensym):
+	* lisp/emacs-lisp/gv.el (setf):
+	* lisp/emacs-lisp/inline.el (inline--do-letlisteval):
+	* lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
+	(pcase--funcall, pcase--u1): Use gensym.
+	* lisp/subr.el (gensym-counter): New variable.
+	(gensym): New function, assimilated from cl-lib.
+
+2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Fix cl-gentemp
+
+	* lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
+	(cl-gentemp): Use it.  Change prefix to "T".
+
+2017-09-12  Sam Steingold  <sds@gnu.org>
+
+	gnus-score-file-name: Do not append empty suffix.
+
+2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
+
+	Extend tramp-tests according to bug#27986
+
+	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
+	(tramp-test12-rename-file, tramp-test15-copy-directory)
+	(tramp-test21-file-links): Extend tests.
+	(tramp-test13-make-directory, tramp-test14-delete-directory):
+	Specifiy error symbol in `should-error'.
+
+2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add cl-print method for hash tables
+
+	* lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
+
+2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add docstrings to cl-print entry points
+
+	* lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
+	(cl-prin1, cl-prin1-to-string): Add docstrings.
+
+2017-09-12  Glenn Morris  <rgm@gnu.org>
+
+	Improve reproducibility of generated leim-list.el
+
+	* lisp/international/quail.el (quail-update-leim-list-file):
+	Sort the quail directory listing, for more stable output.
+
+2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Include sxhash of object with printed bytecode
+
+	This printing, while succint, is rather opaque.  At least give an
+	immediate clue of whether different byte code printouts are for the
+	same or different byte code objects.
+	* lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
+	printed token "#<bytecode>".
+
+2017-09-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Update documentation of 'max-lisp-eval-depth'
+
+	* doc/lispref/eval.texi (Eval): Update the documented default
+	value of 'max-lisp-eval-depth'.
+
+2017-09-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Another place to produce debugging output in etags
+
+	* lib-src/etags.c (Ruby_functions): One more place to print
+	debugging output under --debug.
+
+2017-09-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of etags-related features
+
+	* doc/emacs/maintaining.texi (Looking Up Identifiers): Document
+	'xref-prompt-for-identifier'.  (Bug#28403)
+	(Etags Regexps): Document \D back references in etags regexps.
+
+2017-09-11  Alan Third  <alan@idiocy.org>
+
+	Fix macOS compatibility versions for vibrant dark theme (bug#28415)
+
+	* src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
+	Change macOS compatibility from 10.9 to 10.10.
+
+2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
+
+	Further optimization in Tramp's file name decomposition
+
+	* lisp/net/tramp.el (tramp-syntax): Recompute all file name
+	components.  Call `custom-set-variables' after loading.
+	(tramp-build-prefix-format, tramp-build-prefix-regexp)
+	(tramp-build-method-regexp)
+	(tramp-build-postfix-method-format)
+	(tramp-build-postfix-method-regexp)
+	(tramp-build-prefix-ipv6-format)
+	(tramp-build-prefix-ipv6-regexp)
+	(tramp-build-postfix-ipv6-format)
+	(tramp-build-postfix-ipv6-regexp)
+	(tramp-build-postfix-host-format)
+	(tramp-build-postfix-host-regexp)
+	(tramp-build-file-name-regexp)
+	(tramp-build-completion-file-name-regexp): New defuns.
+	(tramp-prefix-format, tramp-prefix-regexp)
+	(tramp-method-regexp, tramp-postfix-method-format)
+	(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
+	(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
+	(tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
+	(tramp-postfix-host-regexp)
+	(tramp-remote-file-name-spec-regexp)
+	(tramp-file-name-structure, tramp-file-name-regexp)
+	(tramp-completion-file-name-regexp): Convert defuns into defvars.
+	(tramp-prefix-regexp-alist)
+	(tramp-postfix-method-regexp-alist)
+	(tramp-prefix-ipv6-regexp-alist)
+	(tramp-postfix-ipv6-regexp-alist)
+	(tramp-postfix-host-regexp-alist)
+	(tramp-remote-file-name-spec-regexp-alist): Remove.
+	(tramp-build-remote-file-name-spec-regexp)
+	(tramp-build-file-name-structure): Simplify.
+	(tramp-completion-file-name-regexp-alist): New defconst.
+	(tramp-tramp-file-p, tramp-dissect-file-name)
+	(tramp-make-tramp-file-name)
+	(tramp-completion-make-tramp-file-name)
+	(tramp-rfn-eshadow-update-overlay-regexp)
+	(tramp-register-file-name-handlers)
+	(tramp-completion-handle-file-name-all-completions)
+	(tramp-completion-dissect-file-name, tramp-clear-passwd):
+	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
+	(tramp-compute-multi-hops): Use variables but functions for
+	file name components.
+
+	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
+	Use variables but functions for file name components.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port tramp-tests to new copy-directory behavior
+
+	* test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
+	Use directory name as arg for copy-directory when we want
+	the special behavior.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Adjust thumbs to new rename-file behavior
+
+	* etc/NEWS: Mention this.
+	* lisp/thumbs.el (thumbs-rename-images): Treat the destination
+	as special only if it is a directory name.  When there is
+	a marked list, turn the destination into a directory name
+	if it is not already.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Adjust ob-tangle to new copy-file behavior
+
+	* lisp/org/ob-tangle.el (org-babel-tangle-publish):
+	Port to new copy-file behavior.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make gnus-copy-file act like copy-file etc.
+
+	* etc/NEWS: Mention this.
+	* lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
+	as special only if it is a directory name.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make write-file act like copy-file etc.
+
+	Change write-file to be consistent with the new behavior
+	of copy-file, etc.
+	* etc/NEWS: Mention this.
+	* lisp/files.el (write-file): Treat the destination as special
+	only if it is a directory name.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make copy-directory act like copy-file etc.
+
+	Do the special dance with the destination only if it is a
+	directory name, for consistency with copy-file etc. (Bug#27986).
+	* doc/emacs/files.texi (Copying and Naming):
+	* doc/lispref/files.texi (Create/Delete Dirs):
+	* etc/NEWS: Document this.
+	* lisp/files.el (copy-directory): Treat NEWNAME as special
+	only if it is a directory name.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix some make-directory bugs
+
+	* lisp/files.el (files--ensure-directory): New function.
+	(make-directory): Use it to avoid bugs when (make-directory FOO t)
+	is invoked on a non-directory, or on a directory hierarchy that
+	is being built by some other process while Emacs is running.
+	* test/lisp/files-tests.el (files-tests--make-directory): New test.
+
+2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix race with rename-file etc. with dir NEWNAME
+
+	This changes the behavior of rename-file etc. slightly.
+	The old behavior mostly disagreed with the documentation, and had
+	a race condition bug that could allow attackers to modify victims'
+	write-protected directories (Bug#27986).
+	* doc/lispref/files.texi (Changing Files): Document that in
+	rename-file etc., NEWFILE is special if it is a directory name.
+	* etc/NEWS: Document the change in behavior.
+	* src/fileio.c (directory_like): Remove.  All uses removed.
+	(expand_cp_target): Test only whether NEWNAME is a directory name,
+	not whether it is currently a directory.  This avoids a race.
+	(Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
+	Document behavior if NEWNAME is a directory name.
+	(Frename_file): Simplify now that the destdir behavior occurs
+	only when NEWNAME is a directory name.
+	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
+	(tramp-test12-rename-file, tramp--test-check-files):
+	Adjust tests to match new behavior.
+
+2017-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Extend --debug printouts in etags
+
+	* lib-src/etags.c (regex_tag_multiline, readline): Under
+	"--debug", print tags found via regexps.
+
+2017-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Add --debug option to etags
+
+	* lib-src/etags.c (make_tag): Print found tags under --debug.
+	(longopts): Add --debug.
+
+2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Spelling fixes
+
+	* lisp/progmodes/cc-langs.el:
+	(c-ambiguous-overloadable-or-identifier-prefixes): Rename from
+	c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
+
+2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-09-08 stddef: Avoid conflict with system-defined max_align_t
+	2017-08-24 warnings: fix compilation with old autoconf
+	2017-08-23 glob: merge from glibc with Zanella glob changes
+	2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
+	* doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
+	* lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
+	* m4/warnings.m4:
+	Copy from Gnulib.
+	* lib/gnulib.mk.in: Regenerate.
+
+2017-09-10  Ken Brown  <kbrown@cornell.edu>
+
+	Implement renameat_noreplace on recent Cygwin
+
+	* src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
+	(renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
+	(Bug#27986)
+
+2017-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid warnings about file names in autoloads on MS-Windows
+
+	* configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
+	avoid warnings from find-file-noselect when making autoloads.  For
+	the details, see
+	http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00049.html.
+
+2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Avoid looking at localized strings
+
+	* lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
+	localized strings.
+	* test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
+	parsing l10n strings doesn't error but is essentially a no-op.
+
+2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* etc/NEWS.25: Document 25.3 changes.
+
+2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Remove unsafe enriched mode translations
+
+	* lisp/gnus/mm-view.el (mm-inline-text):
+	Do not worry about enriched or richtext type.
+	* lisp/textmodes/enriched.el (enriched-translations):
+	Remove translations for FUNCTION, display (Bug#28350).
+	(enriched-handle-display-prop, enriched-decode-display-prop): Remove.
+
+2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Be more consistent about "directory name" in manual
+
+	This clarifies the documentation, partly in response to the
+	discussion in Bug#27986.
+
+2017-09-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Remove more compilation warnings in MinGW64 build
+
+	* src/w32.c (faccessat, map_w32_filename):
+	* src/w32fns.c (w32_wnd_proc):
+	* src/w32term.c (w32_horizontal_scroll_bar_handle_click)
+	(w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
+	warnings with GCC 7 and later.
+
+2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve --enable-gcc-warnings for MinGW64
+
+	This partially reverts my 2016-05-30 patch.  Apparently MinGW64
+	still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
+	does not.  Also, pacify tparam.c, which isn’t used on Fedora.
+	* lib-src/etags.c (process_file_name, TeX_commands):
+	* src/buffer.c (fix_overlays_before):
+	* src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
+	(cons_to_signed):
+	* src/editfns.c (Ftranslate_region_internal):
+	Prefer UNINIT to some stray value, as this simplifies
+	code-reading later.
+	* src/eval.c (CACHEABLE): New macro.
+	(internal_lisp_condition_case): Use it.
+	* src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
+
+2017-09-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix font-lock in Compilation mode
+
+	* lisp/progmodes/compile.el (compilation-face): Restore function
+	lost during recent changes.  (Bug#28349)
+
+2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add function to read all entries in a group
+
+	Use that to extend xdg-desktop-read-file.  Also fix a bug where all
+	entries in all groups were read and returned by xdg-desktop-read-file.
+	* lisp/xdg.el (xdg-desktop-read-group): New function.
+	(xdg-desktop-read-file): Use it.
+	* test/data/xdg/malformed.desktop: New file.
+	* test/data/xdg/test.desktop: Add another section.
+	* test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
+	in another group.  Test reading a prescribed group.  Test detecting a
+	malformed key=value.
+
+2017-09-09  Gemini Lasswell  <gazally@runbox.com>
+
+	Reduce Tramp's memory usage
+
+	Construct Tramp syntax strings and regular expressions once instead
+	of every time they are used, and store them in alists keyed by Tramp
+	syntax.
+	* tramp.el (tramp-build-remote-file-name-spec-regexp)
+	(tramp-build-file-name-structure): New functions.
+	(tramp-prefix-format-alist, tramp-prefix-regexp-alist)
+	(tramp-method-regexp-alist)
+	(tramp-postfix-method-format-alist)
+	(tramp-postfix-method-regexp-alist)
+	(tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
+	(tramp-postfix-ipv6-format-alist)
+	(tramp-postfix-ipv6-regexp-alist)
+	(tramp-postfix-host-format-alist)
+	(tramp-postfix-host-regexp-alist)
+	(tramp-remote-file-name-spec-regexp-alist)
+	(tramp-file-name-structure-alist): New constants.
+	(tramp-lookup-syntax): New function.
+	(tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
+	(tramp-postfix-method-format, tramp-postfix-method-regexp)
+	(tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
+	(tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
+	(tramp-postfix-host-format, tramp-postfix-host-regexp)
+	(tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
+	Use it.
+
+2017-09-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation warnings in MinGW64 build using GCC 7
+
+	Reported by Richard Copley <rcopley@gmail.com>.
+	* src/w32heap.c (init_heap): Declare enable_lfh only for
+	mingw.org's MinGW build.
+
+	* src/w32console.c (w32con_write_glyphs):
+	* src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
+	mismatches of data type vs format spec.
+
+	* src/w32fns.c (compute_tip_xy):
+	* src/w32proc.c (stop_timer_thread):
+	* src/w32notify.c (remove_watch):
+	* src/eval.c (internal_lisp_condition_case):
+	* src/editfns.c (Ftranslate_region_internal):
+	* src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
+	(cons_to_signed):
+	* src/buffer.c (fix_overlays_before): Initialize variables to
+	avoid compiler warnings.
+
+	* lib-src/etags.c (TeX_commands, process_file_name): Initialize
+	variables to avoid compilation warnings.
+
+2017-09-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid infloop when scrolling under scroll-preserve-screen-position
+
+	* src/window.c (window_scroll_pixel_based): If screen position is
+	to be preserved, make sure its recorded Y coordinate is outside
+	the scroll margin.  (Bug#28342)
+
+2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
+
+	Clarification in tramp-texi
+
+	* doc/misc/tramp.texi (Connection caching): Two connections are
+	regarded as different now when they differ in the port number only.
+
+2017-09-09  Miles Bader  <miles@gnu.org>
+
+	* admin/quick-install-emacs: Tweak configure.ac parsing
+
+2017-09-09  Miles Bader  <miles@gnu.org>
+
+	Use text-property buttons in rcirc-markup-urls
+
+	* lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
+	instead of `make-button'; the former is much more efficient in large
+	buffers, and for the purposes of rcirc, changes no functionality.
+
+2017-09-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix line-pixel-height for lines of variable height
+
+	* src/xdisp.c (Fline_pixel_height): Start moving from the
+	beginning of the screen line, to capture the full metrics of the
+	line.  (Bug#28391)
+
+2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
+
+	New variable 'dired-confirm-killing-deleted-buffers'
+
+	* lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
+	New variable.
+	* lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
+	visiting deleted files without confirming if
+	dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
+	* etc/NEWS: Document the change.
+
+2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
+
+	Support SVN files with svn:externals property
+
+	* lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
+	marked with the svn:externals property.
+
+2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
+
+	List locally removed files in vc-dir with SVN back-end
+
+	* lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
+	with ?! as needs-update.
+
+2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
+
+	Fix Rmail editing with reapplying encoding to message body
+
+	* lisp/mail/rmailedit.el (rmail-cease-edit):  If no
+	content-type in edited headers, look for one in original
+	headers and add it to edited headers.  (Bug #26918)
+	Use a marker to track start of new body, so that
+	content-transfer-encoding gets applied only to body.  (Bug #27353).
+	Ensure blank line at end of message after encoding, not
+	before.
+
+2017-09-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Document last change in dired.el
+
+	* etc/NEWS (Dired): Document the last change in dired.el.
+	(Bug#27435)
+
+2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
+
+	Make mouse clicks in Dired more customizable
+
+	* lisp/dired.el (dired-mouse-find-file): Allow callers to
+	specify functions to visit file/directory.
+	(dired-mouse-find-file-other-window)
+	(dired-mouse-find-file-other-frame): New functions to visit
+	files in another window/frame.  (Bug#27435)
+
+2017-09-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid compiler warnings on MS-Windows with GCC 6 and 7
+
+	* src/w32font.c (SUBRANGE): Use unsigned arithmetic for
+	bit-shifting, to avoid compiler warnings.
+	(w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
+	a warning.  For details of the warning, see
+	http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00093.html.
+	* src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
+	in that build.
+	* src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
+	function is not used in that build.
+
+	* configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
+
+2017-09-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix 'directory-file-name' on DOS_NT systems as well
+
+	* src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
+	to be consistent with last change.
+
+	* test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
+	Disable on MS-Windows.
+	(fileio-tests--directory-file-name-dos-nt)
+	(fileio-tests--file-name-as-directory-dos-nt): New tests.
+
+2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
+
+	Fix various verilog-mode.el issues.
+
+	* lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
+	"*/*", msg2284. Reported by Jonathan Ferguson.
+	(ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
+	by Victor Lau.
+	(verilog-getopt, verilog-getopt-file) (verilog-library-flags,
+	verilog-substitute-file-name-path): Support -F in verilog getopt files,
+	bug1171. Reported by George Cuan.
+	(verilog-do-indent): Fix misindenting symbols starting with t,
+	bug1169. Reported by Hoai Tran.
+	(verilog-read-auto-template-middle): Fix slow template matching on
+	AUTOINST. Reported by Jeffrey Huynh.
+	(verilog-pretty-expr): The extra whitespace addition before "=" operators
+	is now done only if the whole assignment block contains the 2-character
+	"<=" operator.  Remove the unused argument _myre.  Use `unless',
+	`save-excursion' and `when' functions where possible.  Internal variables
+	refactored for clarity.  Follow elisp convention for closing parentheses.
+	By Kaushal Modi.
+	(verilog-get-lineup-indent-2): Update docstring.  Internal variables
+	refactored for clarity.  Earlier EDPOS argument was expected to be a
+	marker; it is now renamed to END and is now expected to be a position.
+	Use `when' instead of `if'.  By Kaushal Modi.
+	(electric-verilog-terminate-line): Remove the unused second argument from
+	`verilog-pretty-expr' call.  By Kaushal Modi.
+	(verilog-calc-1): Fix indentation of a virtual class definition after a
+	typedef class, bug1080.  By Kaushal Modi.
+
+2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Don't use summary window to visit group buffer (bugfix)
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
+	the window to open the group buffer doesn't visit the summary buffer.
+	This fixes a bug: `gnus-summary-next-article' sometimes causes an error
+	by trying to select nonexistent summary window.
+
+2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix bug: (directory-file-name "///") returned "//"
+
+	* src/fileio.c (directory_file_name): For "///" and longer,
+	return "/", not "//", as per POSIX.
+	* test/src/fileio-tests.el (fileio-tests--directory-file-name)
+	(fileio-tests--file-name-as-directory): New tests.
+
+2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove obsolete vc-mistrust-permissions doc
+
+	* doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
+	for vc-mistrust-permissions, which no longer exists.
+
+2017-09-07  Alan Third  <alan@idiocy.org>
+
+	Set frame size to actual requested size (bug#18215)
+
+	* src/nsterm.m (x_set_window_size): Don't use
+	FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
+
+2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	autogen.sh: omit bogus chatter if no .git
+
+	Problem reported by Angelo Graziosi in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00045.html
+	* autogen.sh (git_config): Do not execut 'git' if $do_git fails.
+
+2017-09-07  Glenn Morris  <rgm@gnu.org>
+
+	Skip emacsclient tests if --enable-profiling was used
+
+	* test/lib-src/emacsclient-tests.el
+	(emacsclient-test-call-emacsclient): Make it a macro.
+	Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
+	(emacsclient-test-alternate-editor-allows-arguments)
+	(emacsclient-test-alternate-editor-allows-quotes): Update for above.
+
+2017-09-06  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a minor markup problem in ELisp manual
+
+	* doc/lispref/functions.texi (Mapping Functions): Fix the order of
+	@example and @group.  For the details, see
+	http://lists.gnu.org/archive/html/bug-texinfo/2017-09/msg00007.html.
+
+2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add XDG desktop file parsing and tests
+
+	* lisp/xdg.el: Add support for Desktop Entry Specification.
+	(xdg--user-dirs-parse-line): Check if file is readable.
+	(xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
+	(xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
+	New functions.
+	* test/lisp/xdg-tests.el:
+	* test/data/xdg/test.desktop:
+	* test/data/xdg/wrong.desktop: New files.
+
+2017-09-06  Glenn Morris  <rgm@gnu.org>
+
+	Allow for adjusting line length of test backtraces
+
+	* test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
+	(%.log): Respect backtrace line length.
+
+2017-09-06  Glenn Morris  <rgm@gnu.org>
+
+	Allow customizing line length of ert backtraces in batch mode
+
+	* lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
+	Make it a user option.
+	(ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
+
+2017-09-06  Glenn Morris  <rgm@gnu.org>
+
+	Minor emacsclient-tests simplification
+
+	* test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
+	Simplify.  Also work when running installed.
+
+2017-09-06  Alan Third  <alan@idiocy.org>
+
+	Revert "Force screen update after drawing cursor glyph (bug#23774)"
+
+	This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
+
+	See bug#28358
+
+2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Refactor some loops in mailcap.el
+
+	* lisp/net/mailcap.el (mailcap-mime-types):
+	(mailcap-file-default-commands): Convert nested maps to loops.
+
+2017-09-05  Glenn Morris  <rgm@gnu.org>
+
+	emacsclient-tests: remove some debug statements
+
+	* test/lib-src/emacsclient-tests.el
+	(emacsclient-test-call-emacsclient): Remove debug statements.
+
+2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Handle non-zero exit status from psql more gracefully
+
+	* lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
+	exit statuses from `psql -ltX' more gracefully by returning nil.
+
+	* test/lisp/progmodes/sql-tests.el
+	(sql-tests-postgres-list-databases-error): New test.
+
+2017-09-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
+
+	* src/w32proc.c (sys_kill): Preserve the up/down state of the
+	Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
+
+2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* src/image.c (Fimagemagick_types): Doc fix.
+
+2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Move soundex.el test to a proper test
+
+	* test/lisp/soundex-tests.el: New file.
+	* lisp/soundex.el: Use lexical-binding.  Remove commented test.
+
+2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add tests for mailcap.el
+
+	* test/data/mailcap/mime.types: New file.
+	* test/lisp/net/mailcap-tests.el: New file.
+
+2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
+
+	Doc precisment about remote link targets
+
+	* doc/lispref/files.texi (Truenames): Explain handling of
+	targets of `file-truename' and `make-symbolic-link', which
+	look like a remote file name.
+
+	* etc/NEWS: Precise examples for symlinks which look like
+	remote file names.  MUSTBENEW of `write-region' is not
+	propagated to file name handlers.
+
+2017-09-05  John Wiegley  <johnw@newartisans.com>
+
+	Remove an opinionated section on "What Eshell is not"
+
+	I don't find this information to accurately reflect possible use cases
+	for Eshell; plus, it doesn't offer much in the way of information,
+	just opinion.
+
+2017-09-05  Ken Brown  <kbrown@cornell.edu>
+
+	Fix configure test for Xpm
+
+	Problem reported by Ashish Shukla in
+	https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00020.html.
+	* configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
+	noX/xpm.h in configure test.
+
+2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Revert recent float→double Motif change
+
+	Problem reported by Martin Rudalics in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00014.html
+	* src/xterm.c (xm_scroll_callback, xaw_jump_callback)
+	(x_set_toolkit_scroll_bar_thumb)
+	(x_set_toolkit_horizontal_scroll_bar_thumb):
+	Go back to using ‘float’ temporaries rather than ‘double’.
+	Although quite possibly this masks an underlying bug,
+	we lack time to look into that now.
+
+2017-09-04  Glenn Morris  <rgm@gnu.org>
+
+	emacsclient-tests: add some debug statements
+
+	* test/lib-src/emacsclient-tests.el
+	(emacsclient-test-call-emacsclient): Add debug statements.
+
+2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
+
+	Work on Tramp's (symbolic) links
+
+	* doc/misc/tramp.texi (Traces and Profiles): Mention the
+	backtrace when tramp-verbose is greater than or equal to 10.
+
+	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
+	Use `tramp-handle-add-name-to-file'.
+
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
+	`tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
+
+	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
+
+	* lisp/net/tramp-smb.el (tramp-smb-errors):
+	Add "NT_STATUS_CONNECTION_DISCONNECTED" and
+	"NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
+	(tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
+	(tramp-smb-do-file-attributes-with-stat): Return non-nil only
+	if one of the attributes is non-nil.
+	(tramp-smb-handle-file-local-copy): Use `file-truename'.
+	(tramp-smb-handle-file-truename): Move to tramp.el.
+	(tramp-smb-handle-insert-directory): Show symlinks.
+	(tramp-smb-handle-make-symbolic-link): Improve.
+	(tramp-smb-read-file-entry): Handle extended file modes in Samba.
+
+	* lisp/net/tramp.el (tramp-handle-add-name-to-file)
+	(tramp-handle-file-truename): New defuns.
+
+	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
+	(tramp--test-check-files): Make check for "smb".
+
+2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Embed JSON readtable into json-read
+
+	Also unroll dispatch into a cond.
+	* lisp/json.el (json-readtable): Remove.
+	(json-readtable-dispatch): New macro.  Assimilate json-readtable.
+	(json-read): Use the macro.
+
+2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Hexify strings in EWW search queries
+
+	Previously, inputting "cats & dogs" would lose dogs because the
+	ampersand signifies a query parameter.  Instead, hexify each word while
+	preserving quotes with split-string.
+	* lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
+	with + separators, instead of replacing whitespace with +.
+
+2017-09-03  Glenn Morris  <rgm@gnu.org>
+
+	emacsclient-tests: call-process may return non-integer
+
+	* test/lib-src/emacsclient-tests.el
+	(emacsclient-test-alternate-editor-allows-arguments)
+	(emacsclient-test-alternate-editor-allows-quotes):
+	Handle non-integer return from call-process.
+
+2017-09-03  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
+
+2017-09-03  Alan Third  <alan@idiocy.org>
+
+	Force screen update after drawing cursor glyph (bug#23774)
+
+	* src/nsterm.m (ns_draw_window_cursor): Force a screen update after
+	drawing the glyph over the cursor.
+
+2017-09-03  Alan Mackenzie  <acm@muc.de>
+
+	Correct the fontification of quote marks after buffer changes in CC Mode.
+
+	* lisp/progmodes/cc-defs.el
+	(c-search-forward-char-property-with-value-on-char): New macro.
+
+	* lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
+	(c-parse-quotes-after-change): Rewrite the functions, simplifying
+	considerably, and removing unnecessary optimisations.  Invalidate two caches
+	after manipulating text properties.
+
+2017-09-03  Alan Mackenzie  <acm@muc.de>
+
+	Fix fontification of "operator~" in C++ Mode.
+
+	* lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
+	(c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
+
+	* lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
+	two other symbols) as a cast without good evidence.  Prefer an overloaded
+	operator in ambiguous cases.
+
+2017-09-03  Martin Rudalics  <rudalics@gmx.at>
+
+	In delete_frame do not delete terminal for any toolkit build
+
+	* src/frame.c (delete_frame): Neither delete terminal for
+	non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
+	Bug#27816).
+
+2017-09-02  Philipp Stephani  <phst@google.com>
+
+	Improve error messages for improper plists (Bug#27726)
+
+	* src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
+	(Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
+	improper plists instead of ‘listp.’
+
+	* test/src/fns-tests.el (plist-get/odd-number-of-elements)
+	(lax-plist-get/odd-number-of-elements)
+	(plist-put/odd-number-of-elements)
+	(lax-plist-put/odd-number-of-elements)
+	(plist-member/improper-list): Add unit tests.
+
+2017-09-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix decrypting in plstore.el on MS-Windows
+
+	* lisp/plstore.el (plstore-open): Bind coding-system-for-read to
+	raw-text, instead of using insert-file-contents-literally.
+	(Bug#28114)
+
+2017-09-02  Eli Zaretskii  <eliz@gnu.org>
+
+	* src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
+
+2017-09-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Rewrite Antinews for Emacs 26
+
+	* doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
+	* doc/lispref/elisp.texi (Top): Update the top-level menu's
+	Antinews entry.
+	* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
+	* doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
+	entry.
+
+	* etc/NEWS: Rearrange some entries in a more reasonable order.
+
+2017-09-02  Reuben Thomas  <rrt@sc3d.org>
+
+	Fix a mis-binding in a test
+
+	* test/lisp/progmodes/python-tests.el
+	(python-shell-calculate-process-environment-3): Fix binding of
+	process-environment.  A level of parens was missing.
+
+	This was found after Glenn Morris noticed a similar problem with the
+	patch for Bug#28319.
+
+2017-09-02  Reuben Thomas  <rrt@sc3d.org>
+
+	Fix a mis-binding and a bad defun name in a test (Bug#28319)
+
+	test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
+	emacsclient-test-call-emacsclient.
+	(emacsclient-test-alternate-editor-allows-arguments)
+	(emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
+	process-environment.
+
+	Thanks to Glenn Morris for noticing these errors.
+
+2017-09-02  Glenn Morris  <rgm@gnu.org>
+
+	* test/Makefile.in (check-no-automated-subdir): Silence by default.
+
+	* test/Makefile.in (ELFILES): Sort, for a reproducible order.
+
+2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Turn off checkdoc complaint about default argument order
+
+	* etc/NEWS: Mention change.
+	* lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
+	Disable by default, note version.
+
+2017-09-01  Reuben Thomas  <rrt@sc3d.org>
+
+	Stop emacsclient tests hanging (Bug#28319)
+
+	* test/lib-src/emacsclient-tests.el
+	(emacsclient-test-alternate-editor-allows-arguments): Use a
+	non-existent file to communicate with server, so that any existing
+	default server will not be hijacked (in fact, the test does
+	not need a server).
+	(emacsclient-test-alternate-editor-allows-quotes): Likewise.
+
+2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/obsolete/html2text.el: Don't require CL
+
+	(html2text-clean-anchor): Mark unused arg.
+
+2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Don't remove undisplayers from inlined MIME parts (bugfix)
+
+	* lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
+	Don't remove undisplayers from inlined MIME parts (bugfix);
+	Simplify criterion that finds attachments.
+
+2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Make ucs-names a hash table (Bug#28302)
+
+	* etc/NEWS: Mention the type change.
+	* lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
+	Hardcode BEL's name into the function instead of needlessly mapping
+	over the hash table in the spirit of rassoc.
+	* lisp/international/mule-cmds.el (ucs-names): Fix variable and
+	function docstrings.  Initialize a hash table for ucs-names--the
+	number of entries is 42845 here.  Switch to hash-table
+	getters/setters.
+	(mule--ucs-names-annotation): Use hash-table getter.
+	(char-from-name): Upcase the string if ignore-case is truthy.
+	* lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
+
+2017-08-31  Alan Third  <alan@idiocy.org>
+
+	Remove unneeded version checks (bug#28222)
+
+	* src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
+	check.
+	* src/macfont.m (macfont_draw): Remove version check, and test for
+	existence of CGContextSetFontSmoothingStyle.
+
+2017-08-31  Alan Mackenzie  <acm@muc.de>
+
+	Fix a glitch in CC Mode's syntactic whitespace cache.
+
+	* lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
+	comment close at the end of a macro.
+
+2017-08-31  Alan Mackenzie  <acm@muc.de>
+
+	Correct the fontification of C++ Mode enclosed declarations.
+
+	* lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
+	spurious check that the character before the start of an enclosed declaration
+	must be ; or }.  It might also be {.
+
+2017-08-31  Martin Rudalics  <rudalics@gmx.at>
+
+	In xterm.c fix some recently introduced compiler warnings
+
+	* src/xterm.c (xaw_jump_callback)
+	(x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
+	-Wdouble-promotion warnings.
+
+2017-08-31  Martin Rudalics  <rudalics@gmx.at>
+
+	Restrict fix of Bug#24963 and Bug#25887 to GTK builds
+
+	* src/xterm.c (handle_one_xevent): Restrict earlier fix of
+	Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
+	react to state changes received via ConfigureNotify.
+
+2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Respect directory a user enters (bug#28299)
+
+	* lisp/gnus/mm-decode.el (mm-save-part):
+	Respect directory a user enters (bug#28299).
+
+2017-08-31  Samuel Freilich  <sfreilich@google.com>
+
+	Do not split line before width of fill-prefix
+
+	When auto-filling a paragraph, don't split a line before the width of the
+	fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
+	* lisp/simple.el (do-auto-fill): Only consider break-points that are later in
+	the line than the width of the fill-prefix.  This is a more general solution
+	than the previous logic, which only skipped over the exact fill-prefix.  The
+	fill-prefix doesn't necessarily match the prefix of the first line of a
+	paragraph in adaptive-fill-mode.
+
+2017-08-31  Noam Postavsky  <npostavs@gmail.com>
+
+	Support lazy loading for autogenerated usage docstrings too (Bug#27748)
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
+	Consider any documentation that ended up in code as a docstring (e.g.,
+	autogenerated (fn ARG1 ARG2) type things), not just what the user
+	passed.
+
+2017-08-31  Noam Postavsky  <npostavs@gmail.com>
+
+	Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
+
+	* lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
+	to drop the docstring.  Add a simple docstring to the compiler-macro.
+
+2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Quote file-truename symlink to "../foo:bar:"
+
+	Problem reported by Michael Albinus (Bug#28264#19).
+	* lisp/files.el (files--splice-dirname-file): Fix bug where
+	a relative symlink to "../foo:bar:" did not quote the result.
+
+2017-08-30  Reuben Thomas  <rrt@sc3d.org>
+
+	Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
+
+	* lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
+	corresponding command-line argument, into quote- or space-separated
+	tokens.  If a token starts with a quote, then it naturally is expected
+	to end with a quote; escaping is not supported. This is enough to cope
+	with the typical case of requiring the initial path to be quoted,
+	common on Windows where it may contain spaces.
+	* etc/NEWS: Document.
+	* doc/emacs/misc.texi: Likewise.
+	* doc/man/emacsclient.1: Tweak to remove the implication that only an
+	editor can be specified (the manual already mentions a “command”).
+	Fix a small error where “EDITOR” is referred to rather than
+	“ALTERNATE_EDITOR”.
+	* test/lib-src/emacsclient-tests.el: Add tests.
+
+2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
+
+2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
+
+	Correct "hide others" shortcut on macOS (bug#28215)
+
+	* lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
+
+2017-08-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Sync NEWS with the documentation
+
+	* etc/NEWS: Mark entries according to documentation.
+
+	* doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
+
+2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	Improve symlinks for Tramp
+
+	* lisp/files.el (files--splice-dirname-file): Quote whole file.
+
+	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
+	Do not expand TARGET, it could be remote.
+	(tramp-sh-handle-file-truename): Check for cyclic symlink also
+	in case of readlink.  Quote result if it looks remote.
+	(tramp-sh-handle-file-local-copy): Use `file-truename'.
+
+	* test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
+	(tramp-test09-insert-file-contents): Test also file missing.
+	(tramp-test21-file-links): Extend test.
+
+2017-08-30  Martin Rudalics  <rudalics@gmx.at>
+
+	Preserve display's foreground color when clearing internal borders (Bug#28278)
+
+	* src/xterm.c (x_after_update_window_line): Preserve display's
+	foreground color when clearing internal borders (Bug#28278).
+
+2017-08-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Use cl-print for all values printed by `describe-variable'
+
+	* lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
+	global values too.
+
+2017-08-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Minor simplification for byte-compile-constant-push
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
+	of the code from here...
+	(byte-compile-constant-push): ... to here.  No need to bind
+	byte-compile--for-effect anymore.
+
+2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Prefer file-name-quote to concat "/:"
+
+	Suggested by Michael Albinus (Bug#28264#13).
+	* lisp/files.el (files--splice-dirname-file): Use file-name-quote
+	rather than attempting to do it by hand.
+
+2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* configure.ac: fix typo in previous change
+
+2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Be more conservative in link time optimization doc
+
+	While testing --enable-link-time-optimization with GCC 7.1.1
+	I ran into a serious GCC code-generation bug which makes me
+	think that --enable-link-time-optimization should be
+	discouraged for typical installs (Bug#28213).  See:
+	https://bugzilla.redhat.com/show_bug.cgi?id=1486455
+
+2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make garbage collection more conservative
+
+	Check for a pointer anywhere within the object, as opposed to just
+	the start of the object.  This is needed for gcc -Os -flto on
+	x86-64 (Bug#28213).  This change means that the garbage collector
+	is more conservative, and will incorrectly keep objects that it
+	does not need to, but that is better than incorrectly discarding
+	objects that should be kept.
+	* src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
+	this is easier to debug.
+	(setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
+	Now a function with two args, not a macro with three.
+	All callers changed.
+	(live_string_holding, live_cons_holding, live_symbol_holding)
+	(live_misc_holding, live_vector_holding, live_buffer_holding):
+	New functions, which check for any object containing the addressed
+	byte, not just for an object at the given address.
+	(live_string_p, live_cons_p, live_symbol_p, live_misc_p)
+	(live_vector_p, live_buffer_p):
+	Redefine in terms of the new functions.
+	(live_float_p): Refactor slightly to match the new functions.
+	(mark_maybe_object, mark_maybe_pointer): Use the new functions.
+	Don’t bother checking mark bits, as mark_object already does that,
+	and omitting the checks here simplifies the code.  Although
+	mark_maybe_object can continue to insist that tagged pointers
+	still address the start of the object, mark_maybe_pointer now is
+	more conservative and checks for pointers anywhere into an object.
+
+2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve stack-top heuristic
+
+	This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
+	of the stack when scanning for heap roots, causing Emacs to crash
+	later (Bug#28213).  The problem is that Emacs's hack for getting an
+	address near the stack top does not work when link-time optimization
+	moves stack variables around.
+	* configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
+	* lib-src/make-docfile.c (DEFUN_noinline): New constant.
+	(write_globals, scan_c_stream): Support noinline.
+	* src/alloc.c (NEAR_STACK_TOP): New macro.
+	(SET_STACK_TOP_ADDRESS): Use it.
+	(flush_stack_call_func, Fgarbage_collect): Now noinline.
+
+2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Align stack bottom properly.
+
+	This is needed for gcc -Os -flto on x86-64 (Bug#28213).
+	* src/emacs.c (main): Align stack-bottom variable as a pointer,
+	since mark_memory requires this.
+
+2017-08-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid spinning waiting for git-gui.exe on Windows
+
+	* src/w32proc.c (waitpid): If GetExitCodeProcess returns
+	STILL_ACTIVE, and we were called with WNOHANG, pretend that the
+	process exited.  (Bug#28268)
+
+2017-08-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Document '--module-assertions'
+
+	* doc/emacs/cmdargs.texi (Initial Options): Document the
+	'--module-assertions' command-line option.
+	* doc/lispref/loading.texi (Dynamic Modules): Add a
+	cross-reference to the description of '--module-assertions'.
+
+	* etc/NEWS: Update the NEWS entry for --module-assertions.
+
+2017-08-29  Alan Third  <alan@idiocy.org>
+
+	Add news entry about new macOS features
+
+	* etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
+	ns-use-thin-smoothing.
+
+2017-08-29  Alan Third  <alan@idiocy.org>
+
+	Fix cross macOS version building (bug#28222)
+
+	* src/macfont.h (CGContextSetFontSmoothingStyle): Function
+	declaration.
+	* src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
+
+2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
+
+	Enable thin font smoothing in macOS (bug#28222)
+
+	* src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
+	* src/macfont.m (macfont_draw): Use font smoothing.
+
+2017-08-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor improvement in documentation of display-line-numbers
+
+	* doc/emacs/display.texi (Display Custom): Document the
+	display-line-numbers-mode and related options.
+
+2017-08-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid aborting in 'waitpid' on MS-Windows
+
+	* src/w32proc.c (waitpid): Don't allow quitting if called with
+	WNOHANG in OPTIONS.  (Bug#28268)
+
+2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/sh-script.el: Test "in-string" of the right char!
+
+	(sh-syntax-propertize-function): Fix off-by-one error.
+	Fixes bug#23526.
+
+2017-08-29  Rasmus  <rasmus@gmx.us>
+
+	Update Org to v9.0.10
+
+	Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
+	release.
+
+2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Silence false alarms for symlinks to sources
+
+	Problem reported by Glenn Morris (Bug#28264).
+	* lisp/files.el (files--splice-dirname-file): New function.
+	(file-truename, file-chase-links): Use it.
+
+2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify remove_slash_colon
+
+	* src/process.c (remove_slash_colon): Simplify
+	and avoid a special case for "/:" by itself.
+
+2017-08-28  Tassilo Horn  <tsdh@gnu.org>
+
+	Remove font family from minibuffer-prompt face
+
+	* etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
+	minibuffer-prompt face.
+
+2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
+
+	Further fixes in tramp-smb.el
+
+	* lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
+	(tramp-smb-file-name-handler-alist): Use it.
+	(tramp-smb-handle-make-symbolic-link): Unquote target.
+
+	* test/lisp/net/tramp-tests.el
+	(tramp--test-ignore-make-symbolic-link-error): New defmacro.
+	(tramp-test18-file-attributes, tramp-test21-file-links)
+	(tramp--test-check-files): Use it.
+
+2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t assume -g3 in .gdbinit
+
+	* src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
+	Use reasonable defaults if not in the symbol table.
+
+2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
+
+	Use string-match to check for dotfiles in ido
+
+	* lisp/ido.el (ido-make-file-list): Use string-match to check
+	for dotfiles instead of substring, as when using tramp
+	simplified syntax ido-temp-list may contain empty strings.
+
+2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Font-lock FDO desktop files correctly
+
+	Single and double quotes do not have a special meaning in
+	desktop files.
+	https://standards.freedesktop.org/desktop-entry-spec/latest/
+	* etc/NEWS: Mention new mode.
+	* lisp/files.el (auto-mode-alist): Split out an entry for handling
+	the .desktop extension with conf-desktop-mode.
+	* lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
+	variable with rules for booleans and format specifiers.
+	(conf-unix-mode): Remove desktop file entry example from docstring.
+	(conf-desktop-mode): New derived major mode.
+
+2017-08-27  Tom Tromey  <tom@tromey.com>
+
+	Fix auto-fill bug in js-mode
+
+	* lisp/progmodes/js.el (js-do-auto-fill): New function.
+	(js-mode): Set normal-auto-fill-function.
+	* test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
+	test.
+
+2017-08-27  Noam Postavsky  <npostavs@gmail.com>
+
+	Disable completion while entering python multiline statements
+
+	The "legacy" completion mechanism sends newlines to the running python
+	process to get the list of completions, which confuses things if the
+	user is in the middle of entering a multiline statement (Bug#28051).
+	It's better to disable completion in this case.
+	* lisp/progmodes/python.el (python-shell--block-prompt): New variable.
+	(python-shell-prompt-set-calculated-regexps): Set it.
+	(python-shell-completion-at-point): Return 'ignore' as the completion
+	function when the current prompt is a block prompt.
+
+2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
+
+	Tramp cleanup
+
+	* lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
+	(tramp-sh-handle-make-symbolic-link): More robust check for
+	TARGET remoteness.
+
+	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
+	Disable copying by tar temporarily, it doesn't work reliably.
+	(tramp-smb-do-file-attributes-with-stat): Resolve symlink.
+	(tramp-smb-handle-make-symbolic-link): Fix implementation.
+
+	* lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
+
+	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
+	Extend test.
+
+2017-08-27  Glenn Morris  <rgm@gnu.org>
+
+	Fix previous xterm.h change for non-gtk builds
+
+	* src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
+
+2017-08-27  Philipp Stephani  <phst@google.com>
+
+	Fix GdkSettings-related deprecation warnings
+
+	* src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
+	gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
+	instead of deprecated gtk_settngs_set_string_property otherwise.
+
+2017-08-27  Philipp Stephani  <phst@google.com>
+
+	Always use gtk_window_move in new versions
+
+	* src/gtkutil.c (my_log_handler): Don’t define in new versions of
+	GTK+.
+	(xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
+
+	* src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
+	is ignored.
+
+	* lisp/subr.el (x-gtk-use-window-move): Make obsolete.
+
+2017-08-27  Charles A. Roelli  <charles@aurox.ch>
+
+	Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
+
+	* lisp/vc/diff-mode.el (diff-find-file-name): Save the current
+	narrowing, and widen the buffer before searching for the name of the
+	file corresponding to the diff.
+
+	With thanks to Noam Postavsky.
+
+2017-08-27  Philipp Stephani  <phst@google.com>
+
+	Remove use of a deprecated GTK+ function in new versions
+
+	* src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
+	if available
+
+2017-08-27  Philipp Stephani  <phst@google.com>
+
+	Stop using deprecated GdkScreen monitor functions in newer GDK
+
+	* src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
+	objects instead of the deprecated GdkScreen functions in GDK 3.22+
+
+2017-08-27  Philipp Stephani  <phst@google.com>
+
+	Use GdkSeat in new GDK versions
+
+	* src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
+	GdkDeviceManager in GDK 3.20+
+
+2017-08-27  Philipp Stephani  <phst@google.com>
+
+	* src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
+
+2017-08-27  Philipp Stephani  <phst@google.com>
+
+	Remove call of deprecated GDK function
+
+	* src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
+	GDK 3.22 or later.
+
+2017-08-27  Alan Mackenzie  <acm@muc.de>
+
+	Amend the CC Mode macro cache to cope with changes at the macro start
+
+	Fixes bug #28233.
+
+	* lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
+	error.
+
+2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix over-protection of byte-compiled files
+
+	Problem reported by Sven Joachim (Bug#28244).
+	Also, fix similar problem for autoload files.
+	* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
+	Set temp file modes to the buffer-file-name file modes (or 666
+	if not available) as adjusted by umask.
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
+	Set temp file modes to 666 as adjusted by umask.
+
+2017-08-27  Tom Tromey  <tom@tromey.com>
+
+	Refine conf-toml-mode font-lock
+
+	Bug#28218
+	* lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
+	conf-toml-recognize-section.  Use \s- in variable regexp.
+	(conf-toml-recognize-section): New function.
+
+2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not munge contents of local symbolic links
+
+	This lets Emacs deal with arbitrary local symlinks without
+	mishandling their contents (Bug#28156).  For example,
+	(progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
+	now consistently creates a symbolic link from '/tmp/x' to '~'.
+	Formerly, it did that only if the working directory was on the
+	same filesystem as /tmp; otherwise, it expanded the '~' to
+	the user's home directory.
+	* lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
+	instead of rolling our own code.
+	* lisp/files.el (files--name-absolute-system-p): New function.
+	(file-truename, file-chase-links): Use it to avoid mishandling
+	symlink contents that begin with ~.
+	(copy-directory, move-file-to-trash):
+	Use concat rather than expand-file-name, to avoid mishandling
+	symlink contents that begin with ~.
+	* src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
+	target unless interactive.  Strip leading "/:" if interactive.
+	(emacs_readlinkat): Do not prepend "/:" to the link target if
+	it starts with "/" and contains ":" before NUL.
+	* test/src/fileio-tests.el (try-link): Rename from try-char,
+	and accept a string instead of a char.  All uses changed.
+	(fileio-tests--symlink-failure): Also test leading ~, and "/:",
+	to test the new behavior.
+
+2017-08-27  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove invalid regexp for shell builtins for wksh
+
+	* lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
+	be literal strings, so remove a regexp for wksh. In any case, it’s a
+	defunct proprietary shell.
+
+2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve doc for file-name-absolute-p.
+
+2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Tramp part of Bug#28156
+
+	* lisp/files.el (file-name-non-special): Use `file-name-quote'
+	instead prefixing "/:", the file could already be quoted.
+
+	* lisp/net/tramp.el (tramp-error): Handle null arguments.
+	(tramp-handle-make-symbolic-link):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
+	(tramp-sh-handle-add-name-to-file):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
+	(tramp-smb-handle-make-symbolic-link): Adapt implementation to
+	stronger semantics in Emacs.  (Bug#28156)
+
+	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
+	Extend test.
+
+2017-08-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix bugs merged with bug#25428
+
+	* lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
+	(Bug#13926)  (Bug#25434)  (Bug#25435)
+
+2017-08-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of Info virtual files and nodes
+
+	* lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
+	(Bug#28237)
+
+2017-08-26  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
+
+2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
+
+	Support multi-lingual detection of SEE ALSO man sections
+
+	* lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
+	section detection in several langages: French, German, Spanish,
+	Portugese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
+
+2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve expand-file-name doc
+
+	* doc/lispref/files.texi (Relative File Names, Directory Names)
+	(File Name Expansion):
+	* doc/lispref/minibuf.texi (Reading File Names):
+	Document expand-file-name behavior with ~ more clearly
+	and accurately.
+	* doc/misc/org.texi (Batch execution): Simplify example
+	script so that it does not need expand-file-name and thus
+	will not mishandle file names with leading ~.
+
+2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
+
+	Support all perl variable declarators and prefixes (Bug#27613)
+
+	* lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
+	(perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
+	'local', 'state', 'supersede', 'let', and 'temp'.
+
+2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix file-attributes race on GNU hosts
+
+	* doc/lispref/files.texi (File Attributes):
+	Document file-attributes atomicity.
+	* etc/NEWS: Document the fix.
+	* src/dired.c (file_attributes): New args DIRNAME and FILENAME,
+	for diagnostics.  All callers changed.  On platforms like
+	GNU/Linux that support O_PATH, fix a race condition in
+	file-attributes and similar functions, so that these functions do
+	not return nonsense if a directory entry is replaced while getting
+	its attributes.  On non-GNU platforms, do a better (though not
+	perfect) job of detecting the race, and return nil if detected.
+
+2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify expand_and_dir_to_file
+
+	* src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
+	argument, since in practice it always has the default value.  All
+	callers changed.  Prefer C99 style decls in nearby code.
+
+2017-08-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix file-name completion on network shares
+
+	* src/w32.c (faccessat): Don't assume that F_OK is non-zero.
+	(Bug#28207)
+
+2017-08-25  Reuben Thomas  <rrt@sc3d.org>
+
+	Fix a FIXME with an exegetical comment
+
+	* lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
+	regexp for wksh builtins.
+
+2017-08-25  Reuben Thomas  <rrt@sc3d.org>
+
+	Minor docstring language fix
+
+	* lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
+
+2017-08-25  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove old commented code from sh-script.el
+
+	* lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
+	and variable, commented since 2001.
+
+2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/package.el: Don't let failure stop us
+
+	(package-activate-1): Don't throw an error for missing deps.
+	(package-unpack): Don't bother compiling if activation failed.
+	(package-initialize): Report failures but keep activating other packages.
+
+2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Prefer ‘double’ for FP temps in xterm.c
+
+	* src/xterm.c (xm_scroll_callback, xaw_jump_callback)
+	(x_set_toolkit_scroll_bar_thumb)
+	(x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
+	‘float’ for individual local floating-point temporaries.
+
+2017-08-24  Reuben Thomas  <rrt@sc3d.org>
+
+	Avoid using string-to-multibyte in ispell.el
+
+	* lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
+	decode-coding-string instead. Note that decode-coding-string returns a
+	string that satisfies multibyte-string-p even if its input is pure
+	ASCII and the third argument is t, so the result of
+	ispell-get-decoded-string is always a multibyte string.
+
+2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
+
+	Store the regexp just when there are matches
+
+	* lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
+	disabled and there are no matches do not store REGEXP
+	in hi-lock-interactive-patterns.
+
+2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
+
+	Keep face available if there are no matches
+
+	If font-lock-mode is disabled in the current buffer, and
+	there are no matches for REGEXP, then keep FACE available
+	for a next search.
+	* lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
+	hi-lock--unused-faces if font-lock-mode is disabled and
+	there are no matches.
+	* test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
+
+2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
+
+	Minor improvements for tramp-interrupt-process, documentation
+
+	* doc/lispref/processes.texi (Signals to Processes):
+	* etc/NEWS: Document interrupt-process-functions.
+
+	* lisp/net/tramp.el (tramp-interrupt-process): Test also for
+	`process-live-p'.
+
+	* src/process.c (Vinterrupt_process_functions): Fix docstring.
+
+	* test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
+	Extend test.
+
+2017-08-24  Reuben Thomas  <rrt@sc3d.org>
+
+	Fix a comment whitespace typo.
+
+	src/fileio.c: A double space was added after "..", used in a code
+	example. Make it a single space.
+
+2017-08-24  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove old commented code and obsolete comments
+
+	* lisp/files.el (locate-dominating-files): Remove old commented
+	implementation from 9 years ago.  Since the current version
+	appears (at least to me) not just more efficient but clearer than the
+	version removed, also delete a comment in the new version referring to
+	the old version. Remove old commented heuristic code,
+	and explanatory comments.
+
+2017-08-24  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove old duplicate commented code
+
+	* lisp/files.el (file-relative-name): Remove old commented version,
+	replaced 14 years ago in commit 753ad9889.
+
+2017-08-24  Tom Tromey  <tom@tromey.com>
+
+	Add conf-toml-mode
+
+	* etc/NEWS: Mention conf-toml-mode.
+	* lisp/files.el (auto-mode-alist): Add entry for .toml.
+	* lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
+	(conf-toml-font-lock-keywords): New defvars.
+	(conf-toml-mode): New mode.
+
+2017-08-23  Alan Third  <alan@idiocy.org>
+
+	Use lisp type in log message (bug#28176)
+
+	* src/nsimage.m (ns_load_image): Use make_number on index.
+
+2017-08-23  Alan Third  <alan@idiocy.org>
+
+	Fix PNGs on macOS (bug#28176)
+
+	* src/nsimage.m (ns_load_image): Remove index check.
+	(EmacsImage::getAnimatedBitmapImageRep): New function.
+	(EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
+	(EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
+	is valid.
+
+2017-08-23  Alan Third  <alan@idiocy.org>
+
+	Add ability to change macOS WM theme (bug#27973)
+
+	* src/frame.c (make_frame, frame_parms, syms_of_frame)
+	[NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
+	options.
+	* src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
+	represent NSAppearance options.
+	(struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
+	ns_transparent_titlebar frame parameters.
+	* src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
+	ns_set_appearance and ns_set_transparent_titlebar handlers.
+	(Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
+	frame parameters.
+	(Qdark): Add new symbol for use with ns-appearance.
+	* src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
+	[NS_IMPL_COCOA]: Add prototypes.
+	* src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
+	[NS_IMPL_COCOA]: New functions.
+	(initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
+	ns-transparent-titlebar frame parameters.
+	* doc/lispref/frames.texi (Window Management Parameters): Document
+	ns-apperance and ns-transparent-titlebar.
+
+2017-08-22  Alan Mackenzie  <acm@muc.de>
+
+	When looking for the end of a declarator, prevent macros fouling up the search
+
+	The practical implication of this bug was a random jit-lock chunk remaining
+	entirely unfontified.
+
+	* lisp/progmodes/cc-mode (c-fl-decl-end): If point starts inside a macro,
+	restrict two forward searches to the end of that macro.
+
+2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
+
+	Test `file-expand-wildcards' for Tramp
+
+	* lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
+	Remove, not needed anymore.
+
+	* test/lisp/net/tramp-tests.el (top): Require seq.el.
+	(tramp-test16-directory-files): Simplify.
+	(tramp-test16-file-expand-wildcards): New test.
+	(tramp-test28-interrupt-process): Skip for older Emacsen.
+
+2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
+
+	Add tests for cl-macs.el (Bug#27559)
+
+	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
+	duplicate.
+	(cl-loop-destructuring-with): Move to cl-macs-tests.el.
+	* test/lisp/emacs-lisp/cl-macs-tests.el: New file.
+
+2017-08-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Optimize skkdic conversion (Bug#28043)
+
+	The primary speedup comes from the optimizing lookup-nested-alist and
+	set-nested-alist for the case where the key is a string.  This brings
+	the time down to less than half the original.
+
+	* lisp/international/mule-util.el (lookup-nested-alist)
+	(set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
+	string.
+
+	* lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
+	(skkdic-convert-okuri-nasi): Use progress-reporter functions instead
+	of calculating ratio of work done inline.
+
+	(skkdic-reduced-candidates): Call `char-category-set' on the first
+	character of the string directly, instead of using a regexp for the
+	character category.
+	(skkdic--japanese-category-set): New constant.
+	(skkdic-collect-okuri-nasi): Just set
+	`skkdic-okuri-nasi-entries-count' at once at the end rather than
+	updating it throughout the loop.
+
+	(skkdic-convert-postfix skkdic-convert-prefix)
+	skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
+	(skkdic-extract-conversion-data): Use `match-string-no-properties'
+	instead of `match-string'.
+
+2017-08-22  Reuben Thomas  <rrt@sc3d.org>
+
+	Treat tests in lib-src like tests in src
+
+	* test/Makefile.in (test_template): Depend on a .c source file for a
+	test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
+	in the right direction.)
+
+2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port /bin/sh scripts to Solaris 10
+
+	Its /bin/sh builtin ‘test’ command does not support -e.
+	* autogen.sh, build-aux/git-hooks/pre-commit:
+	* build-aux/gitlog-to-emacslog, make-dist:
+	Use test -r, not test -e.
+
+2017-08-21  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid losing the buffer restriction in flyspell-mode
+
+	* src/intervals.c (get_local_map): Don't allow C-g to quit as long
+	as we have the buffer widened, to make sure the restriction is
+	preserved.  (Bug#28161)
+
+2017-08-21  Sven Joachim  <svenjoac@gmx.de>
+
+	Fix the 'versionclean' target in src/Makefile
+
+	* src/Makefile.in (versionclean): Don't accidentally remove
+	emacs-module.h.  (Bug#28169)
+
+2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
+
+	Implement `interrupt-process-functions'
+
+	* lisp/net/tramp.el (tramp-interrupt-process): Rename from
+	`tramp-advice-interrupt-process'.  Adapt according to changed API.
+	(top): Add it to `interrupt-process-functions'.
+
+	* src/process.c (Finternal_default_interrupt_process): New defun.
+	(Finterrupt_process): Change implementation, based on
+	Vinterrupt_process_functions.
+	(Vinterrupt_process_functions): New defvar.
+
+	* test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
+	test removal of advice.
+
+2017-08-21  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid floating-point exceptions while drawing underwave
+
+	* src/w32term.c (x_get_scale_factor):
+	* src/xterm.c (x_get_scale_factor): Don't let the scale factors
+	become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
+	http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00459.html.
+
+2017-08-21  Sam Steingold  <sds@gnu.org>
+
+	mark flymake-mode as safe local variable when the value is nil
+
+2017-08-21  Sam Steingold  <sds@gnu.org>
+
+	allow nil init in flymake-allowed-file-name-masks to disable flymake
+
+	(flymake-allowed-file-name-masks): Update doc and :type.
+	(flymake-get-file-name-mode-and-masks): Handle nil init.
+
+2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Remove the workaround for bug#20719
+
+	* lisp/cedet/semantic/symref/grep.el
+	(semantic-symref-grep-use-template): Remove the workaround for
+	bug#20719, it's been fixed for a while now.
+
+2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Fix byte-compilation warnings in semantic/symref/grep
+
+	* lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
+	(grepflags): Rename to semantic-symref-grep-flags.
+	(semantic-symref-grep-expand-keywords): Update accordingly.
+	(semantic-symref-grep-use-template): Remove the last two
+	arguments to make sure they don't shadow the (not renamed)
+	global variables.
+	(semantic-symref-perform-search)
+	(semantic-symref-parse-tool-output-one-line): Use slot names
+	instead of keywords, like the byte-compiler wants us to.
+
+2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Simplify eldoc-message
+
+	* lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
+	Don't use ARGS because no callers pass them.  Discussed in bug#27230.
+
+2017-08-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
+
+	* lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
+	carriage returns into the temporary file when running in unbuffered
+	mode, the w32 build of python 2.7 chokes on them.
+
+2017-08-20  Reuben Thomas  <rrt@sc3d.org>
+
+	Add missing require
+
+	* lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
+
+2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
+
+	Implement `interrupt-process' for remote processes (Bug#28066)
+
+	* lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
+	Support sending signals remotely.
+	(tramp-open-connection-setup-interactive-shell):
+	Trace "remote-tty" connection property.
+
+	* lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
+	(top): Add advice to `interrupt-process'.  (Bug#28066)
+
+	* test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
+	New test.
+	(tramp-test29-shell-command)
+	(tramp-test30-environment-variables)
+	(tramp-test30-environment-variables-and-port-numbers)
+	(tramp-test31-explicit-shell-file-name)
+	(tramp-test32-vc-registered)
+	(tramp-test33-make-auto-save-file-name)
+	(tramp-test34-make-nearby-temp-file)
+	(tramp-test35-special-characters)
+	(tramp-test35-special-characters-with-stat)
+	(tramp-test35-special-characters-with-perl)
+	(tramp-test35-special-characters-with-ls, tramp-test36-utf8)
+	(tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
+	(tramp-test36-utf8-with-ls)
+	(tramp-test37-asynchronous-requests)
+	(tramp-test38-recursive-load, tramp-test39-remote-load-path)
+	(tramp-test40-unload): Rename.
+	(tramp-test40-unload): Test also removal of advice.
+
+2017-08-20  Reuben Thomas  <rrt@sc3d.org>
+
+	Document Enchant support
+
+	* doc/emacs/fixit.texi: Mention Enchant.
+	* doc/misc/efaq.texi: Likewise.
+	* etc/NEWS: Add an item on Enchant support.
+
+2017-08-20  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove old comments and a redundant FIXME
+
+	* lisp/textmodes/ispell.el (ispell-process-line): Remove some old
+	commented code, a redundant FIXME, and outdated usage instructions.
+
+2017-08-20  Reuben Thomas  <rrt@sc3d.org>
+
+	Add Enchant support to ispell.el (Bug#17742)
+
+	* lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
+	(ispell-really-enchant): Add variable.
+	(ispell-check-version): If using Enchant, check it’s new enough (at
+	least 1.6.1).  (Like the ispell check, this is absolute: cannot work
+	without.)
+	(ispell-enchant-dictionary-alist): Add variable.
+	(ispell-find-enchant-dictionaries): Add function, based on
+	ispell-find-aspell-dictionaries.
+	(ispell-set-spellchecker-params): Allow dictionary auto-detection for
+	Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
+	old ispell name to locale mapping code for Enchant too.
+	(ispell-send-replacement): Make it work with Enchant.
+
+2017-08-20  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
+
+2017-08-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Stop printing '4' in .elc files after 'define-symbol-prop' calls
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
+	Return nil in case we have compiled the form, to prevent a redundant
+	constant from getting added to the compiled output.
+
+2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Change recent symlink tests to just test ASCII
+
+	* test/src/fileio-tests.el (fileio-tests--symlink-failure):
+	Be less ambitious about testing non-ASCII chars and encoding
+	errors, as there are too many portability issues.
+
+2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t adjust CRLF in file names
+
+	* doc/misc/gnus.texi (Non-ASCII Group Names):
+	* etc/NEWS:
+	* test/lisp/net/tramp-tests.el (tramp--test-utf8):
+	Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
+	that CRLF in file names is left alone.
+	* lisp/international/mule-cmds.el (set-default-coding-systems):
+	Do not alter CRLF in file name coding systems.
+	(prefer-coding-system): Ignore differences in CRLF processing when
+	checking whether we used the user-specified file name coding system.
+	* test/src/fileio-tests.el: New file.
+
+2017-08-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Make list-processes support display-line-numbers
+
+	* lisp/simple.el (process-menu-mode): Move the call to
+	tabulated-list-init-header from here...
+	(list-processes--refresh): ...to here.  (Bug#27895)
+
+2017-08-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve support of display-line-numbers in package.el
+
+	* lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
+	the header.  (Bug#27895)
+	* lisp/emacs-lisp/tabulated-list.el
+	(tabulated-list-line-number-width): Fix the case when
+	display-line-numbers is nil.
+
+2017-08-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve support of display-line-numbers in tabulated-list-mode
+
+	* lisp/emacs-lisp/tabulated-list.el
+	(tabulated-list-line-number-width): New function.
+	(tabulated-list-init-header, tabulated-list-print-entry): Use it.
+	(Bug#27895)
+
+2017-08-19  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix one more issue reported by Alex (Bug#27999)
+
+	* doc/lispref/windows.texi (Preserving Window Sizes)
+	(Window Parameters): Use the term `window-preserved-size'
+	instead of `preserved-size' (Bug#27999).
+
+2017-08-19  Martin Rudalics  <rudalics@gmx.at>
+
+	Rename `no-delete-other-window' to `no-delete-other-windows'
+
+2017-08-19  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix two side window problems noted by Alex (Bug#27999)
+
+	* lisp/window.el (display-buffer-in-side-window): Fix doc-string
+	typo.
+	(delete-other-windows): Rename the `no-delete-other-window'
+	parameter to `no-delete-other-windows' (see the discussion in
+	Bug#27999 for the rationale of this change).
+	* doc/lispref/windows.texi (Deleting Windows)
+	(Frame Layouts with Side Windows, Window Parameters): Rename
+	`no-delete-other-window' to `no-delete-other-windows'.
+
+2017-08-19  Alex Schroeder  <alex@gnu.org>
+
+	Use define-minor-mode for rcirc-omit-mode
+
+2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Clarify behavior of symlinks and directories
+
+	* doc/lispref/files.texi (Saving Buffers): Document how functions
+	like rename-file work with symlinks and directories.  This patch
+	attempts to document the current behavior better, in preparation
+	for possibly changing it.  See Bug#27986.
+
+2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix recently-introduced file descriptor leak
+
+	* src/fileio.c (Fmake_temp_file_internal):
+	Don’t leak a file descriptor if write_region signals an error.
+
+2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve make-temp-file performance on local files
+
+	* lisp/files.el (make-temp-file): Let make-temp-file-internal do
+	the work of inserting the text.
+	* src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
+	All callers changed.
+
+2017-08-19  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't lose arguments to eshell aliases (Bug#27954)
+
+	* lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
+
+2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
+
+	* lisp/files.el (make-temp-file): Fix directory use case.
+
+2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
+
+	Fix and document make-temp-file optional text parameter
+
+	* lisp/files.el (make-temp-file): Fix initial TEXT parameter.
+	(files--make-magic-temp-file): Support optional TEXT parameter.
+	* etc/NEWS: Document it.
+	* doc/lispref/files.texi: Document it.
+	* test/lisp/auth-source-tests.el: Minor reformat.
+
+2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
+
+	* test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
+
+	* test/lisp/auth-source-tests.el: Minor cleanups to use CL.
+
+2017-08-19  João Távora  <joaotavora@gmail.com>
+
+	Fix default value of electric-pair-pairs and electric-pair-text-pairs
+
+	(Bug#24901)
+
+	A previous change, titled "Add support for curly quotation marks to
+	electric-pair-mode", attempted to add these characters to the default
+	value of these variables.  But it did so in a quoted list, preventing
+	evaluation of the relevant expressions and resulting in an invalid
+	format.
+
+	* lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
+	Use backquote and comma.
+
+2017-08-19  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
+
+	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
+	explicitly in the interactive case.
+
+2017-08-19  Mats Lidell  <mats.lidell@cag.se>
+
+	* etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
+
+2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
+
+	Add auth-source tests and codify its API better
+
+	The auth-source behavior was unclear in some API use cases, so these
+	extra tests codify and test it. For details see
+	https://github.com/DamienCassou/auth-password-store/issues/29
+
+	* lisp/files.el (make-temp-file): Add new initial TEXT parameter.
+	* test/lisp/auth-source-tests.el (auth-source-test-searches): Add
+	  auth-source tests and simplify them with the new `make-temp-file'.
+
+2017-08-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Don't call the same hook twice due to obsolete aliases
+
+	* lisp/international/robin.el (robin-activate):
+	* lisp/international/quail.el (quail-activate):
+	* lisp/international/mule-cmds.el (deactivate-input-method):
+	* lisp/emulation/viper-init.el (viper-deactivate-input-method):
+	Don't call the same hook twice, when the obsolete and the
+	advertised symbols are aliased.  (Bug#28118)
+
+2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
+
+	A new face for show-paren in expression mode
+
+	* lisp/faces.el (show-paren-match-expression): Define the new face.
+	* lisp/paren.el (show-paren-function): Apply the different face
+	when in expression mode.  (Bug#28047)
+
+2017-08-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Non-ASCII support for man page section and header names
+
+	* lisp/man.el (Man-name-regexp, Man-page-header-regexp)
+	(Man-heading-regexp): Replace ASCII character classes by
+	equivalent classes that allow non-ASCII characters.  Suggested by
+	Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
+
+2017-08-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Implement HiDPI support for underwave on MS-Windows
+
+	* src/w32term.c (x_get_scale_factor): New function.
+	(w32_draw_underwave): Use it.
+	* src/xterm.c (x_draw_underwave): Offset the wave starting point
+	to make it identical with original code.
+
+2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
+
+	Support HiDPI displays for wave style underlines
+
+	* src/xterm.c (x_draw_underwave): Compute height, length and thickness
+	based on scale factor.
+	(x_get_scale_factor): New function.
+
+2017-08-18  Bastien  <bzg@gnu.org>
+
+	Delete library-of-babel.org
+
+	* etc/org/library-of-babel.org: Delete file.
+
+2017-08-18  Glenn Morris  <rgm@gnu.org>
+
+	* doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
+
+2017-08-18  Noam Postavsky  <npostavs@gmail.com>
+
+	Remove custom version parsing from epg-config.el (Bug#27963)
+
+	* lisp/epg-config.el (epg-config--compare-version)
+	(epg-config--parse-version): Remove.
+	(epg-check-configuration): Use `version<=' instead.
+
+2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Treat control characters in JSON strings as invalid
+
+	* lisp/json.el (json-peek): Reduce to following-char.
+	(json-pop, json-read): Zero (null char) means end of file.
+	(json-read-escaped-char): Delimit URL properly.
+	(json-read-string): Signal error for ASCII control characters.
+	* test/lisp/json-tests.el (test-json-peek): Check for zero instead of
+	:json-eof symbol.
+	(test-json-read-string): New test for control characters in JSON
+	strings.
+
+2017-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Support Posix semantics of 'rename' on MS-Windows
+
+	* src/w32.c (sys_rename_replace): Support Posix semantics of
+	'rename': return an error if OLD is a directory while NEW is not,
+	or vice versa.
+
+2017-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+	* src/w32.c (sys_rename_replace): Support renaming a directory.
+
+2017-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the MS-Windows build
+
+	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
+	'open'.
+
+	* lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
+
+2017-08-17  João Távora  <joaotavora@gmail.com>
+
+	Add flymake-backends defcustom
+
+	* lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
+	Rename from flymake-can-syntax-check-file.  Suitable for adding to
+	flymake-backends.
+	(flymake-proc-start-syntax-check): Rename from
+	flymake-start-syntax-check.  Don't check again if buffer can be
+	checked.
+	(add-to-list flymake-backends): Hook only flymake-ui.el
+
+	* lisp/progmodes/flymake-ui.el (flymake-backends): New
+	defcustom.
+	(flymake-on-timer-event, flymake-after-change-function)
+	(flymake-after-save-hook, flymake-find-file-hook): Call new
+	flymake--start-syntax-check-buffer and
+	flymake--can-syntax-check-buffer.
+	(flymake-mode): Call flymake--can-syntax-check-buffer and set
+	flymake-backend.
+	(flymake--backend): New buffer-local variable.
+
+2017-08-17  João Távora  <joaotavora@gmail.com>
+
+	Split flymake.el into flymake-proc.el and flymake-ui.el
+
+	flymake.el is now a stub that requires both files.
+
+	* lisp/progmodes/flymake-proc.el: New file.
+
+	* lisp/progmodes/flymake-ui.el: New file.
+
+	* lisp/progmodes/flymake.el: Split into flymake-ui.el and
+	  flymake-proc.el.  Require both files.
+
+2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	Set `default-directory' for watchdog in tramp-test.el
+
+	* test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
+	Set `default-directory' for watchdog.
+
+2017-08-17  Andreas Schwab  <schwab@suse.de>
+
+	* lisp/term/konsole.el: New file.
+
+2017-08-17  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
+
+	(woman2-RS): Use plain `push' instead of `woman-push'.
+	(woman2-RE): Conditionally `pop' instead of `woman-pop'.
+
+2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	Merge from Gnulib; use ‘open’ for O_CLOEXEC
+
+	This incorporates:
+	2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
+	2017-08-15 extensions: enable NetBSD specific extensions
+	2017-08-14 open: support O_CLOEXEC
+	2017-08-13 reallocarray: new module
+	* admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
+	it now supports O_CLOEXEC and this simplifies Emacs.
+	* build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
+	* lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
+	Copy from Gnulib.
+	* lib/cloexec.c, lib/cloexec.h, lib/open.c:
+	* m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
+	New files, copied from Gnulib.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
+	Remove, as Gnulib does this for us.
+	* src/filelock.c (create_lock_file):
+	* src/sysdep.c (emacs_open, emacs_pipe):
+	Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
+
+2017-08-16  Alan Third  <alan@idiocy.org>
+	    Charles A. Roelli  <charles@aurox.ch>
+
+	Allow use of run-time OS version checks on macOS (bug#27810)
+
+	* src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
+	(MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
+	MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
+	defines.
+	(NSWindowStyleMaskFullScreen,
+	NSWindowCollectionBehaviorFullScreenPrimary,
+	NSApplicationPresentationFullScreen,
+	NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
+	* src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
+	check_native_fs, ns_read_socket, ns_select, runAlertPanel,
+	initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
+	windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
+	toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
+	Allow use of run-time checks and replace version check macros.
+	* src/nsfns.m (ns_screen_name): Use run-time OS version checks.
+	* src/macfont.m (macfont_draw): Use run-time OS version checks.
+	* src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
+
+2017-08-16  Alan Third  <alan@idiocy.org>
+
+	Add multiframe image support to NS port (bug#21714)
+
+	* src/nsimage.m (ns_load_image): Handle multiple frames.
+	(EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
+	* src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
+	function prototypes.
+
+2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
+
+	files-tests.el: Remove unused lexical variable
+
+	* test/lisp/files-tests.el (file-test--do-local-variables-test);
+	Remove unused var 'files-test-queried'.
+
+2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	* doc/emacs/files.texi (Copying and Naming): Mention
+
+	restrictions to add-name-to-file and make-symbolic-link on
+	remote systems.
+
+2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
+
+2017-08-16  Noam Postavsky  <npostavs@gmail.com>
+
+	Add tests for previous commit
+
+	* test/lisp/progmodes/elisp-mode-tests.el
+	(elisp-mode-tests--face-propertized-string): New function.
+	(elisp--highlight-function-argument-indexed)
+	(elisp--highlight-function-argument-keyed-1)
+	(elisp--highlight-function-argument-keyed-2): New tests.
+
+2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
+
+	Fix eldoc highlighting for &key args (Bug#27272)
+
+	* lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
+	Only switch to keyword-based searching if INDEX point beyond `&key' in
+	the argument list.  All arguments prior to the `&key' are position
+	based.  Additionally, be more strict about what is a keyword when
+	searching for the current keyword.
+
+2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not assume regular Git .git/hooks dir
+
+	Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
+	Problem reported by Ted Zlatanov in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00380.html
+	* autogen.sh (git_sample_hook_src): New function.  Use it to work
+	even if .git/hooks or its samples do not exist.
+
+2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	New manual section "Copying and Naming"
+
+	* doc/emacs/files.texi (Copying and Naming):
+	New section, split off from Misc File Ops and containing the
+	operations that copy, name or rename files.  This fixes some
+	confusion caused by the incorrect phrase "The same rule applies
+	to all the remaining commands in this section" in the old manual.
+	This change does not affect the confusion about directories (see
+	Bug#27986 for ongoing discussion).
+
+2017-08-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the MS-Windows build
+
+	* src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
+	ENOSYS.  (Bug#28097)  (Bug#27986)
+
+2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
+
+	* .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
+
+	* .gitlab-ci.yml: add Git to the installed packages.
+
+2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Support indentation of detached Less CSS rulesets
+
+	* lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
+	for indentation of detached rulesets passed to Less mixins.
+
+	* test/manual/indent/less-css-mode.less: New file.
+
+2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Fixes and tweaks for the new Less CSS mode
+
+	* etc/NEWS: Add an entry for the new mode.
+
+	* lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
+	(less-css-lessc-command): Tweak docstring. Don't mark it as
+	safe. Don't autoload.
+	(less-css-compile-at-save, less-css-lessc-options)
+	(less-css-output-directory): Tweak docstrings. Don't autoload.
+	(less-css-output-file-name): Tweak docstring. Don't mark it as safe.
+	(less-css-input-file-name): Tweak docstring. Don't autoload.
+	(less-css-compile-maybe): Use `when' for one-armed `if'.
+	(less-css--output-path): Tweak docstring.
+	(less-css--maybe-shell-quote-command): Remove function.
+	(less-css-compile): Don't autoload. Tweak docstring and message. Fix
+	compiler warning. Use `string-join' instead of `mapconcat'.
+	(less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
+	variables.
+	(less-css-mode-syntax-table, less-css-mode-map): New variables.
+	(less-css-mode): Change status line mode name from "LESS" to
+	"Less". Tweak docstring. Move syntax table definitions to
+	`less-css-mode-syntax-table'.
+	(less-css-indent-line): Remove function.
+
+2017-08-15  Steve Purcell  <steve@sanityinc.com>
+
+	New major mode: Less CSS mode
+
+	* lisp/textmodes/less-css-mode.el: New file.
+
+2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
+
+	archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
+
+	* lisp/arc-mode.el (archive-int-to-mode):
+	Swap order of 2048 and 1024 tests (Bug#28092).
+	* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
+	Update test.
+
+2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve rename-file port to macOS
+
+	* src/fileio.c (Frename_file): On macOS, renameat_noreplace can
+	fail with errno == ENOTSUP on file systems where it is not
+	supported, according to the Apple documentation.
+
+2017-08-15  Noam Postavsky  <npostavs@gmail.com>
+
+	Speed up ./configure with more caching (Bug#27960)
+
+	* configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
+	'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
+	'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
+	characters', and 'Windows API header' checks.  Remove pause after
+	warning about GTK bug.
+
+2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve rename-file behavior on macOS
+
+	Problem reported by Philipp Stephani (Bug#27986).
+	* src/fileio.c (Frename_file):
+	Worry about file name case sensitivity only if CYGWIN or DOS_NT.
+	* src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
+	since this provides the necessary atomicity guarantees.
+
+2017-08-14  Glenn Morris  <rgm@gnu.org>
+
+	Clean up temp files after some tests
+
+	* test/lisp/emacs-lisp/bytecomp-tests.el
+	(bytecomp-tests--with-temp-file): Also delete .elc file if present.
+	* test/lisp/progmodes/etags-tests.el
+	(etags-buffer-local-tags-table-list): Delete temp file at end.
+
+2017-08-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Implement renameat_noreplace for MS-Windows
+
+	* src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
+	emulation for MS-Windows.  (Bug#27986)
+
+2017-08-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix 'rename' on MS-Windows
+
+	* src/w32.c (sys_rename_replace): Use the FORCE argument only if
+	the primitive rename errors out with EEXIST.
+
+2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
+
+2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Tiny JSON performance improvement
+
+	Get rid of some needless uses of apply.  Measuring with
+	  (benchmark-run 10 (json-read-file "test.json"))
+	showed 1.5-2.5% reduction of execution time.
+	* lisp/json.el (json-peek): Nix let-binding.
+	(json-read-string): Use concat for making a string from chars.
+	(json-read-array): Use cond and more appropriate conversion instead
+	of blindly applying.
+
+2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Be consistent in spelling 'ok-if-already-exists'.
+
+2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
+
+	Use 'header-line-highlight' face in proced and erc
+
+	* lisp/erc/erc-list.el (erc-list-button):
+	* lisp/proced.el (proced-format): Use the 'header-line-highlight
+	face.  (Bug#28033)
+
+2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
+
+	Remove feeds with dead uris from newsticker--raw-url-list-defaults
+
+	* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
+	  Remove feeds with dead uris.
+
+2017-08-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix vertical cursor motion when cursor is on the fringe
+
+	* lisp/simple.el (line-move-visual): Fix an off-by-one error in
+	setting temporary-goal-column when newline overflows into the
+	fringe.  Support that use case in R2L paragraphs as well.
+
+2017-08-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix vertical cursor motion across too wide images
+
+	* src/indent.c (Fvertical_motion): If lines are truncated and we
+	end up beyond the right margin of the window, don't assume we are
+	in the next screen line, unless VPOS actually says so.  (Bug#28071)
+
+2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
+
+	Add test suites for arc-mode and tar-mode
+
+	* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
+	* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
+	New tests.
+
+2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
+
+	* lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
+
+2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
+
+	Fix uri of Emacs Wiki
+
+	* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
+	  uri of Emacs Wiki.  (Bug#27981)
+
+2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix make-temp-file bug with ""/"."/".." prefix
+
+	The bug with "." and ".." has been present for a while; I
+	introduced the bug with "" earlier today in my patch for Bug#28023.
+	* lisp/files.el (make-temp-file): Do not use expand-file-name if
+	PREFIX is empty or "." or "..", as it does the wrong thing.
+	Compute absolute-prefix here ...
+	(files--make-magic-temp-file): ... instead of here ...
+	* src/fileio.c (Fmake_temp_file_internal): ... or here.
+
+	* lisp/files.el (make-temp-file): If the prefix is empty, append
+	"/" to the absolute prefix so that the new files are children
+	rather than siblings of temporary-file-directory.  This fixes a
+	bug introduced in the previous change.
+	* test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
+	New test, for the bug.
+
+2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve make-temp-file performance on local files
+
+	For the motivation behind this patch, please see Bug#28023 and:
+	http://emacshorrors.com/posts/make-temp-name.html
+	Although, given the recent changes to Tramp, the related security
+	problem in make-temp-file is already fixed, make-temp-file still has
+	several unnecessary system calls.  In the typical case on GNU/Linux,
+	this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
+	getpid, unlink, umask) by 2 (open, close).
+	* admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
+	that Emacs is using it directly.
+	* configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
+	no longer needed.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lisp/files.el (files--make-magic-temp-file): Rename from
+	make-temp-file.
+	(make-temp-file): Use make-temp-file-internal for
+	non-magic file names.
+	* src/fileio.c: Include tempname.h.
+	(make_temp_name_tbl, make_temp_name_count)
+	(make_temp_name_count_initialized_p, make_temp_name): Remove.
+	(Fmake_temp_file_internal): New function.
+	(Fmake_temp_name): Use it.
+	* src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
+	instead of make_temp_name.
+
+2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Document internal-use naming conventions
+
+	* doc/lispref/functions.texi (Function Names):
+	* doc/lispref/variables.texi (Tips for Defining):
+	Document naming conventions for internal-use functions and vars.
+	See Bug#28023#59.
+
+2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify re and document 'autoconf.sh all'
+
+	* GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
+	./autogen.sh defaults to "all".  All uses removed.
+	* README: Mention autoconf.sh's effect on Git configuration.
+
+2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Default autogen.sh to 'all'
+
+	This addresses a problem noted by RMS in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00052.html
+	* autogen.sh (do_git): Set to true if this script is invoked
+	with no arguments and there is a .git subdirectory.
+
+2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Adjust jka-compr to recent Tramp changes.
+
+	* lisp/jka-compr.el (jka-compr-write-region):
+	Two new args LOCKNAME and MUSTBENEW.
+
+2017-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve doc strings of 2 functions in simple.el
+
+	* lisp/simple.el (beginning-of-visual-line)
+	(move-beginning-of-line): Doc fix.  Reported by
+	Justin Burkett <justin@burkett.cc>.
+
+2017-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix completion on directory names on MS-DOS/MS-Windows
+
+	* src/msdos.c (faccessat):
+	* src/w32.c (faccessat): Support relative file names, and add D_OK
+	to 'mode' if the argument is a directory.  This unbreaks file-name
+	completion when the completion result is a directory.
+
+2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
+
+	Implement EXCL of write-region for Tramp
+
+	* lisp/net/ange-ftp.el (ange-ftp-write-region):
+	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
+	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
+	Implement MUSTBENEW.
+
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
+	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
+	(tramp-sh-handle-add-name-to-file)
+	(tramp-do-copy-or-rename-file)
+	* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
+	Adapt error message for `file-already-exists'.
+
+	* src/lisp.h:
+	* src/eval.c (call8): New function.
+
+	* src/fileio.c (write_region): Pass also lockname and
+	mustbenew to the file name handler.
+
+	* test/lisp/net/tramp-tests.el (tramp-test10-write-region):
+	Add tests for MUSTBENEW.
+
+2017-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Adapt Proced display to display-line-numbers
+
+	* lisp/proced.el (proced-header-line): Account for the width taken
+	by display-line-numbers.  (Bug#27895)
+
+2017-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Adapt tabulated list when display-line-number is turned on
+
+	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
+	a hook to revert the display when display-line-numbers is turned
+	on.  (Bug#27895)
+
+2017-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Use Gnulib 'tempname' on MS-Windows
+
+	* lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
+	now in nt/inc/ms-w32.h.
+	* lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
+	(mkostemp): Remove.
+
+	* src/w32.c (mkostemp): Remove.
+	(sys_mkdir): Accept a second (unused) argument.
+	* src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
+	specific call to mkdir.  (Bug#28023)
+
+	* nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
+	to accept 2 arguments.
+	(open): Remove from "#ifdef emacs".
+	* nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
+	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
+	(OMIT_GNULIB_MODULE_tempname): Remove.
+
+2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
+
+	Add new face 'header-line-highlight'
+
+	* lisp/faces.el: Define the face.
+	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
+	* lisp/info.el (Info-fontify-node): Use the new face.
+	* doc/emacs/display.texi (Standard Faces):
+	* etc/NEWS: Document the new face.  (Bug#28033)
+
+2017-08-12  Arash Esbati  <arash@gnu.org>
+
+	Make a case-sensitive match for strings
+
+	* lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
+	let-bind `case-fold-search' to nil in order to be case-sensitive
+	when matching a string.  (Bug#27518)
+
+2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
+
+	Fix a minor todo-mode regression
+
+	* lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
+	save-excursion.  This fixes a regression introduced by the fix
+	for bug#27609, whereby trying to raise the priority of the
+	first item or lower the priority of the last item, which
+	should be noops, moves point to the item's start.  Clarify
+	comment.
+
+	* test/lisp/calendar/todo-mode-tests.el
+	(todo-test-raise-lower-priority): Add test cases for trying to
+	raise first item and lower last item.
+	(with-todo-test): Clear abbreviated-home-dir, since we change HOME.
+	(todo-test-toggle-item-header02): Remove ":expected-result
+	:failed" and tests of point after todo-next-item, since the
+	effect when using Todo mode is not reproducible in the test
+	environment.  Add commentary about this.
+
+2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve performance for rename-file etc.
+
+	Although this does not fix Bug#27986, it is a step forward.
+	I plan to propose a more-significant patch later.
+	* lisp/files.el (directory-name-p): Move from here ...
+	* src/fileio.c (Fdirectory_name_p): ... to here.
+	(directory_like, cp_like_target): New static functions.
+	(Fcopy_file, Frename_file, Fadd_name_to_file)
+	(Fmake_symbolic_link):
+	Use them, to avoid directory-testing syscalls on file names that
+	must be directories if they exist.  Omit unnecessary
+	initializations and CHECK_STRING calls.
+	(Frename_file): Don't call file_name_case_insensitive_p
+	twice on the same file.  Compare both file names expanded, instead
+	of the old name expanded and the new one unexpanded.
+
+2017-08-11  Noam Postavsky  <npostavs@gmail.com>
+
+	Respect buffer-local value of tags-table-list (Bug#27772)
+
+	* lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
+	buffer around the `tags-table-including' calls so as to get buffer
+	local variables from the right buffer later.
+	* test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
+	New test.
+	* test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
+	constant.
+	(etags-bug-158, etags-bug-23164): Use it so that when running the test
+	interactively, setting EMACS_TEST_DIRECTORY is not needed.
+
+2017-08-10  Tom Tromey  <tom@tromey.com>
+
+	Fix auto-filling regression
+
+	Bug#28003
+	* lisp/newcomment.el (comment-indent-new-line): Check
+	comment-auto-fill-only-comments.  Reverts earlier change.
+	* lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
+	do-auto-fill.
+
+2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-08-09 tempname: do not depend on secure_getenv
+	2017-08-08 extensions: add _OPENBSD_SOURCE
+	2017-08-06 manywarnings: Add support for C++
+	2017-08-06 warnings, manywarnings: Add support for multiple languages
+	* admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
+	* lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
+	Copy from gnulib.
+
+2017-08-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix crashing emacs-module tests on MS-Windows
+
+	* src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
+	variable.
+	(emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
+	away, without displaying the Abort dialog, which waits for the user.
+
+	* test/src/emacs-module-tests.el (module--test-assertion): Run the
+	inferior Emacs with the w32 abort dialog disabled.  Expect the
+	status of the aborted Emacs sub-process to be 3 on MS-Windows and
+	2 on MS-DOS.
+
+2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-delete-file:  Dont't ask for empty dirs
+
+	* lisp/dired.el (dired--yes-no-all-quit-help): New defun.
+	(dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
+
+	* test/lisp/dired-tests.el (dired-test-with-temp-dirs):
+	New auxiliar macro.
+	(dired-test-bug27940): Add new test.
+
+2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
+
+	Ask files for deletion in buffer order: top first, botton later
+
+	* lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
+	Call `nreverse' t invert the output of `dired-map-over-marks'.
+
+2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
+
+	Use help-mode xrefs in describe-font
+
+	* lisp/international/mule-diag.el (describe-font): Use help-setup-xref
+	(Bug#27890).
+
+2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Don't try to jump to non-existent part (bug#28013)
+
+	* lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
+	the next part if there is the only one part in the article (bug#28013).
+
+2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace some uses of eval
+
+	There are a number of places where eval is used unnecessarily to get
+	or set the value of a symbol.
+	* lisp/calendar/calendar.el (diary-date-forms): Use default-value in
+	custom setter.
+	* lisp/desktop.el (desktop-clear): Use set-default instead.
+	* lisp/international/ogonek.el (ogonek-read-encoding): Use
+	symbol-value.
+
+2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Convert uses of looking-at in viper-ex to following-char
+
+	* lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
+	(following-char) and use it in the subsequent cond's clauses.
+	(viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
+	Convert single branch ifs to when
+
+2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Some cleanup in message.el
+
+	* lisp/gnus/message.el (message-cross-post-insert-note):
+	(message-strip-forbidden-properties): Mark unused args.
+	(message-canlock-generate): Remove extinct variable
+	sha1-maximum-internal-length.
+	(message-make-mail-followup-to): Use loop's thereis clause.
+
+2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Document make-temp-name magic limitations
+
+	* doc/lispref/files.texi (Unique File Names):
+	* src/fileio.c (Fmake_temp_name): Document that make-temp-name
+	does not guarantee uniqueness on magic file names.
+
+2017-08-08  Tom Tromey  <tom@tromey.com>
+
+	Show number of errors in compilation-mode mode-line
+
+	Bug#25354
+	* lisp/progmodes/compile.el (compilation-num-errors-found): Provide
+	default value.
+	(compilation-num-warnings-found, compilation-num-infos-found): New
+	defvars.
+	(compilation-mode-line-errors): New defconst.
+	(compilation-face): Remove.
+	(compilation-type, compilation--note-type): New functions.
+	(compilation-parse-errors): Call compilation--note-type.
+	(compilation-start): Include compilation-mode-line-errors in
+	mode-line-process.
+	(compilation-setup): Initialize compilation-num-* variables to 0.
+	(compilation-handle-exit): Include compilation-mode-line-errors in
+	mode-line-process.
+	* doc/emacs/building.texi (Compilation): Document new feature.
+
+2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Do some cleanup in mailcap.el
+
+	* lisp/net/mailcap.el: Use lexical-binding.
+	(mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
+	destructuring.
+	(mailcap-mime-data): Remove some entries for ancient functions.
+	(mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
+	(mailcap-parse-mimetype-file): Just use append.
+	(mailcap-command-p): Remove unused function.
+
+2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
+
+	query-replace: Undo replacements performed with 'comma
+
+	During a `query-replace', the char ',' replaces the character
+	at point and doesn't move point;  right after, the char 'u'
+	must undo such replacement (Bug#27268).
+	* lisp/replace.el (replace--push-stack):
+	New macro extracted from `perform-replace'.
+	(perform-replace): Use it.
+	* test/lisp/replace-tests.el (query-replace--undo): Add test.
+
+2017-08-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't define gv expanders in compiler's runtime (Bug#27016)
+
+	This prevents definitions being compiled from leaking into the current
+	Emacs doing the compilation.
+	* lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
+	of `put' with `eval-and-compile'.
+	* test/lisp/emacs-lisp/gv-tests.el: New tests.
+
+2017-08-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Let the cl-typep effects of defclass work during compilation (Bug#27718)
+
+	* lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
+	instead of `put'.
+	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
+	(eieio-tests--dummy-function): Remove.
+	(eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
+	expect to fail if compiled.
+
+2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
+	    Noam Postavsky  <npostavs@gmail.com>
+
+	Let `define-symbol-prop' take effect during compilation
+
+	* src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
+	(Fget): Consult it.
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
+	it to nil.
+	(byte-compile-define-symbol-prop): New function, handles compilation
+	of top-level `define-symbol-prop' and `function-put' calls by putting
+	the symbol setting into `overriding-plist-environment'.
+
+2017-08-08  Gemini Lasswell  <gazally@runbox.com>
+
+	Add a test of handling of circular values to testcover-tests
+
+	* test/lisp/emacs-lisp-testcover-resources/testcases.el
+	(testcover-testcase-cyc1): New function.
+	(testcover-tests-circular-lists-bug-24402): New test.
+
+2017-08-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't error on circular values in testcover
+
+	* lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
+	Consider circular lists to be non-equal instead of signaling error.
+
+2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
+
+	Catch argument and macroexpansion errors in ert
+
+	This kludge catches errors caused by evaluating arguments in ert's
+	should, should-not, and should-error macros; it also catches
+	macroexpansion errors inside of the above macros (Bug#24402).
+
+	* lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
+	(ert--expand-should-1): Catch macroexpansion errors.
+	* test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
+	(ert-test-should-error-macroexpansion): Tests for argument and
+	expansion errors.
+
+2017-08-07  Reuben Thomas  <rrt@sc3d.org>
+
+	Revert "Add Enchant support to ispell.el (Bug#17742)"
+
+	This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
+
+2017-08-07  Reuben Thomas  <rrt@sc3d.org>
+
+	Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
+
+	This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
+
+2017-08-07  Reuben Thomas  <rrt@sc3d.org>
+
+	Add support for arguments in ALTERNATE_EDITOR to emacsclient
+
+	* lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
+	corresponding command-line argument, into space-separated tokens.
+	* etc/NEWS: Document.
+	* test/lib-src/emacsclient-tests.el: Add a test.
+
+2017-08-07  Reuben Thomas  <rrt@sc3d.org>
+
+	Add Enchant support to ispell.el (Bug#17742)
+
+	* lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
+	(ispell-really-enchant): Add variable.
+	(ispell-check-version): If using Enchant, check it’s new enough (at
+	least 1.6.1).  (Like the ispell check, this is absolute: cannot work
+	without.)
+	(ispell-enchant-dictionary-alist): Add variable.
+	(ispell-find-enchant-dictionaries): Add function, based on
+	ispell-find-aspell-dictionaries.
+	(ispell-set-spellchecker-params): Allow dictionary auto-detection for
+	Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
+	old ispell name to locale mapping code for Enchant too.
+	(ispell-send-replacement): Make it work with Enchant.
+
+2017-08-07  Reuben Thomas  <rrt@sc3d.org>
+
+	Allow async command output buffer to be shown only on output
+
+	* lisp/simple.el (async-shell-command-display-buffer): Add
+	defcustom.
+	(shell-command): Use the new defcustom to determine whether to show
+	the buffer immediately, or add a process filter that shows it only
+	when there is some output.
+	* etc/NEWS: Document the new variable.
+	* doc/emacs/misc.texi: Likewise.
+
+	Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
+
+2017-08-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix infinite recursion under prettify-symbols-mode and linum-mode
+
+	* src/xdisp.c (get_overlay_strings_1)
+	(handle_single_display_spec, push_prefix_prop): Invalidate the
+	composition information before starting to iterate on a string.
+	Otherwise we might think in set_iterator_to_next that we are
+	delivering characters from a composition, and do all kinds of
+	nonsensical things, like over-step the string end.  (Bug#27761)
+
+2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
+
+2017-08-07  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix doc-string of `delete-other-windows'
+
+	* lisp/window.el (delete-other-windows): Fix doc-string.
+
+2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix a couple more make-temp-file races
+
+	* lisp/files.el (basic-save-buffer-2, move-file-to-trash):
+	Use make-temp-name, not make-temp-file with retry.
+	(basic-save-buffer-2): Use condition-case, instead of
+	unwind-protect with a success flag.
+
+2017-08-07  Noam Postavsky  <npostavs@gmail.com>
+
+	Merge null and without-null regexp alists (Bug#27840, Bug#27873)
+
+	* lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
+	characters following filename in grep context lines.
+	(grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
+	(grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
+	(grep-regexp-alist): Recombine their contents here.
+	(grep-mode):
+	* lisp/cedet/semantic/symref/grep.el
+	(semantic-symref-parse-tool-output-one-line):
+	* lisp/progmodes/xref.el (xref-collect-matches): Use the variable
+	`grep-regexp-alist' rather than the function.
+
+2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix some crashes on self-modifying Elisp code
+
+	Prompted by a problem report by Alex in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00143.html
+	* src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
+	Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
+	it is likely to run a bit faster with typical hardware caches.
+	(Fif): Use Fcdr instead of XCDR, to avoid crashing on
+	self-modifying S-expressions.
+	(Fsetq, Flet, eval_sub): Count the number of arguments as we go
+	instead of trusting an Flength prepass, to avoid problems when the
+	code is self-modifying.
+	(Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
+	where either will do.  This is mostly to document the fact that
+	the value must be a proper list.  It's also a tiny bit faster on
+	typical machines nowadays.
+	(Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
+	(eval_sub): Check that the args are a list as opposed to some
+	other object that has a length. This prevents e.g. (if . "string")
+	from making Emacs dump core in some cases.
+	* test/src/eval-tests.el (eval-tests--if-dot-string)
+	(eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
+	New tests.
+
+2017-08-06  Eli Zaretskii  <eliz@gnu.org>
+
+	* etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
+
+2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
+
+	Minor tweak in a dired test
+
+	* test/lisp/dired-tests.el (dired-test-bug27968):
+	Ensure the new header has different length than the original one.
+
+2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-delete-file: Do not TAB complete the user answer
+
+	This action might delete directories containing valuable information.
+	Before previous commit, we prompted users with `yes-or-no-p'
+	which doesn't TAB complete the user answer.  Let's play safe and
+	keep requiring full answers.
+	* emacs-master/lisp/dired.el (dired-delete-file): Use `read-string'
+	instead of `completing-read' to read the user answers.
+
+2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-do-delete: Allow to delete dirs recursively without prompts
+
+	* lisp/dired.el (dired-delete-file): Accept 2 additional answers:
+	'all', to delete all directories recursively and no prompt anymore.
+	'quit', to cancel directory deletions (Bug#27940).
+	Show help message when user inputs 'help'.
+	(dired-do-flagged-delete): Bind locally dired-recursive-deletes
+	so that we can overwrite its global value.
+	Wrapp the loop within a catch '--delete-cancel to catch when
+	the user abort the directtry deletion.
+	* doc/emacs/dired.texi (Dired Deletion): Update manual.
+	* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
+	Announce this change.
+
+2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix a couple of make-temp-file races
+
+	* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
+	Use make-temp-file, not make-temp-name, to avoid an unlikely race
+	that could lose data.  Remove the deletion hook as quickly as
+	possible after the file is renamed; though a race still remains
+	here, it is smaller than before.
+
+2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
+
+	Dired w/ eshell-ls: Handle shell wildcards in file name
+
+	* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
+	Use eshell-extended-glob (Bug#27844).
+	* test/lisp/dired-tests.el (dired-test-bug27844): Add test.
+
+2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-revert: save line numbers instead of positions
+
+	Positions might change if the length of one dired header line
+	changes; this happen, for instance, if we add new files.
+	Instead, line numbers are invariant under shrinks/enlargements
+	of the file header.
+	https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01092.html
+	* lisp/dired.el (dired-save-positions): Save the line numbers at point.
+	(dired-restore-positions): Use forward-line to restore the original
+	position (Bug#27968).
+	* test/lisp/dired-tests.el (dired-test-bug27968): Add test.
+
+2017-08-06  Tom Tromey  <tom@tromey.com>
+
+	Respect comment-auto-fill-only-comments
+
+	Respect comment-auto-fill-only-comments when auto-filling and a
+	comment syntax is defined.
+
+	* lisp/newcomment.el (comment-indent-new-line): Do not check
+	comment-auto-fill-only-comments.
+	* lisp/simple.el (internal-auto-fill): New defun.
+	* src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
+	auto_fill_function.
+	(syms_of_cmds): Define Qinternal_auto_fill.
+
+2017-08-05  Richard Stallman  <rms@gnu.org>
+
+	* etc/tutorials/TUTORIAL: Update.
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Unify CNS11643-15 in a way that avoids segfaults
+
+	* lisp/international/mule-conf.el: Redo unification of
+	cns11643-15.  (Bug#27964)
+	(chinese-cns11643-15): Add the missing :unify-map attribute.
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid segfaults while producing Punct.el
+
+	* lisp/international/mule-conf.el: Undo unification of
+	cns11643-15, as that causes segfaults during bootstrap.
+	(Bug#27964)
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Make header line in some modes be sensitive to display-line-numbers
+
+	* lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
+	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
+	(tabulated-list-print-entry): Account for the width taken by
+	line-number display.  (Bug#27895)
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a bug in 'generate-new-buffer-name'
+
+	* src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
+	nil before calling string-equal, since the latter will compare
+	"nil and 'nil' as equal.  (Bug#27966)
+
+	* test/src/buffer-tests.el
+	(test-generate-new-buffer-name-bug27966): New test.
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Unify CNS11643-15
+
+	* lisp/international/mule-conf.el (chinese-cns11643-15): Add a
+	unify-charset form for it.  (Bug#27964)
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve test of error message when Emacs cannot be suspended
+
+	* lisp/term/x-win.el (x-win-suspend-error):
+	* lisp/term/ns-win.el (ns-suspend-error): Improve the error
+	message.  (Bug#27901)
+
+2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
+
+	Make "C-h o" show faces as well as variables
+
+	* lisp/faces.el (describe-face): Return (buffer-string).  Reorder
+	the placement of variables/faces in describe-symbol, to put more
+	emphasis on the variable entry rather than the face.  (Bug#24543)
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix files-tests.el for MS-Windows
+
+	* test/lisp/files-tests.el
+	(files-tests--file-name-non-special--subprocess): Fix this test
+	for MS-Windows.
+
+2017-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'region-extract-function'
+
+	* lisp/simple.el (region-extract-function): Rename the argument to
+	METHOD.  Doc fix.  (Bug#27927)
+
+2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
+	2017-08-01 manywarnings: port to 32-bit GCC bug
+	* lib/gnulib.mk.in: Regenerate.
+	* m4/manywarnings.m4: Copy from gnulib.
+
+2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port recent rename changes to Ubuntu 14.04
+
+	* src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
+	Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
+
+2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
+
+	insert-directory-wildcard-in-dir-p: Tweak regexp
+
+	This function must return non-nil for a wildcard like '/*/*.txt'.
+	* lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
+	* test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
+	Add test.
+
+2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
+
+	Implement iterator generator for avl-trees.
+
+	* lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
+
+2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
+
+	ls-lisp: Drop eshell dependencies
+
+	Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
+	expand the wildcards.
+	Suggested by Fabrice Popineau in:
+	https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00108.html
+	* lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
+
+2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix dired-test-bug27631 on MS-Windows
+
+	Skip the test if Dired use 'ls' emulation with lisp.  The same
+	bug is tested in their respective test suites: ls-lisp-tests.el
+	and em-ls-tests.el.
+	* test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
+	or 'eshell' features are enabled.
+
+2017-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix dired-test-bug25609 on MS-Windows
+
+	* test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
+	pass temporary files through file-truename, to avoid bogus
+	failures due to file-name comparison as strings.
+
+2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix 2 tests that fail in MS-Windows
+
+	https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
+	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
+	Add comments to explain the test logic.
+	Pass '--binary' option to 'patch' program in windows environments.
+	Check explicitely that a backup is created before compare file contents.
+
+	* test/lisp/dired-tests.el (dired-test-bug25609):
+	Declare variable 'dired-dwim-target' right before the test.
+	Add comments to explain the test logic.
+	Ensure, before test the bug condition, that we are displaying the
+	2 dired buffers created in this test, and no other dired buffer
+	is shown.
+
+2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
+
+	* lisp/files.el (insert-directory): Don't hardcode "-c".
+	* lisp/term.el (term, ansi-term): Use shell-file-name.
+
+2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix version numbers for some GnuTLS features
+
+	Problem reported by Glenn Morris (Bug#27708#58).
+	* src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
+	New macro.  Use it instead of low-level version number checks.
+	(HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
+	HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
+	* src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
+	(HAVE_GNUTLS3_HMAC): Remove, since these were available
+	before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
+	is defined.  Remove all uses; this simplifies the code a bit.
+
+2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port recent rename changes to RHEL 7 + NFS
+
+	Problem reported by Ted Zlatanov in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
+	* src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
+	with errno == EINVAL when it is not supported.  So treat that case
+	like errno == ENOSYS.  Also, when ok_if_already_exists is neither
+	nil nor an integer, just call plain rename; this avoids an extra
+	syscall to renameat2 when the latter fails with errno == EINVAL or
+	ENOSYS or ENOENT.
+
+2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port GnuTLS usage to Ubuntu 16.04.2 LTS
+
+	* src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
+	later, as opposed to the old 3.4.0 or later.
+
+2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify configuration of HAVE_GNUTLS3 etc.
+
+	There's only one GnuTLS, so configuring these symbols at
+	'configure' time is overkill.  Simplify things by moving their
+	configuration to src/gnutls.h (Bug#27708).
+	* configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
+	(HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
+	from here ...
+	* src/gnutls.h: ... to here, and simplify.
+
+2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Default to --with-mailutils if it is installed
+
+	* configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
+	is installed.  See:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00054.html
+
+2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Clarify when autogen.sh should run only autoconf
+
+	* Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
+	not plain ‘./autogen.sh’, to make it clear that only
+	autoconf-related tools should be run here.
+
+2017-08-02  Toon Claes  <toon@iotcl.com>
+
+	.gitlab-ci.yml: Use stretch Debian image instead of unstable
+
+2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
+
+	Add debugging messages to a Dired test
+
+	* test/lisp/dired-tests.el (dired-test-bug27243-01): Log
+	positions saved and restored by dired-revert to try and find
+	out why the test fails on Hydra.
+
+2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	ls-lisp: Autoload call instead of cookie
+
+	* lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
+
+2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	When renaming a file, ask only if EEXIST or ENOSYS
+
+	* src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
+	more than once on FILE.  Use renameat_noreplace, so that we can
+	ask the user (and unlink and retry) only if this fails with errno
+	== EEXIST or ENOSYS.  This avoids the need to ask the user for
+	permission to do an operation that will fail anyway.  Simplify
+	computation of ok_if_already_exists for subsidiary functions.
+	* src/filelock.c (rename_lock_file): Prefer renameat_noreplace
+	if it works, as this avoids the need to link and unlink.
+	* src/lisp.h (renameat_noreplace): New decl.
+	* src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
+	(renameat_noreplace): New function.
+
+2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	When creating a link, ask only if EEXIST
+
+	* src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
+	Ask the user (and unlink and retry) only if link creation fails
+	with errno == EEXIST.  This avoids the need to ask the user for
+	permission to do an operation that will fail anyway.
+
+2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-align-file: Inherit text properties in inserted spaces
+
+	* lisp/dired.el (dired-align-file): Inherit text
+	properties in inserted spaces (Bug#27899).
+	* test/lisp/dired-tests.el (dired-test-bug27899): Add test.
+
+2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Don't assume /bin/sh as the 'sh' location in the local host
+
+	* lisp/dired.el (dired-insert-directory): Use executable-find in
+	a local host.
+
+2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Move dired tests using ls emulation to different files
+
+	Suggested in:
+	https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
+	* test/lisp/dired-tests.el (dired-test-bug27693)
+	(dired-test-bug27762, dired-test-bug27817)
+	(dired-test-bug27631, dired-test-bug27843): Delete those
+	parts requiring either ls-lisp or eshell-ls.
+
+	* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
+	(ls-lisp-test-bug27631, ls-lisp-test-bug27693):
+	Add all dired tests using ls-lisp here.
+
+	* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
+	(em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
+	all dired tests using eshell-ls here.
+
+2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	* test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
+
+2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
+	Say the handle is already decoded.
+	cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
+
+2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t worry about unlink if errno == ENOENT
+
+	* src/fileio.c (Fdelete_file):
+	* src/keyboard.c (Fopen_dribble_file): Do not report failure to
+	remove a file if unlink fails with errno == ENOENT.  This can
+	happen even if Emacs is the only program removing the file, in
+	case an NFS cache overflows.  The file does not exist if errno ==
+	ENOENT, so it is OK to proceed.
+
+2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix misalignment in Dired when dired-directory is a cons
+
+	* lisp/dired.el (dired--need-align-p, dired--align-all-files):
+	New defuns.
+	(dired-internal-noselect): Call dired--align-all-files when
+	dired-directory is a cons (Bug#27762).
+	* test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
+
+2017-08-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix some dired-tests.el on MS-Windows
+
+	* test/lisp/dired-tests.el (dired-test-bug27243-01)
+	(dired-test-bug27243-02): On MS-Windows, pass test-dir through
+	file-truename, to avoid bogus failures due to file-name comparison
+	as strings.
+
+2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
+
+	Insert subdir content if dir-or-list is a string w/o wildcards
+
+	* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
+	Append '("-d") into 'eshell-ls-dired-initial-args'
+	if 'dired-directory' is a cons or there are wildcars (Bug#27843).
+	* test/lisp/dired-tests.el (dired-test-bug27843): Add test.
+
+2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
+
+	Update todo-mode defcustoms in a less hideous way
+
+	* lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
+	(todo-reevaluate-default-file-defcustom)
+	(todo-reevaluate-category-completions-files-defcustom)
+	(todo-reevaluate-filter-files-defcustom): Delete these functions.
+	(todo-update-filelist-defcustoms): New function.  This replaces
+	todo-reevaluate-filelist-defcustoms, using the 'custom-type'
+	property instead of re-evaluating the defcustoms.
+	(todo-add-file, todo-rename-file, todo-delete-file)
+	(todo-delete-category, todo-move-category)
+	(todo-convert-legacy-files, todo-check-file): Replace call of
+	todo-reevaluate-filelist-defcustoms by
+	todo-update-filelist-defcustoms.
+	(todo-show, todo-category-completions): Replace call of
+	todo-reevaluate-* function by use of 'custom-type' property.
+
+2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
+
+	Add more should form calls in a failing dired test
+
+	Some dired tests fail intermittently in hydra.  Add few
+	more should form calls for debugging.
+	See:
+	https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01092.html
+	* test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
+	forms for debugging.
+
+2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
+
+	Follow SAUNA recommendations for display-line-numbers-type
+
+	* lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
+
+	* lisp/menu-bar.el (display-line-numbers-type): Declare.
+
+2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Avoid most stat calls when completing file names
+
+	* admin/merge-gnulib (GNULIB_MODULES): Add d-type.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* m4/d-type.m4: New file, copied from gnulib.
+	* src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
+	[!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
+	(dirent_type): New function.
+	(file_name_completion): Use it, to avoid unnecessary calls to
+	stat-like functions on GNU/Linux and other platforms with d_type.
+	(file_name_completion_stat): Just follow the link; there is no
+	need to try first with AT_SYMLINK_NOFOLLOW since the directory
+	entry was already checked to exist.
+
+2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-tests: Unload tested features after test them
+
+	Some tests are for Dired with ls-lisp or eshell-ls.
+	Requiring these features add an advice on `dired' and
+	might affect other tests.
+	Do not require these features at the top of the file; require
+	then inside the tests and unload then at the end.
+	* test/lisp/dired-tests.el (dired-test-bug27693)
+	(dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
+	require ls-lisp and/or eshell-ls inside the test; unload the
+	features at the end.
+
+2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
+
+	Small adaptions for directory wildcards
+
+	* lisp/dired.el (dired-insert-directory): Remove "--dired"
+	when there are wildcards, and the directory is remote.
+
+	* test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
+	Adapt docstring.
+	(tramp-test17-dired-with-wildcards): Skip for all methods but
+	those from tamp-sh.p.
+
+2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
+
+	* lisp/dired (dired-trivial-filenames): Use \` and \' to match string bounds
+
+2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
+	* lib/tempname.c: Copy from gnulib.
+
+2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
+
+	ls-lisp: Do not require em-glob at top of the file
+
+	Require em-glob inside 'ls-lisp--dired'.  This is necessary to
+	not break the Emacs build.
+	See following thread for details:
+	https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01083.html
+	* lisp/ls-lisp.el (dired-goto-next-file)
+	(dired-read-dir-and-switches, eshell-extended-glob):
+	Add function declarations.
+	* lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
+
+2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
+
+	* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
+
+2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Change default CSS property face
+
+	* lisp/textmodes/css-mode.el (css-property): Inherit from
+	`font-lock-keyword-face' instead of `font-lock-variable-name-face' to
+	distinguish CSS properties from variables.
+
+2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
+
+	Dired: Handle posix wildcards in directory part
+
+	Allow Dired to handle calls like
+	\(dired \"~/foo/*/*.el\"), that is, with wildcards within
+	the directory part of the file argument (Bug#27631).
+	* lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
+	(insert-directory-clean): New defun extracted from insert-directory.
+	(insert-directory)
+	* lisp/dired.el (dired-internal-noselect)
+	(dired-insert-directory): Use the new predicate; when it's true,
+	handle the directory wildcards with a shell call.
+	* lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
+	(eshell-ls-unload-hook): New defun.  Use it in
+	eshell-ls-unload-hook instead of an anonymous function.
+	(eshell-ls--dired)
+	* lisp/ls-lisp.el (ls-lisp--dired):
+	Advice dired to handle wildcards in the directory part with both
+	eshell-ls and ls-lisp.
+	* etc/NEWS: Announce it.
+	* doc/emacs/dired.texi (Dired Enter): Update manual.
+	* test/lisp/dired-tests.el (dired-test-bug27631): Add test.
+
+2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
+
+	* lisp/find-lisp.el: Enable lexical binding
+
+	* lisp/find-dired.el: Enable lexical binding
+
+2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/kmacro.el: Use lexical binding.
+
+2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Use lexical-binding in dired-aux.el
+
+	* lisp/dired.el: Use lexical binding.
+	(dired-do-shell-command): Remove unused bindings.
+
+2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/ido.el: Use lexical binding.
+
+	* lisp/whitespace.el: Use lexical binding.
+
+2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
+
+	artist.el: Avoid error with keyboard command invocation
+
+	* lisp/textmodes/artist.el (artist-mouse-choose-operation):
+	Call x-popup-menu with t instead of last-nonmenu-event as the
+	value of the position argument; this allows invoking the
+	command from the keyboard without raising an error (bug#27819).
+
+2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
+
+	Preserve point under 'dired-auto-revert-buffer' (third case)
+
+	* lisp/files.el (find-file): Use pop-to-buffer-same-window
+	instead of switch-to-buffer.  This preserves Dired window
+	point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
+
+	* test/lisp/dired-tests.el (dired-test-bug27243-01)
+	(dired-test-bug27243-02, dired-test-bug27243-03): New tests.
+	The first two replace a previous test that combined them; that
+	test intermittently fails in the Hydra build system, so maybe
+	separating the two cases will help locate the point of
+	failure.  The third test involves find-file but is here
+	because it, like the others, is testing the effect of
+	dired-auto-revert-buffer.
+
+2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
+
+	Do not unset user key remaps in dired-x
+
+	* lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
+	sets dired-x-hands-off-my-keys.  (Bug#27828)
+
+2017-07-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'occur'
+
+	* doc/emacs/search.texi (Other Repeating Search):
+	* lisp/replace.el (occur): Make the documentation of 'occur' be
+	more accurate when matches overlap.  (Bug#27818)
+
+2017-07-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor copyedits of comments in faces.el
+
+	* lisp/faces.el (face-font-family-alternatives): More info about
+	requirements from "Monospace Serif".
+
+2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not worry about paxctl on newer NetBSD
+
+	Problem reported privately by Thomas Klausner.
+	* configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
+	on newer NetBSD platforms, where it is not needed.  Also use it to
+	simplify Cygwin diagnostic.
+
+2017-07-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Clarify documentation of ':inherit' face attribute
+
+	* doc/lispref/display.texi (Face Attributes): Document the special
+	treatment of 'unspecified' in the ':inherit' attribute.
+
+2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/password-cache.el (password-data): Use a hash-table
+
+	* lisp/auth-source.el (auth-source-magic): Remove.
+	(auth-source-forget+, auth-source-forget-all-cached): Adjust to new
+	format of password-data.
+	(auth-source-format-cache-entry): Just use a cons.
+
+	(password-cache-remove, password-cache-add, password-reset)
+	(password-read-from-cache, password-in-cache-p): Adjust accordingly.
+
+	(Bug#26699)
+
+2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/subr.el (define-symbol-prop): New function
+
+	(symbol-file): Make it find symbol property definitions.
+
+	* lisp/emacs-lisp/pcase.el (pcase-defmacro):
+	* lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
+	(ert-describe-test): Adjust call to symbol-file accordingly.
+
+2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/subr.el (method-files): Move function to cl-generic.el
+
+	* lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
+	(cl--generic-method-files): New function, moved from subr.el.
+	* lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
+	* test/lisp/emacs-lisp/cl-generic-tests.el:
+	* test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
+
+2017-07-28  Eli Zaretskii  <eliz@gnu.org>
+
+	Preserve this-command-keys across recursive-edit invocations
+
+	* src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
+	restore this-command-keys, to preserve it across recursive-edit.
+	(Bug#27470)
+
+2017-07-28  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve doc string of 'locate-dominating-file'
+
+	* lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
+
+2017-07-28  Drew Adams  <drew.adams@oracle.com>
+
+	New commands 'apropos-local-variable', 'apropos-local-value'
+
+	* lisp/apropos.el (apropos-local-variable, apropos-local-value):
+	New functions.  (Bug#27424)
+
+	* doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
+	and 'apropos-local-value'.
+	* etc/NEWS: Mention the new commands.
+
+2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
+
+	* lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
+
+2017-07-27  Alan Mackenzie  <acm@muc.de>
+
+	Fix C++ class initializers not always being fontified at mode start.
+
+	The problem here happened when an "outer list" of declarations moved beyond an
+	"inner list" containing class initializers.  These weren't being checked for
+	by the code.
+
+	Also, fix places in c-get-fontification-context where point is undefined.
+
+	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
+	not-front-decl is set, test for class initializers.  Also, anchor point in
+	places where it is moved and is otherwise undefined.
+
+2017-07-27  Alan Mackenzie  <acm@muc.de>
+
+	Fix variables in C++ "for" statement not always being fontified.
+
+	The error happened when there was a comma inside template delimiters.
+
+	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
+	statements, recognise template delimiters containing "," and "&".
+
+2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add watchdog process to tramp-test36-asynchronous-requests
+
+	* test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
+	New defun.
+	(tramp-test36-asynchronous-requests): Use a watchdog process,
+	listening for SIGUSR1.
+
+2017-07-27  Alan Mackenzie  <acm@muc.de>
+
+	CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
+
+	If a declarator is so cut off, extend the fontification chunk to include it.
+
+	* lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
+	(c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
+
+2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
+
+	(smerge--refine-long-words): New var.
+	(smerge--refine-chopup-region): Use it.
+
+2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/url/url-cookie.el: Use lexical-binding
+
+	(url-cookie-host-can-set-p): Remove unused var `last'.
+	Use string-suffix-p.
+	(url-cookie-list): De morgan.
+	(url-cookie-quit): Remove.
+	(url-cookie-mode): Inherit from special-mode.
+	(url-cookie-mode-map): Simplify accordingly.
+
+2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
+
+	* lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
+
+2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
+
+	Record this as the function's definition site if it's the first def.
+
+2017-07-26  Glenn Morris  <rgm@gnu.org>
+
+	* doc/lispref/loading.texi (When to Autoload): New section.
+
+2017-07-26  Glenn Morris  <rgm@gnu.org>
+
+	Stop using unibyte buffers for ert backtraces
+
+	* lisp/emacs-lisp/ert.el
+	(ert-results-pop-to-backtrace-for-test-at-point):
+	Set multibyte true, not false.  This copies a
+	debugger-setup-buffer change from 2009-08-30, and stops the
+	"Backtrace for" header line containing ^X and ^Y.
+
+2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
+
+	* lisp/cedet/semantic/symref/grep.el
+	(semantic-symref-grep--line-re): Delete.
+	(semantic-symref-parse-tool-output-one-line):
+	Use regexp and group numbers from (grep-regexp-alist).
+
+2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
+
+	Fix cl-defmethod indentation
+
+	* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
+	Declare (indent defun).  Fixes bug#23994.
+
+2017-07-26  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix two customization types in frame.el
+
+	* lisp/frame.el (window-divider-default-bottom-width)
+	(window-divider-default-right-width): Fix customization types.
+
+2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
+
+	Dired: Support eshell-ls from the beginning if the user wants to
+
+	* lisp/dired.el (dired-insert-directory): Check for eshell-ls
+	as well (Bug#27817).
+	* test/lisp/dired-tests.el (dired-test-bug27817): Add test.
+
+2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
+
+2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
+
+	Adjust to change in cl-generic-ensure-function.
+
+2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
+
+	ls-lisp: Add an unload function and enable lexical binding
+
+	Enable lexical binding.
+	* lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
+	* test/lisp/ls-lisp.el (ls-lisp-unload): Add test.
+
+2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
+
+	register-read-with-preview: Quit if user input C-g or ESC
+
+	* lisp/register.el (register-read-with-preview):
+	Quit if user input C-g or ESC (bug#27634).
+	* doc/emacs/regs.texi (Registers): Update manual.
+	* test/lisp/register-tests.el (register-test-bug27634): Add test.
+
+2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Recognize MirBSD Korn shell rc file
+
+	* lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
+
+2017-07-25  Glenn Morris  <rgm@gnu.org>
+
+	* configure.ac: Be explicit about ImageMagick version in summary.
+
+2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
+
+	Properly align global lispsym
+
+	* lib-src/make-docfile.c (close_emacs_globals): Wrap struct
+	Lisp_Symbols inside struct.
+	* src/alloc.c (sweep_symbols): Update use of lispsym.
+	* src/lisp.h (builtin_lisp_symbol): Likewise.
+
+2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not use ImageMagick 7 and later
+
+	Suggested by Glenn Morris (Bug#25967#15).
+	* configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
+
+2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/perl-mode.el: Add support for indented here docs
+
+	* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
+	Recognize the new <<~ syntax for indented here docs.
+	(perl-syntax-propertize-special-constructs): Adjust search of the
+	end of here docs accordingly.
+
+	* test/manual/indent/perl.perl: Add test for indented here docs.
+
+2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	(loadhist-unload-element): Move ERT and cl-generic methods
+
+	* lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
+	and ert methods here.
+	(loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
+
+	* lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
+	unload method for cl-defmethod.
+	(cl-generic-ensure-function): Remove redundant `defalias'.
+
+	* lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
+	setting here...
+	(ert-deftest): ...from here.
+	(loadhist-unload-element): Define unload method for ert-deftest.
+
+2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#27371
+
+	* lisp/loadhist.el (loadhist-unload-element): Declare for
+	different entry types of `load-history'.
+	(loadhist--restore-autoload): New variable.
+	(loadhist--unload-function): New defun.
+	(unload-feature): Use `loadhist-unload-element'.  Recommended by
+	Stefan Monnier.  (Bug#27371)
+
+	* test/lisp/net/tramp-tests.el (tramp-test39-unload):
+	Check, that the `tramp-file-name' structure has been unloaded.
+
+2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
+
+	Ensure that we parse images right in shr.el
+
+	* lisp/net/shr.el (shr-image-fetched): Go back to the
+	beginning of the buffer before trying to parse the image
+	fetched.
+
+2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Update .gitignore for Valgrind and no Automake
+
+	* .gitignore: Remove .deps/ since we no longer use Automake.
+	Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
+
+2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-07-23 Rename module 'strftime' to 'nstrftime'
+	* admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
+	* build-aux/config.guess: Copy from gnulib.
+	* lib/nstrftime.c: Rename from lib/strftime.c.
+	* m4/nstrftime.m4: Rename from m4/strftime.m4.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+
+2017-07-23  Philipp Stephani  <phst@google.com>
+
+	Add 'rx' pattern for pcase.
+
+	* lisp/emacs-lisp/rx.el (rx): New pcase macro.
+	* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
+
+2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Use a named function for global minor mode turn-on argument
+
+	* lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
+	New function.
+	(global-display-line-numbers-mode): Use it.
+
+2017-07-23  Charles A. Roelli  <charles@aurox.ch>
+
+	Enable GUI Emacs without 'make install' on macOS (Bug #27645)
+
+	* nextstep/INSTALL: Correct it, and mention that Emacs can be run
+	from 'src/emacs'.
+
+	* src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
+	launched outside of a macOS application bundle, change its
+	activation policy from the default 'prohibited' to 'regular'.
+
+2017-07-23  Alan Mackenzie  <acm@muc.de>
+
+	Convert CC Mode's c-found-types from an obarray to a hash table.
+
+	* lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
+	rather than an obarray.
+	(c-copy-found-types): Remove.
+	(c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
+	the new hash table.
+	(c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
+
+2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix image/svg+xml display in shr
+
+	* lisp/net/shr.el (shr-put-image): Display svg images as svg
+	(bug#27799).  I suspect the previous change was checked in by
+	accident in conjuction with some other svg changes.
+
+2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
+
+2017-07-23  Glenn Morris  <rgm@gnu.org>
+
+	Don't automatically enable Gconf if Gsettings was found
+
+	* configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
+	Don't test for Gconf unless specifically requested.
+	Gconf was deprecated in favor of Gsettings several years ago.
+
+2017-07-23  Glenn Morris  <rgm@gnu.org>
+
+	* configure.ac (MODULES_SUFFIX): Always give it a value.
+
+	This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
+
+2017-07-23  Glenn Morris  <rgm@gnu.org>
+
+	* doc/emacs/frames.texi (Fonts): Mention Gsettings.
+
+2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add line numbers display to the Options menu
+
+	* lisp/menu-bar.el (toggle-display-line-numbers): Remove.
+	(menu-bar-display-line-numbers-mode): New defun.
+	(menu-bar-showhide-line-numbers-menu): New defvar.
+	(menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
+
+2017-07-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Signal error for symbol names with strange quotes (Bug#2967)
+
+	* src/lread.c (read1): Signal an error when a symbol starts with a
+	non-escaped quote-like character.
+	* test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
+	test.
+	* etc/NEWS: Announce change.
+
+2017-07-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
+
+	It turns out that this change is not needed, and it leaves several
+	command loops settings not done.
+
+	https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00757.html
+	https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00840.html
+
+2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
+
+	Add a minor mode interface for display-line-numbers
+
+	* lisp/cus-start.el: Use the new display-line-numbers group.
+	* lisp/display-line-numbers.el: New file.
+
+	* doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
+	belong to linum-mode.
+	* doc/emacs/modes.texi (Minor Modes): Summarize the mode.
+	* etc/NEWS: Document display-line-numbers-mode and its customization
+	variables, and mention that display-line-numbers-width is
+	buffer-local.
+
+	* src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
+	typo.
+
+2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
+
+	Support indented HERE-DOCs in cperl-mode
+
+	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
+	indented here-docs.  (Bug#27254) (Bug#27697)
+
+2017-07-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Document the support for "scrollBar" X resource
+
+	* doc/emacs/xresources.texi (Table of Resources): Document the new
+	'scrollBar' setting.
+	* etc/NEWS: Document the new 'scrollBar' setting.
+
+2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
+
+	Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
+
+	* lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
+	settings.
+
+2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
+
+	Update ld-script mode (bug#27629)
+
+	* lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
+	NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
+	numbers for PROVIDE/PROVIDE_HIDDEN commands.
+	(ld-script-builtins): New builtin function LOG2CEIL added.
+
+2017-07-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Index 'rectangle' in the ELisp manual
+
+	* doc/lispref/text.texi (Registers): Index the "rectangle" value.
+	(Bug#27541)
+
+2017-07-22  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
+
+2017-07-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Doc fixes for kmacro.el functions
+
+	* lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
+	(kmacro-end-and-call-macro): Don't use "permanent name", as that
+	could be misinterpreted.  (Bug#27492)
+
+2017-07-22  Charles A. Roelli  <charles@aurox.ch>
+
+	ElDoc: add docstrings and minor refactoring
+
+	* lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
+	docstring.
+	(turn-on-eldoc-mode): Fix capitalization.
+	(eldoc--supported-p): Add docstring.
+	(eldoc-schedule-timer): Add docstring and use
+	'eldoc--supported-p'.
+	(eldoc-message): Add docstring and make calling convention
+	clearer.
+	(eldoc--message-command-p):
+	(eldoc-pre-command-refresh-echo-area):
+	(eldoc-display-message-p):
+	(eldoc-display-message-no-interference-p):
+	(eldoc-print-current-symbol-info):
+	(eldoc-docstring-format-sym-doc):
+	(eldoc-add-command, eldoc-add-command-completions):
+	(eldoc-remove-command, eldoc-remove-command-completions):
+	Add docstring.  (Bug#27230)
+
+2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
+
+	Mention 'C-M-i' as key binding for 'ispell-complete-word'
+
+	* doc/emacs/fixit.texi (Spelling): ispell-complete-word
+	can also be invoked by C-M-i.  (Bug#27349)
+
+2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
+
+	Fix the eww-search-words description in the Emacs manual
+
+	* doc/emacs/search.texi (Word Search):
+	Include the key binding for eww-search-words in the manual.
+	Fix the spelling of the 'eww-search-words' command.
+
+2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
+
+	Introduce defcustom 'executable-prefix-env'
+
+	* lisp/progmodes/executable.el (executable-prefix): Update the doc
+	string.
+	(executable-prefix-env): New defcustom.
+	(executable-set-magic): Use executable-prefix-env.
+
+	* etc/NEWS: Document the new variable.
+
+2017-07-22  Glenn Morris  <rgm@gnu.org>
+
+	* test/lisp/ibuffer-tests.el: Delete temporary files.
+
+2017-07-21  Glenn Morris  <rgm@gnu.org>
+
+	Further attempt to avoid hang in network-stream-tests
+
+	* test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
+	Limit the time we wait for the external process.
+
+2017-07-21  Glenn Morris  <rgm@gnu.org>
+
+	Stop skipping many ibuffer tests by default
+
+	* test/lisp/ibuffer-tests.el (ibuffer-0autoload):
+	Rename so it sorts first.
+	(ibuffer-save-filters, ibuffer-filter-inclusion-1)
+	(ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
+	(ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
+	(ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
+	(ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
+	(ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
+	(ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
+
+2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Use lexical-binding in todo-mode.el
+
+	Adjust code accordingly and make various minor improvements.
+
+	* lisp/calendar/todo-mode.el: Enable lexical-binding.
+	(dayname, monthname, day, month, year): Make forward defvars
+	of these keywords from macros defined in calendar.el; wrap
+	them in with-no-warnings.
+	(todo-files, todo-files-function, todo-date-pattern)
+	(todo-mode-line-function, todo-show, todo-forward-category)
+	(todo-edit-item--header, todo-set-category-number)
+	(todo-adjusted-category-label-length)
+	(todo-total-item-counts, todo-filter-items)
+	(todo-print-buffer-function, todo-convert-legacy-date-time)
+	(todo-category-number, todo-category-completions)
+	(todo-read-file-name, todo-read-category)
+	(todo-validate-name, todo-read-date)
+	(todo-set-show-current-file, todo-modes-set-1)
+	(todo-modes-set-2, todo-modes-set-3, todo-mode):
+	Use #' instead of ' to quote functions.
+	(todo-files): Use \' instead of $ in regexp.
+	(todo--files-type-list): New function.
+	(todo-default-todo-file, todo-category-completions-files)
+	(todo-filter-files, todo-multiple-filter-files)
+	(todo-reevaluate-default-file-defcustom)
+	(todo-reevaluate-category-completions-files-defcustom)
+	(todo-reevaluate-filter-files-defcustom): Use it.
+	(todo-show, todo-rename-file, todo-move-category)
+	(todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
+	(todo-item-undone, todo-unarchive-items, todo-search)
+	(todo-filter-items, todo-filter-items-1, todo-find-item)
+	(todo-category-select, todo-read-date)
+	(todo-nondiary-marker-matcher, todo-date-string-matcher)
+	(todo-diary-expired-matcher, todo-convert-legacy-files)
+	(todo-read-category): Reformat to avoid code hiding behind a
+	more deeply embedded element.
+	(todo-forward-category, todo-set-category-number):
+	Use 'funcall' instead of 'apply'.
+	(todo-toggle-mark-item, todo-edit-item--diary-inclusion)
+	(todo-edit-category-diary-inclusion)
+	(todo-insert-sort-button, todo-insert-category-line)
+	(todo-multiple-filter-files): Mark unused local variables.
+	(todo-edit-item--header, todo-move-item, todo-print-buffer)
+	(todo-edit-item--header, todo-move-item, todo-check-file)
+	(todo-edit-item--next-key): Remove unused local variables.
+	(todo-insert-sort-button, todo-insert-category-line):
+	Use a closure instead of a backquoted lambda.
+	(todo-update-categories-display, todo-print-buffer): Simplify code.
+	(todo-print-buffer-function): Document calling convention.
+	(todo-category-completions): Use cl-pushnew instead of add-to-list.
+	(todo-mode-map, todo-archive-mode-map)
+	(todo-categories-mode-map, todo-filtered-items-mode-map):
+	Remove superfluous call of suppress-keymap, since it's already
+	in the parent special-mode-map.
+
+2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired: Revert buffer when DIRNAME is a cons
+
+	* lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
+	is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
+	Update the comments.
+	* test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
+
+2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
+
+	Handle when dired-directory is a cons in some Dired functions
+
+	* lisp/dired-aux.el (dired-rename-subdir-1)
+	* lisp/dired-x.el (dired-mark-omitted):
+	Handle when dired-directory is a cons.
+
+2017-07-21  Noam Postavsky  <npostavs@gmail.com>
+
+	Make eshell-next-prompt more reliable (Bug#27405)
+
+	* lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
+	`eshell-prompt-regexp' (and `read-only' text-property if
+	`eshell-highlight-prompt' is set) rather than trying to use
+	`forward-paragraph'.
+	(eshell-previous-prompt): Don't count prompt on current line.
+
+2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify recent gnutls.c changes
+
+	* src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
+	All uses replaced by calls to explicit_bzero; that’s clear enough.
+	(gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
+	coalescing duplicate actions.  There is no need to invoke
+	SAFE_FREE before calling ‘error’.
+
+2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
+
+	Stylistic changes in tramp-cache.el
+
+	* test/lisp/net/tramp-cache.el (tramp-get-file-property)
+	(tramp-set-file-property): Use `bound-and-true-p'.  Add
+	counter variables to `tramp-cache-unload-hook'.
+
+2017-07-20  Glenn Morris  <rgm@gnu.org>
+
+	* admin/notes/hydra: Small updates.
+
+2017-07-20  Glenn Morris  <rgm@gnu.org>
+
+	Make tramp unloading handle debug counter variables
+
+	* lisp/net/tramp-cache.el (tramp-get-file-property)
+	(tramp-set-file-property): Add counter variables to tramp-unload-hook.
+
+2017-07-20  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix hscrolling calculations when display-line-numbers is set
+
+	* src/xdisp.c (move_it_in_display_line_to): Account for line
+	numbers in hscrolled lines.  (Bug#27756)
+
+2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Fix the bogus change made 13 years ago (bug#27084)
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
+	Fix the way to test if there is no visible header (bug#27084).
+
+2017-07-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Use grep's --null option (Bug#6843)
+
+	* lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
+	(grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
+	(grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
+	constants, replacing `grep-regexp-alist'.
+	(grep-regex-alist): Mark the variable obsolete, add a new function of
+	the same name to replace it.
+	(grep-compute-defaults): Compute default for
+	`grep-use-null-filename-separator'.
+	(grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
+	value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
+	according to `grep-use-null-filename-separator'.
+	* lisp/progmodes/xref.el (xref-collect-matches): Call
+	`grep-regex-alist' instead of the obsolete variable.  Don't hardcode
+	grep-regexp-alist match groups.
+	* etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
+	item under "Grep" heading as well.
+
+2017-07-19  Philipp Stephani  <phst@google.com>
+
+	* src/gnutls.c (clear_storage): Define only if needed.
+
+2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
+
+	Adjust todo-quit to recent change in dired
+
+	* lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
+	bury-buffer to exit todo-mode.  This restores the desired behavior
+	of not immediately returning to the exited todo-mode buffer on
+	quitting another buffer, which a dired bug fix had changed (see
+	http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00739.html).
+
+2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
+
+	Add test for bugs 7131, 27762
+
+	Require 'ls-lisp' at top of the file.
+	* test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
+	New tests.
+	(dired-test-bug27693): Delete Dired buffer at the end.
+
+2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
+
+	* admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
+
+2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
+
+	This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
+
+2017-07-18  Glenn Morris  <rgm@gnu.org>
+
+	Use a more specific test for running on hydra.nixos.org
+
+	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
+	* test/Makefile.in (WRITE_LOG):
+	* test/lisp/filenotify-tests.el:
+	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
+	(eieio-test-method-order-list-6):
+	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
+	(eieio-test-37-obsolete-name-in-constructor):
+	* test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
+
+2017-07-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid infloop due to Eshell's "smart" redisplay
+
+	* src/xdisp.c (pos_visible_p): Save and restore the window's
+	mode-line and header-line height.  (Bug#27752)
+
+2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
+
+2017-07-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix indentation when display-line-numbers is non-nil
+
+	* src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
+	to go one more tab stop to display a TAB.  (Bug#27743)
+
+2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Don't use gtk_widget_get_scale_factor on old GTK3 versions
+
+	* src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
+	only present since GTK 3.10.
+
+2017-07-18  Noam Postavsky  <npostavs@gmail.com>
+
+	Let delete-selection-mode work with popup-menu commands (Bug#27569)
+
+	* lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
+	`this-command' set to the selected command.
+
+2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port gnutls.c to older (buggier?) GnuTLS
+
+	Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00716.html
+	http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00742.html
+	Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
+	perhaps hydra was using a modified GnuTLS.
+	* src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
+	is at the end of the list returned by gnutls_cipher_list,
+	or that the earlier ciphers all have non-null names.
+
+2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+	Fix relocation with named cell referred to by a one-symbol formula.
+
+	* lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
+	work also with one symbol formulas.
+
+	* test/lisp/ses-tests.el
+	(ses-tests-renaming-cell-with-one-symbol-formula): Add new
+	test for renaming with relocating a one symbol formula.
+
+2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+	Fix symbol completion and document it.
+
+	* doc/misc/ses.texi (Configuring what printer function
+	applies): Add description of keys for completing local printer
+	symbols and listing local printers in a help buffer.
+	(Formulas): Add decription for key to list the named cell
+	symbols in a help buffer.
+
+	* lisp/ses.el (ses-completion-keys): New constant.
+	(ses--completion-table): New defvar.
+	(ses--list-orig-buffer): New defvar.
+	(ses-mode-edit-map): Fixed for symbol completion, plus add
+	help functions to list named cells or local printers.
+	(ses-edit-cell-complete-symbol)
+	(ses--edit-cell-completion-at-point-function): New defuns for
+	completion during formula edition.
+	(ses-edit-cell): Redefine dynamically edit keymap for
+	completion keys to point at the right function.
+	(ses-read-printer-complete-symbol)
+	(ses--read-printer-completion-at-point-function): New defuns
+	for completion during printer edition.
+	(ses-read-printer): Redefine dynamically edit keymap for
+	completion keys to point at the right function.
+	(ses-list-local-printers): New defun.
+	(ses-list-named-cells): New defun.
+
+2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Move comments around
+
+2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make scaling work (?) on pre-GTK3 systems
+
+	* src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
+	(xg_get_scale): Use it on non-GTK3 systems.
+
+2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Always return the GDK scale
+
+	* src/gtkutil.c (xg_get_scale): Return the GDK scale always.
+
+2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Remove usage of the GDK_SCALE variable
+
+	* src/gtkutil.c (xg_get_gdk_scale): Remove.
+	(xg_get_default_scrollbar_height)
+	(xg_get_default_scrollbar_width): Pass in a frame to check for
+	scaling.
+	(xg_frame_set_char_size): Use the API for querying scale
+	instead of looking at the GDK_SCALE variable.
+	(xg_get_default_scrollbar_width): Ditto.
+	(xg_get_default_scrollbar_height): Ditto.
+	(xg_update_scrollbar_pos): Ditto.
+
+	* src/xfns.c (x_set_scroll_bar_default_height): Pass in the
+	frame to get the width.
+
+2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Get positions of menus and tooltips right on HiDPI
+
+	* src/gtkutil.c (xg_get_scale): New function.
+	(xg_show_tooltip): Use it.
+
+	* src/xmenu.c (create_and_show_popup_menu): Put menus in the
+	right place.
+
+2017-07-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Allow user control on what starts and ends a paragraph for bidi
+
+	* src/buffer.h (struct buffer): New members
+	bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
+	* src/buffer.c (bset_bidi_paragraph_start_re)
+	(bset_bidi_paragraph_separate_re): New setters/
+	(Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
+	bidi-paragraph-separate-re.
+	(init_buffer_once): Init the values of bidi-paragraph-start-re and
+	bidi-paragraph-separate-re.
+	(syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
+	New per-buffer variables.
+	* src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
+	Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
+	(bidi_move_to_visually_next): Handle correctly the case when the
+	separator matches an empty string.  (Bug#27526)
+
+	* doc/emacs/mule.texi (Bidirectional Editing):
+	* doc/lispref/display.texi (Bidirectional Display): Document
+	bidi-paragraph-start-re and bidi-paragraph-separate-re.
+
+	* etc/NEWS: Mention bidi-paragraph-start-re and
+	bidi-paragraph-separate-re.
+
+2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
+
+	* lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
+
+2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
+
+	alist-get: Add optional arg TESTFN
+
+	If TESTFN is non-nil, then it is the predicate to lookup
+	the alist.  Otherwise, use 'eq' (Bug#27584).
+	* lisp/subr.el (alist-get): Add optional arg FULL.
+	* lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
+	* lisp/emacs-lisp/gv.el (alist-get): Update expander.
+	* doc/lispref/lists.texi (Association Lists): Update manual.
+	* etc/NEWS: Announce the changes.
+	* test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
+	(test-map-elt-testfn): New tests.
+
+2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix `tramp-test39-unload'
+
+	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
+	(tramp--test-instrument-test-case): Rename.  Adapt all callees.
+	(tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
+	(tramp-test39-unload): Expect it to pass.  Ignore buffer-local
+	variables and autoload functions; they are not removed.  Check
+	also for `-function(s)'.
+
+2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
+
+	Preserve point under 'dired-auto-revert-buffer' (second case)
+
+	* lisp/dired.el (dired): Use pop-to-buffer-same-window instead
+	of switch-to-buffer.  This preserves Dired window point when
+	dired-auto-revert-buffer is non-nil.  (Bug#27243)
+
+	* test/lisp/dired-tests.el (dired-test-bug27243): New test.
+
+2017-07-17  Martin Rudalics  <rudalics@gmx.at>
+
+	Have Fgnutls_available_p return Qnil when GNUTLS is undefined
+
+	* src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
+	undefined to allow --with-gnutls=no builds to proceed.
+
+2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/gnutls.c: Restore some comments.
+
+2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use memset, not bzero
+
+	* src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
+	of the (less-portable) bzero.
+
+2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use explicit_bzero to clear GnuTLS keys
+
+	* admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
+	* lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* src/gnutls.c (clear_storage): New function.
+	(gnutls_symmetric_aead): Use it instead of memset.
+
+2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-07-16 explicit_bzero: new module
+	2017-07-15 getdtablesize: Add minimal support for OpenVMS.
+	* lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
+	* m4/string_h.m4:
+	Copy from Gnulib.
+	* lib/gnulib.mk.in: Regenerate.
+
+2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
+
+	Fix vc-src-dir-status-files
+
+	* lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
+	copy-paste from b1a765b3 (bug#27641).
+
+2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
+
+	Fix mismatched parens
+
+	* etc/NEWS.21: Remove excess parenthesis in code example
+
+2017-07-16  Alan Third  <alan@idiocy.org>
+
+	Add missing declare-function for new function
+
+	* lisp/frame.el: Add declare function for
+	ns-mouse-absolute-pixel-position.
+
+2017-07-16  R. Bernstein  <rocky@gnu.org>
+
+	Realgud for tango themes
+
+2017-07-16  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix test when running from test/lisp/subr-tests.elc
+
+	* test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
+	assume a lambda expression will be `equal' to its quoted form.  That's
+	not true if the lambda expression has been compiled.
+
+2017-07-15  Alan Third  <alan@idiocy.org>
+
+	Fix some frame handling issues on NS
+
+	* lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
+	* src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
+	* src/nsterm.m (x_make_frame_visible): Re-establish parent-child
+	relationship if it's broken.
+
+2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
+
+	ls-lisp: Fix file size format
+
+	* lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
+	(ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
+	* test/lisp/dired-tests.el (dired-test-bug27693): Add test.
+
+2017-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid link errors with older versions of GnuTLS
+
+	* src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
+	(Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
+	calls GnuTLS functions which might be unavailable in older
+	versions of GnuTLS.
+
+2017-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve comments in faces.el
+
+	* lisp/faces.el (face-font-family-alternatives): Improve
+	commentary.
+
+2017-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve some GnuTL error messages
+
+	* src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
+	* src/fns.c (Fsecure_hash_algorithms): Fix error messages.
+
+2017-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the Elisp manual wrt GnuTL cryptography
+
+	* doc/lispref/elisp.texi (Top): Update the master menu.
+	* doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
+	avoid errors in makeinfo.
+
+2017-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation of gnutls.c with older GnuTLS
+
+	* src/gnutrls.c (syms_of_gnutls): Condition some defsubr's
+	on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
+	v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
+
+2017-07-15  rocky  <rb@dustyfeet.com>
+
+	Realgud for two more light themes
+
+2017-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Rearrange MS-Windows code that dynamically loads GnuTLS functions
+
+	* src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
+	of functions using the same preprocessing directives as in the code.
+
+2017-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the MS-Windows build broken in gnutls.c
+
+	* src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
+	loading code to after 'capabilities' has been calculated.  Remove
+	redundant comments.
+
+2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	src/image.c (compute_image_size): Remove superfluous checks.
+
+	* src/image.c (compute_image_size): Remove superfluous checks.
+
+2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make combinations of :width/:max-height image specs work reliably
+
+	* doc/lispref/display.texi (ImageMagick Images): Document
+	:width/:max-height combinations (etc) (bug #25583).
+
+	* src/image.c (compute_image_size): Handle :width/:max-height
+	(etc) combinations consistently (by letting "max" win and
+	preserve ratio).
+
+	* test/manual/image-size-tests.el (image-size-tests): Add
+	tests for :width/:max-height (etc) combinations.
+
+2017-07-15  Glenn Morris  <rgm@gnu.org>
+
+	Fix recent theme changes
+
+	* etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
+	Fix typos in recent changes.
+
+2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	GnuTLS integer-overflow and style fixes
+
+	This tweaks the recently-added GnuTLS improvements so that
+	they avoid some integer-overflow problems and follow typical
+	Emacs style a bit better.
+	* configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
+	(HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
+	configure-time results are displayed.
+	* src/fns.c (extract_data_from_object): Return char *, not char
+	const *, since one gnutls caller wants a non-const pointer.  Use
+	CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
+	instead of rolling our own code.  Prefer signed types to unsigned
+	when either will do.  Report problems for lengths out of range,
+	instead of silently mishandling them.
+	* src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
+	callers.  All callers of gnutls_sterror changed.
+	(Fgnutls_boot): Check for integers out of range rather than
+	silently truncating them.
+	(gnutls_symmetric_aead): Check for integer overflow in size
+	calculations.
+	(gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
+	Prefer signed to unsigned integers where either	will do.
+	(gnutls_symmetric_aead, gnutls_symmetric):
+	Work even if ptrdiff_t is wider than ‘long’.
+	(gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
+	Check for integer overflow in algorithm selection.
+
+2017-07-14  Noam Postavsky  <npostavs@gmail.com>
+
+	* .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
+
+2017-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the MS-Windows build due to added GnuTLS functions
+
+	* src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
+	(init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
+	functions.  Add #define redirections for new functions.
+	(gnutls_symmetric_aead): Fix format specs to be more portable when
+	printing ptrdiff_t arguments.
+	* src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
+	wrapper.
+	* src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
+
+	* test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
+	(gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
+	gnutls-available-p, otherwise GnuTLS functions might not be loaded
+	from the DLL on MS-Windows.
+
+2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
+	Dig into advice wrappers to find the "real" signature.
+	(byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
+	(byte-compile-arglist-signature): Don't bother with "new-style" arglists,
+	since bytecode functions are now handled in byte-compile--function-signature.
+
+	* lisp/files.el (create-file-buffer, insert-directory):
+	Remove workaround introduced for (bug#14860).
+
+	* lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
+
+	* lisp/help.el (help-function-arglist):
+	Dig into advice wrappers to find the "real" signature.
+
+2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
+
+	GnuTLS HMAC and symmetric cipher support
+
+	    * etc/NEWS: Add news for new feature.
+
+	    * doc/lispref/text.texi (GnuTLS Cryptography): Add
+	    documentation.
+
+	    * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
+	    HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
+
+	    * src/fns.c (Fsecure_hash_algorithms): Add function to list
+	    supported `secure-hash' algorithms.
+	    (extract_data_from_object): Add data extraction function that
+	    can operate on buffers and strings.
+	    (secure_hash): Use it.
+	    (Fsecure_hash): Mention `secure-hash-algorithms'.
+
+	    * src/gnutls.h: Include gnutls/crypto.h.
+
+	    * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
+	    (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
+	    (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
+	    (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
+
+	    * test/lisp/net/gnutls-tests.el: Add tests.
+
+2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
+
+	It's also defined in cl-extra.el.
+
+2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not convert ij and IJ to compatibility chars
+
+	* lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
+	Problem reported by James Cloos (Bug#518#10).
+
+2017-07-14  Toon Claes  <toon@iotcl.com>
+
+	Remove Turkish ligatures from Dutch input method
+
+	* lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
+
+2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve stack-overflow heuristic on GNU/Linux
+
+	Problem reported by Steve Kemp (Bug#27585).
+	* src/eval.c (near_C_stack_top): Remove.  All uses replaced
+	by current_thread->stack_top.
+	(record_in_backtrace): Set current_thread->stack_top.
+	This is for when the Lisp interpreter calls itself.
+	* src/lread.c (read1): Set current_thread->stack_top.
+	This is for recursive s-expression reads.
+	* src/print.c (print_object): Set current_thread->stack_top.
+	This is for recursive s-expression printing.
+	* src/thread.c (mark_one_thread): Get stack top first.
+	* src/thread.h (struct thread_state.stack_top): Now void *, not char *.
+
+2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove duplicate cl--random-state definition
+
+	* lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
+	This variable is now defined in cl-extra.el (Bug#27617).
+
+2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
+
+	Adjust timer in tramp-test36-asynchronous-requests
+
+	* test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
+	Adjust timer if it takes too much time.
+
+2017-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Always display rmail progress report under user control
+
+	* lisp/mail/rmail.el (rmail-show-message-1): Delete the second
+	copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
+
+2017-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid byte-compilation warnings for advised functions
+
+	* lisp/files.el (insert-directory, create-file-buffer): Add an
+	advertised-calling-convention form to shut up byte-compilation
+	warnings.  (Bug#14860)
+
+2017-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Add assertion related to display-line-numbers
+
+	* src/xdisp.c (maybe_produce_line_number): Add assertion for the
+	condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
+	code.  (Bug#27668)
+
+2017-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Prevent display corruption when display-line-numbers is set
+
+	* src/xdisp.c (try_window_reusing_current_matrix): If giving up
+	due to display-line-numbers, clear the window's desired glyph
+	matrix before returning, as the following call to try_window will
+	call display_line, which expects rows of the desired matrix
+	cleared.  (Bug#27668)
+
+2017-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Revert "Use fixed-pitch font for display-line-numbers"
+
+	This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
+	* lisp/faces.el (line-number): Don't use a fixed-pitch font, by
+	popular demand.  For relevant discussions, see
+
+	 http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00433.html
+	 http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00445.html
+
+2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-07-13 Improve cross-compilation guesses for native Windows
+	2017-07-11 More systematic m4 quoting and indentation
+	2017-07-10 Make sure $host and $host_os are defined when used
+	2017-07-03 stdioext: Port to OpenVMS
+	2017-06-24 xalloc-oversized: port to icc
+	* doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
+	* lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
+	* m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
+	* m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
+	Copy from Gnulib.
+
+2017-07-13  Alan Mackenzie  <acm@muc.de>
+
+	C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
+
+	This fontification anomaly happened because after deleting the ">",
+	c-forward-<>-arglist parses the preceding identifier as a putative type but
+	stores it in c-found-types before it becomes clear it is not an unambiguous
+	type.  c-forward-<>-arglist fails, leaving the spurious type id in
+	c-found-types.  Fix this by "binding" c-found-types "to itself" in
+	c-forward-<>-arglist, and restoring the original value when that function call
+	fails.
+
+	* lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
+	(c-forward-<>-arglist): Record the original value of c-found-types at the
+	beginning of the function, and restore it at the end on failure.
+
+	* lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
+	accurately.
+
+2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+	Add tests for SES, and fix one more cell renaming bug.
+
+	* lisp/ses.el (ses-relocate-all): In case of insertion, do not
+	relocate value for named cells as they keep the same symbol.
+	(ses-rename-cell): Set new cell name symbol to cell value --- do not
+	rely on recalculating.  Push cells with updated data --- cell name,
+	cell reference list, or cell formula --- to deferred write list.
+
+	* test/lisp/ses-tests.el: New file, with 7 tests for SES.
+
+2017-07-12  Alan Mackenzie  <acm@muc.de>
+
+	Fix some bugs in c-defun-name.  This fixes bug #25623.
+
+	* lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
+	etc.
+
+2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
+
+	Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
+
+	* lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
+	c-mode-base-map if possible.
+
+2017-07-12  Alan Mackenzie  <acm@muc.de>
+
+	CC Mode: create and use c-set-keymap-parent.
+
+	* lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
+
+	* lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
+	set-keymap-parents.
+	(c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
+
+2017-07-12  Martin Rudalics  <rudalics@gmx.at>
+
+	Minor tweaks of new line number display variables
+
+	* src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
+	(Vdisplay_line_number_width): Rename to
+	Vdisplay_line_numbers_width.
+	(maybe_produce_line_number): Comply with above rename.
+	* lisp/cus-start.el (standard):
+	* lisp/frame.el (top-level):
+	* etc/NEWS: Comply with renaming of
+	`display-line-number-width' to `display-line-numbers-width'.
+
+2017-07-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid assertion violations in close_infile_unwind
+
+	* src/lread.c (close_infile_unwind): A temporary band-aid solution
+	for bug#27642: allow 'infile' be NULL.
+
+2017-07-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Use fixed-pitch font for display-line-numbers
+
+	* lisp/faces.el (line-number): Use a fixed-pitch font by default,
+	even if the default face uses a variable-pitch font.  Reported by
+	James Cloos <cloos@jhcloos.com>.
+
+2017-07-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of display-line-numbers
+
+	* src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
+	doc string.  Suggested by Alex <agrambot@gmail.com>.
+
+2017-07-11  Nicolas Petton  <nicolas@petton.fr>
+
+	Add an optional testfn parameter to assoc
+
+	* src/fns.c (assoc): New optional testfn parameter used for comparison
+	when provided.
+	* test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
+	'testfn' parameter.
+	* src/buffer.c:
+	* src/coding.c:
+	* src/dbusbind.c:
+	* src/font.c:
+	* src/fontset.c:
+	* src/gfilenotify.c:
+	* src/image.c:
+	* src/keymap.c:
+	* src/process.c:
+	* src/w32fns.c:
+	* src/w32font.c:
+	* src/w32notify.c:
+	* src/w32term.c:
+	* src/xdisp.c:
+	* src/xfont.c: Add a third argument to Fassoc calls.
+	* etc/NEWS:
+	* doc/lispref/lists.texi: Document the new 'testfn' parameter.
+
+2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	Use `with-demoted-errors' in Tramp
+
+	* lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
+
+	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
+
+2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add Quick Start Guide to Tramp manual
+
+	* doc/misc/tramp.texi: Use consequently "@value{tramp}" and
+	"MS Windows".
+	(Quick Start Guide): New node.
+
+	* doc/misc/trampver.texi:
+	* lisp/net/trampver.el: Change version to "2.3.3-pre".
+
+2017-07-10  Glenn Morris  <rgm@gnu.org>
+
+	Fix failing module tests on GNU/Linux
+
+	* test/src/emacs-module-tests.el
+	(module--test-assertions--load-non-live-object)
+	(module--test-assertions--call-emacs-from-gc):
+	Avoid test failures due to backtraces.
+
+2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix core dump in substitute-object-in-subtree
+
+	Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
+	would dump core, since the C code would recurse indefinitely through
+	the infinite structure.  This patch adds an argument to the function,
+	and renames it to lread--substitute-object-in-subtree as the function
+	is not general-purpose and should not be relied on by outside code.
+	See Bug#23660.
+	* src/intervals.c (traverse_intervals_noorder): ARG is now void *,
+	not Lisp_Object, so that callers need not cons unnecessarily.
+	All callers changed.  Also, remove related #if-0 code that was
+	“temporary” in the early 1990s and has not been compilable for
+	some time.
+	* src/lread.c (struct subst): New type, for substitution closure data.
+	(seen_list): Remove this static var, as this info is now part of
+	struct subst.  All uses removed.
+	(Flread__substitute_object_in_subtree): Rename from
+	Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
+	doesn’t dump core when called from the top level with an
+	already-cyclic structure.  All callers changed.
+	(SUBSTITUTE): Remove.  All callers expanded and then simplified.
+	(substitute_object_recurse): Take a single argument SUBST rather
+	than a pair OBJECT and PLACEHOLDER, so that its address can be
+	passed around as part of a closure; this avoids the need for an
+	AUTO_CONS call.  All callers changed.  If the COMPLETED component
+	is t, treat every subobject as potentially circular.
+	(substitute_in_interval): Take a struct subst * rather than a
+	Lisp_Object, for the closure data.  All callers changed.
+	* test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
+	New test, to check that the core dump does not reoccur.
+
+2017-07-10  Philipp Stephani  <phst@google.com>
+
+	Minor simplification of module_free_global_ref
+
+	* src/emacs-module.c (module_free_global_ref): Remove unused variable
+	'hashcode'.  Inline variable 'value' that's only used once.
+
+2017-07-10  Philipp Stephani  <phst@google.com>
+
+	Re-add a useful assertion
+
+	* src/emacs-module.c (module_free_global_ref): Re-add assertion that
+	the reference count is zero.  This assertion was removed in commit
+	8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
+	test performed by XFASTINT before, because the previous reference
+	count could have been zero already in the case of a buggy
+	implementation.  This assertion might have detected Bug#27587.
+
+2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
+
+	Fix bug in module_free_global_ref (Bug#27587)
+
+	* src/emacs-module.c (module_free_global_ref): Actually remove entry
+	from hash table.
+
+2017-07-09  Philipp Stephani  <phst@google.com>
+
+	Further improve electric quote support for Markdown (Bug#24709)
+
+	Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
+	values.  Therefore 'electric-quote-mode' recognized it as a
+	programming mode.  Fix this by first checking whether the current
+	major mode is derived from 'text-mode'.
+
+	* lisp/electric.el (electric-quote-post-self-insert-function): Treat
+	'text-mode' as stronger signal than comment syntax.
+
+	* test/lisp/electric-tests.el (electric-quote-markdown-in-text)
+	(electric-quote-markdown-in-code): Adapt unit tests.
+
+2017-07-09  Philipp Stephani  <phst@google.com>
+
+	Remove pointless code in 'electric-quote-mode'
+
+	* lisp/electric.el (electric-quote-post-self-insert-function): Remove
+	pointless form.
+
+2017-07-09  Philipp Stephani  <phst@google.com>
+
+	Refactor 'electric-quote-mode'
+
+	* lisp/electric.el (electric-quote-post-self-insert-function): Remove
+	local variable 'start', which was misnamed and only used once.
+
+2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
+
+	Avoid crashes on MS-Windows starting 64-bit .NET executables
+
+	* src/w32proc.c (w32_executable_type): Don't assume that the
+	import directory in a DLL will always be non-NULL.  (Bug#27527)
+
+2017-07-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid compilation warning in files.el
+
+	* lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
+	warning due to its use in auto-save-visited-mode.
+
+2017-07-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve indexing of VC-related stuff in the Emacs manual
+
+	* doc/emacs/maintaining.texi (Version Control): Add a "VC" index
+	entry.  (Bug#27627)
+
+2017-07-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Speed up display of line numbers for very large buffers
+
+	* src/xdisp.c (maybe_produce_line_number): Speed up line counting
+	using values cached by mode-line display of line numbers.
+	(Bug#27622)
+
+2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
+
+	Define internal_border_parts for window systems only (Bug#27615)
+
+	* src/keyboard.c: (internal_border_parts): Define only
+	when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
+
+2017-07-09  R. Bernstein  <rocky@gnu.org>
+
+	Add realgud faces faces to whiteboard...
+
+	Adjust wheatgrass to use underline for enabled/disabled breakpoints
+
+2017-07-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Optimize UCS normalization tests
+
+	Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
+	* test/lisp/international/ucs-normalize-tests.el
+	(ucs-normalize-tests--parse-column): Use character instead of string
+	of length 1 for terminator.  Convert return value into string since
+	all callers need that form anyway.
+	(ucs-normalize-tests--normalization-equal-p): Rename from
+	ucs-normalize-tests--normalize.  Use dedicated buffer instead of
+	messing with narrowing.  Take string to compare against and insert it
+	into buffer so that compare-buffer-substrings can be used instead of
+	allocating a new string from buffer contents.
+	(ucs-normalize-tests--normalization-chareq-p): New macro, specialized
+	for comparing single character.
+	(ucs-normalize-tests--rule1-holds-p)
+	(ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
+	(ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
+	`='.
+
+2017-07-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Update failing lines for UCS normalize tests
+
+	* test/lisp/international/ucs-normalize-tests.el
+	(ucs-normalize-tests--failing-lines-part2): Update for new
+	admin/unidata/NormalizationTest.txt version.
+
+2017-07-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Semi-automate the procedure for updating UCS normalize test bad lines
+
+	* test/lisp/international/ucs-normalize-tests.el: Remove incorrect
+	commentary describing a manual procedure for producing the updated
+	failing lines, it did not actually work.  Replace it with pointer to
+	new function which prints the updated values.
+	(ucs-normalize-tests--rule1-holds-p): Renamed from
+	ucs-normalize-tests--invariants-hold-p.
+	(ucs-normalize-tests--rule2-holds-p): Renamed from
+	ucs-normalize-tests--invariants-rule2-hold-p.
+	(ucs-normalize-tests--rule1-failing-for-partX): Renamed from
+	ucs-normalize-tests--invariants-failing-for-part.
+	(ucs-normalize-tests--rule1-failing-for-lines): Renamed from
+	ucs-normalize-tests--invariants-failing-for-lines.
+	(ucs-normalize-tests--part2-rule1-failed-lines): New variable.
+	(ucs-normalize-part2): Set it.
+	(ucs-normalize-part1): Always run through to end of test before
+	checking for failures.
+	(ucs-normalize-tests--insert-failing-lines)
+	(ucs-normalize-check-failing-lines): New functions, used to update
+	the *--failing-lines-part* variables.
+
+2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lisp/cus-start.el (standard): Spelling fix.
+
+2017-07-08  Philipp Stephani  <phst@google.com>
+
+	Module assertions: check for garbage collections
+
+	It's technically possible to write a user pointer finalizer that calls
+	into Emacs module functions.  This would be disastrous because it
+	would allow arbitrary Lisp code to run during garbage collection.
+	Therefore extend the module assertions to check for this case.
+
+	* src/emacs-module.c (module_assert_thread): Also check whether a
+	garbage collection is in progress.
+
+	* test/data/emacs-module/mod-test.c (invalid_finalizer)
+	(Fmod_test_invalid_finalizer): New test module functions.
+	(emacs_module_init): Register new test function.
+
+	* test/src/emacs-module-tests.el (module--test-assertion)
+	(module--with-temp-directory): New helper macros.
+	(module--test-assertions--load-non-live-object): Rename existing
+	unit test, use helper macros.
+	(module--test-assertions--call-emacs-from-gc): New unit test.
+
+2017-07-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Capitalize the menu entry for display-line-numbers
+
+	* lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
+	for display-line-numbers.  Suggested by Martin Rudalics
+	<rudalics@gmx.at>.
+
+2017-07-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Update Unicode data and files to Unicode 10.0
+
+	* admin/notes/unicode:
+	* admin/unidata/README:
+	* admin/unidata/BidiBrackets.txt:
+	* admin/unidata/BidiMirroring.txt:
+	* admin/unidata/Blocks.txt:
+	* admin/unidata/IVD_Sequences.txt:
+	* admin/unidata/NormalizationTest.txt:
+	* admin/unidata/SpecialCasing.txt:
+	* admin/unidata/UnicodeData.txt:
+	* lisp/international/characters.el:
+	* lisp/international/fontset.el (script-representative-chars):
+	* lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
+
+2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
+
+	Support '=' in Scheme and Lisp tags in 'etags'
+
+	* lib-src/etags.c (get_lispy_tag): New function.
+	(L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
+	* test/manual/etags/CTAGS.good:
+	* test/manual/etags/ETAGS.good_1:
+	* test/manual/etags/ETAGS.good_2:
+	* test/manual/etags/ETAGS.good_3:
+	* test/manual/etags/ETAGS.good_4:
+	* test/manual/etags/ETAGS.good_5:
+	* test/manual/etags/ETAGS.good_6:
+	* test/manual/etags/Makefile:
+	* test/manual/etags/el-src/TAGTEST.EL: Update tests.
+	* test/manual/etags/scm-src/test.scm: New tests for Scheme.
+
+2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
+
+	Avoid compiler warnings in xdisp.c debugging code
+
+	* src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
+	Use pD directives for ptrdiff_t values instead of pI, to avoid
+	compilation warnings on 64-bit hosts.  (Bug#27597)
+
+2017-07-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Commentary enhancement in frame.el
+
+	* lisp/frame.el: Explain how to test whether a variable needs to
+	be added to the list of those which are watched for buffer
+	redisplay.
+
+2017-07-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Support display of line numbers natively
+
+	This merges branch 'line-numbers'.
+	* src/buffer.c (disable_line_numbers_overlay_at_eob): New
+	function.
+	* src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
+	* src/dispextern.h (struct it): New members pt_lnum, lnum,
+	lnum_bytepos, lnum_width, and lnum_pixel_width.
+	* src/indent.c (line_number_display_width): New function,
+	refactored from line-number width calculations in vertical-motion.
+	(Fvertical_motion): Call line_number_display_width when the width
+	of line-number display is needed.
+	(Fline_number_display_width): New defun.
+	(syms_of_indent): Defsubr it.
+	* src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
+	the width used up by line numbers by looking near the window-start
+	point.  If window-start is outside of the accessible portion,
+	temporarily widen the buffer.
+	* src/term.c (produce_glyphs): Adjust tab stops for the horizontal
+	space taken by the line-number display.
+	* src/xdisp.c (display_count_lines_logically)
+	(display_count_lines_visually, maybe_produce_line_number)
+	(should_produce_line_number, row_text_area_empty): New functions.
+	(try_window_reusing_current_matrix): Don't use this method when
+	display-line-numbers is in effect.
+	(try_window_id, try_cursor_movement): Disable these optimizations
+	when the line-number-current-line face is different from
+	line-number face and for relative line numbers.
+	(try_window_id, redisplay_window, try_cursor_movement): For
+	visual line-number display, disable the same redisplay
+	optimizations as for relative.
+	(x_produce_glyphs): Adjust tab stops for the horizontal
+	space taken by the line-number display.
+	(hscroll_window_tree): Adjust hscroll calculations to line-number
+	display.
+	(DISP_INFINITY): Renamed from INFINITY to avoid clashes with
+	math.h; all users changed.
+	(set_cursor_from_row): Fix calculation of cursor X coordinate in
+	R2L rows with display-produced glyphs at the beginning.
+	(display_line): Use should_produce_line_number to determine
+	whether a line number should be produced for each glyph row, and
+	maybe_produce_line_number to produce line numbers.
+	Don't display line numbers in the minibuffer and in tooltip
+	frames.
+	Call row_text_area_empty to verify that a glyph
+	row's text area is devoid of any glyphs that came from a buffer or
+	a string.  This fixes a bug with empty-lines indication
+	disappearing when line numbers or line-prefix are displayed.
+	(syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
+	<display-line-number-width>: New buffer-local variables.
+	<display-line-numbers-current-absolute>: New variable.
+
+	* lisp/cus-start.el (standard): Provide customization forms for
+	display-line-numbers and its sub-features.
+	* lisp/faces.el (line-number, line-number-current-line): New faces.
+	* lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
+	display-line-numbers-current-absolute, and
+	display-line-number-width to the list of variables that should
+	trigger redisplay of the current buffer.
+	* lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
+	turn display-line-numbers on and off.
+	(toggle-display-line-numbers): New function.
+	* lisp/simple.el (last--line-number-width): New internal variable.
+	(line-move-visual): Use it to adjust temporary-goal-column when
+	line-number display changes its width.
+
+	* doc/emacs/basic.texi (Position Info): Add cross-reference to
+	"Display Custom", for line-number display.
+	* doc/emacs/custom.texi (Init Rebinding):
+	* doc/emacs/modes.texi (Minor Modes): Remove references to
+	linum-mode.
+	* doc/emacs/display.texi (Display Custom): Describe the
+	line-number display.
+	* doc/lispref/display.texi (Size of Displayed Text): Document
+	line-number-display-width.
+
+	* etc/NEWS: Document display-line-numbers and its customizations.
+
+2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix more ungetc bugs with encoding errors
+
+	* src/lread.c (infile): New variable, replacing ...
+	(instream): ... this.  All uses changed.
+	(readbyte_from_stdio): New function, which deals with lookahead.
+	(readbyte_from_file, Fget_file_char): Use it.
+	(Fget_file_char): When misused, signal an error instead of
+	relying on undefined behavior.
+	(close_infile_unwind): New function.
+	(Fload): Use it.
+	(readevalloop): 2nd arg is now struct infile *, not FILE *.
+	All callers changed.
+	(read1): Handle lookahead when copying doc strings with
+	encoding errors.
+
+2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Avoid ungetc when loading charset maps from files
+
+	* src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
+	replacing the old EOF.  All callers changed.  This avoids the
+	need to call ungetc.
+
+2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix ungetc bug when reading an encoding error
+
+	* src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
+	error when reading an encoding error from a file, e.g., a symbol
+	in an .elc file whose name is "\360\220\200\360".
+
+2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/wid-edit.el (widget-color--choose-action): Use a closure
+
+	* lisp/window.el (display-buffer--special-action): Use a closure.
+
+2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
+
+	Add new todo-mode.el tests
+
+	* test/lisp/calendar/todo-mode-tests.el (with-todo-test):
+	Declare an Edebug spec.  Restore pre-test-run state of test files.
+	(todo-test--show, todo-test--move-item)
+	(todo-test--insert-item): New functions.
+	(todo-test-get-archive): Remove, as subsumed by
+	todo-test--show.  Adjust all callers.
+	(todo-test--is-current-buffer): Rename from
+	todo-test-is-current-buffer and adjust uses.
+	(todo-test-item-highlighting): Use todo-test--show.
+	(todo-test-revert-buffer01, todo-test-revert-buffer02)
+	(todo-test-raise-lower-priority)
+	(todo-test-todo-mark-unmark-category, todo-test-move-item01)
+	(todo-test-move-item02, todo-test-move-item03)
+	(todo-test-move-item04, todo-test-move-item05)
+	(todo-test-toggle-item-header01)
+	(todo-test-toggle-item-header02)
+	(todo-test-toggle-item-header03)
+	(todo-test-toggle-item-header04)
+	(todo-test-toggle-item-header05)
+	(todo-test-toggle-item-header06)
+	(todo-test-toggle-item-header07): New tests.
+
+	* test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
+	* test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
+	Modify to accommodate new tests.
+
+2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
+
+	todo-mode.el: Fix handling of hidden item headers (bug#27609)
+
+	* lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
+	(todo-toggle-item-header): Use it.  Make this command a noop
+	if the file has no items.
+	(todo-move-item, todo-item-done): Instead of concatenating the
+	items to move into one string, make a list of them to
+	facilitate handling hidden headers.  Adjust insertion accordingly.
+	(todo-archive-done-item): Handle hidden headers in archive file.
+	(todo-unarchive-items): Handle hidden headers in todo file.
+	(todo-backward-item): Use todo--item-headers-hidden and handle
+	moving backward work when item date-time headers are hidden.
+	(todo-remove-item): Delete date-time header overlay.
+	(todo-get-overlay, todo-insert-with-overlays): Make them work
+	with hidden date-time headers.
+	(todo-modes-set-2): Make todo--item-headers-hidden buffer local.
+
+2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
+
+	Fix several todo-mode bugs found while debugging bug#27609
+
+	* lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
+	current category only once.
+	(todo-mark-category): Update number of marked items to avoid
+	spurious duplication in todo-categories-with-marks alist and
+	corruption of the todo-categories alist.  Handle empty line
+	when there are no todo items and done items are shown.
+	(todo-set-item-priority): Make noop if called from
+	todo-raise-item-priority or todo-lower-item-priority when
+	point is on a done todo item or an empty line.
+	(todo-move-item): Use markers instead of integer positions to
+	correctly handle deleting the now moved items from the source
+	category (without markers an infinite loop arises when moving
+	marked item to a preceding category).
+	(todo-unarchive-items): Put point on the (first) restored done
+	item, instead of leaving it at the end of the done items
+	separator string.
+	(todo-revert-buffer): Ensure buffer remains read-only after
+	reverting.
+
+2017-07-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Exclude blank columns from value of line-number-display-width
+
+	* src/indent.c (Fline_number_display_width): Don't add 2 to the
+	number of columns we return, to make this consistent with
+	display-line-number-width.
+
+2017-07-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix vertical-motion across the place where line-number width changes
+
+	* src/indent.c (line_number_display_width): New function,
+	refactored from line-number width calculations in vertical-motion.
+	(Fvertical_motion): Call line_number_display_width when the width
+	of line-number display is needed.
+	(Fline_number_display_width): New defun.
+	(syms_of_indent): Defsubr it.
+
+	* doc/lispref/display.texi (Size of Displayed Text): Document
+	line-number-display-width.
+
+	* etc/NEWS: Mention line-number-display-width.
+
+	* lisp/simple.el (last--line-number-width): New internal variable.
+	(line-move-visual): Use it to adjust temporary-goal-column when
+	line-number display changes its width.
+
+2017-07-07  Martin Rudalics  <rudalics@gmx.at>
+
+	Remove Vwindow_text_change_functions and related code
+
+	Vwindow_text_change_functions had been provided for implementing
+	line numbers but apparently was never functional or in use.
+
+	* src/xdisp.c (redisplay_window): Remove handling of
+	Vwindow_text_change_functions.
+	(syms_of_xdisp): Remove Qwindow_text_change_functions.
+	(Vwindow_text_change_functions): Remove variable.
+	* doc/lispref/hooks.texi (Standard Hooks): Remove entry for
+	`window-text-change-functions'.
+
+2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Convert more uses of looking-at to following-char
+
+	More followup to Karl Fogel's commit a84da83c1.
+	* lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
+	* lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
+	* lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
+	* lisp/proced.el (proced-toggle-marks):
+	* lisp/progmodes/f90.el (f90-indent-line):
+	* lisp/ses.el (ses-load):
+	* lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
+	char comparisons using following-char.
+
+2017-07-07  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't skip epg tests (Bug#23561)
+
+	* test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
+	parameter, since we supply the passphrase via pinentry-program for all
+	GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
+	program (Bug#23619)").
+	(epg-tests-program-alist-for-passphrase-callback): Remove.
+
+2017-07-06  Eli Zaretskii  <eliz@gnu.org>
+
+	Implement line numbers that disregard narrowing
+
+	* src/xdisp.c (display_count_lines_logically): New function,
+	counts line numbers disregarding narrowing.  Suggested by Andy
+	Moreton <andrewjmoreton@gmail.com>.
+	(maybe_produce_line_number): Call display_count_lines_logically
+	instead of display_count_lines.  Adapt BEGV, ZV, etc. to
+	display-line-numbers-widen.
+	(syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
+	variable.
+
+	* lisp/cus-start.el (standard): Provide a customization form for
+	display-line-numbers-widen.
+	* lisp/frame.el: Add display-line-numbers-widen,
+	display-line-numbers-current-absolute, and
+	display-line-number-width to the list of variables that should
+	trigger redisplay of the current buffer.
+
+	* doc/emacs/display.texi (Display Custom): Document
+	display-line-numbers-widen.
+
+2017-07-06  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix lisp-comment-indent for single-semicolon case
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
+	open paren if we're looking at multiple comment characters.
+	* test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
+	(lisp-comment-indent-2): New tests.
+
+2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Spelling fixes
+
+	* lisp/org/org-table.el (org-table-sort-lines):
+	Fix misspelling in prompt.
+	* lisp/org/ox-ascii.el (org-ascii--describe-datum):
+	Fix misspelling in call to org-element-lineage.
+
+2017-07-06  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
+	line's code ends in open paren, set comment indentation exactly to
+	column following it.
+	(lisp-mode-variables): Set `comment-indent-function' to
+	`lisp-comment-indent'.
+
+2017-07-06  Noam Postavsky  <npostavs@gmail.com>
+
+	Allow comment-indent-functions to specify exact indentation (Bug#385)
+
+	* lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
+	integers as indicating a range of acceptable indentation.
+	(comment-indent): Don't apply `comment-inline-offset',
+	`comment-choose-indent' already does that.
+	(comment-indent-function):
+	* doc/emacs/programs.texi (Options for Comments): Document new
+	acceptable return values.
+	* etc/NEWS: Announce it.
+
+2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Check for integer overflow in xbm images
+
+	* src/image.c (XBM_TK_OVERFLOW): New constant.
+	(xbm_scan): Check for integer overflow instead of relying on
+	undefined behavior.  Check that octal digits are actually octal.
+
+2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Convert hex digits more systematically
+
+	This makes the code a bit smaller and presumably faster, as
+	it substitutes a single lookup for conditional jumps.
+	* src/character.c (hexdigit): New constant.
+	(syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
+	* src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
+	(hexdigit): New decl.
+	(char_hexdigit): New inline function.
+	* src/charset.c: Do not include c-ctype.h.
+	* src/charset.c (read_hex):
+	* src/editfns.c (styled_format):
+	* src/image.c (xbm_scan):
+	* src/lread.c (read_escape):
+	* src/regex.c (ISXDIGIT) [emacs]:
+	Use char_hexdigit insted of doing it by hand.
+
+2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t use -Woverride-init
+
+	I have some further changes in mind that would also need to
+	disable the -Woverride-init warnings.  In practice these warnings
+	seem to be more trouble than they’re worth, so disable them in the
+	cc command line.
+	* configure.ac: Disable -Woverride-init here ...
+	* src/bytecode.c: ... rather than here.
+
+2017-07-05  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
+
+	* lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
+
+2017-07-05  Glenn Morris  <rgm@gnu.org>
+
+	Small fix for bug-reference.el
+
+	* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
+	Autoload safety property.  (Bug#27481)
+
+2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
+
+	Suppress timers in Tramp
+
+	* lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
+
+	* test/lisp/net/tramp-tests.el
+	(tramp-test36-asynchronous-requests): Trigger timers.
+	(tramp-test37-recursive-load, tramp-test38-remote-load-path):
+	Set `default-directory' to a trustworthy value.
+
+2017-07-05  rocky  <rb@dustyfeet.com>
+
+	Add realgud face definitions
+
+	Add realgud faces to tdsh-dark-theme
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-awk.el: Mark unused args
+
+	* lisp/progmodes/cc-bytecomp.el: Mark unused args
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
+
+	... before first use
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-vars.el: Mark unused args
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-langs.el: Mark unused args
+
+	(c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
+	unambiguous-prefix-ops.
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-engine.el: Mark unused args
+
+	(c-beginning-of-statement-1, c-guess-basic-syntax):
+	Remove unused var c-in-literal-cache.
+	(c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
+	(c-append-to-state-cache): Remove unused var `bra+1s'.
+	(c-remove-stale-state-cache): Remove unused var `pps-point-state'.
+	(c-invalidate-state-cache-1): Remove unused var `pa'.
+	(c-forward-decl-or-cast-1): Change comments so they don't look like
+	outline headers.
+	(c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
+	Declare before first use.
+	(c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
+	(c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-cmds.el: Remove unused vars
+
+	(c-syntactic-context): Declare as dynbound.
+	(c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-guess.el: Remove unused var
+
+	(c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
+	and computed variable `guessed-syntactic-symbols'.
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-align.el: Mark unused arguments
+
+2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-mode.el: Mark unused arguments
+
+	(c-parse-quotes-before-change, c-parse-quotes-after-change):
+	Remove unused vars.
+
+2017-07-05  Noam Postavsky  <npostavs@gmail.com>
+
+	Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
+
+	* lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
+	and `ffap-url-unwrap-remote'.
+
+2017-07-05  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix infloop in uncomment-region-default (Bug#27112)
+
+	When `comment-continue' has only blanks, `comment-padright' produces a
+	regexp that matches the empty string, so `uncomment-region-default'
+	will loop infinitely.
+	* lisp/newcomment.el (comment-padright): Only return a regexp if STR
+	has nonblank characters.
+
+2017-07-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix display of current line number in visual mode
+
+	* src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
+	of current line when line-number-current-line face was customized.
+	Reported by Filipe Silva <filipe.silva@gmail.com>.
+
+2017-07-03  Philipp Stephani  <phst@google.com>
+
+	Use hook instead of face list to inhibit electric quoting
+
+	This is more flexible and doesn't couple electric quoting to font
+	locking.
+	Give that 'electric-quote-code-faces' was just introduced, remove it
+	without formal deprecation.
+
+	* lisp/electric.el (electric-quote-inhibit-functions): New abnormal
+	hook variable.
+	(electric-quote-post-self-insert-function): Run the hook.  Remove
+	use of old 'electric-quote-code-faces' variable.
+
+	* test/lisp/electric-tests.el (electric-quote-markdown-in-text)
+	(electric-quote-markdown-in-code): Adapt unit tests.
+
+2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
+
+	Offer non-aligned indentation in lists in js-mode (Bug#27503)
+
+	* lisp/progmodes/js.el (js--proper-indentation):
+	New customization option 'js-indent-align-list-continuation'.
+	Affects argument lists as well as arrays and object properties.
+	* test/manual/indent/js-indent-align-list-continuation-nil.js:
+	Test the change.
+
+2017-07-03  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid errors in vertical-motion when buffer is narrowed
+
+	* src/indent.c (Fvertical_motion): If need to start from
+	window-start, and it is outside of the accessible portion,
+	temporarily widen the buffer.  This avoids errors in evil-mode.
+	Reported by James Nguyen <james@jojojames.com>.
+
+2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	(Re-)activate remote tests of filenotify-tests.el
+
+	* test/lisp/filenotify-tests.el
+	(file-notify-test-remote-temporary-file-directory):
+	Declare default host for mock method.  Offer home directory
+	for mock method if it doesn't exist.
+	(file-notify-test09-watched-file-in-watched-dir-remote):
+	Remove, it doesn't work reliably.
+
+2017-07-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Reset ansi escape context before printing eshell prompt (Bug#27407)
+
+	* lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
+	`ansi-color-context-region'.
+
+2017-07-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Let ansi-color overlay hooks work in eshell (Bug#27407)
+
+	* lisp/ansi-color.el (ansi-color-make-extent): Add
+	`ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
+	* lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
+	`inhibit-modification-hooks' to nil while inserting the string.
+
+2017-07-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix and simplify ansi escape detection (Bug#21381)
+
+	* lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
+	Remove.
+	(ansi-color-control-seq-regexp): New constant, matches all escape
+	sequences.
+	(ansi-color-filter-apply, ansi-color-apply)
+	(ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
+	of matching color sequences separately from ignored sequences.
+	Differentiate color sequences simply by checking the last character.
+
+2017-07-03  Damien Cassou  <damien@cassou.me>
+
+	Add absolute optional parameter to line-number-at-pos (Bug#26417)
+
+	* lisp/simple.el (line-number-at-pos): Add a second optional
+	  argument 'absolute'.
+	* test/list/simple-tests.el: Add tests for 'line-number-at-pos'.
+
+2017-07-03  R. Bernstein  <rocky@gnu.org>
+
+	Add realgud faces
+
+2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix tramp-tests.el for hydra
+
+	* test/Makefile.in: Remove instrumentation for tramp-tests.
+
+	* test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
+	Remove instrumentation.  Wrap with a timeout.  Give hydra
+	another timer value.  Set `default-directory' in timer.
+
+2017-07-03  Bastien  <bzg@gnu.org>
+
+	Merge branch 'master' into scratch/org-mode-merge
+
+	Merge branch 'master' into scratch/org-mode-merge
+
+2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-do-shell-command: Fix check for wildcards
+
+	* lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
+	and '`?' i.e., keep the whitespaces.
+	* test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
+
+2017-07-02  Noam Postavsky  <npostavs@gmail.com>
+
+	Split shr-copy-url dwim behavior into separate functions (Bug#26826)
+
+	* lisp/net/shr.el (shr-url-at-point, shr-probe-url)
+	(shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
+	split out from `shr-copy-url'.
+	(shr-copy-url): Only copy the url, don't fetch it.
+	(shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
+	has the same behavior as the old `shr-copy-url'.
+	* etc/NEWS: Announce changes.
+
+2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
+
+	Make eww-search-words prompt for query if nothing selected
+
+	* lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
+	user for a search query if the region is inactive or if the region is
+	just whitespace.
+
+2017-07-02  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
+
+	* lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
+	* lisp/help-fns.el (describe-variable): No need to let-bind
+	`cl-print-compiled-button' to t anymore.
+
+2017-07-02  Philipp Stephani  <phst@google.com>
+
+	Electric quotes: Improve support for Markdown mode (Bug#24709)
+
+	Introduce a new user option 'electric-quote-context-sensitive'.  If
+	non-nil, have ' insert an opening quote if sensible.
+
+	Also introduce a new variable 'electric-quote-code-faces'.  Major
+	modes such as 'markdown-mode' can add faces to this list to treat text
+	as inline code and disable electric quoting.
+
+	* lisp/electric.el (electric-quote-context-sensitive): New user
+	option.
+	(electric-quote-code-faces): New variable.
+	(electric-quote-post-self-insert-function): Treat ' as ` if
+	desired and applicable; disable electric quoting for given faces.
+
+	* test/lisp/electric-tests.el (electric-quote-opening-single)
+	(electric-quote-closing-single, electric-quote-opening-double)
+	(electric-quote-closing-double)
+	(electric-quote-context-sensitive-backtick)
+	(electric-quote-context-sensitive-bob-single)
+	(electric-quote-context-sensitive-bob-double)
+	(electric-quote-context-sensitive-bol-single)
+	(electric-quote-context-sensitive-bol-double)
+	(electric-quote-context-sensitive-after-space-single)
+	(electric-quote-context-sensitive-after-space-double)
+	(electric-quote-context-sensitive-after-letter-single)
+	(electric-quote-context-sensitive-after-letter-double)
+	(electric-quote-context-sensitive-after-paren-single)
+	(electric-quote-context-sensitive-after-paren-double)
+	(electric-quote-markdown-in-text)
+	(electric-quote-markdown-in-code): New unit tests.
+
+2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
+
+	* doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
+
+2017-07-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid off-by-one errors in column C-n/C-p calculations
+
+	* src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
+	the width used up by line numbers by looking near the window-start
+	point.
+
+2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Ask confirmation for all suspicious wildcards
+
+	* lisp/dired-aux.el (dired-do-shell-command): Check that all
+	the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
+
+2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Extend dired-do-shell-command substitutions
+
+	Substitute "`?`" inside command with the current file name.
+	See details in:
+	https://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00618.html
+	* lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
+	Mark as obsolete.
+	(dired-isolated-string-re): New defun.
+	(dired--star-or-qmark-p): New predicate.
+	(dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
+	with the current file name.
+	* doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
+
+2017-07-02  Alan Mackenzie  <acm@muc.de>
+
+	Fix bug in yesterday's CC Mode commit.
+
+	* lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
+	search has succeded before using the match data.
+	(c-quoted-number-head-before-point, c-quoted-number-head-after-point):
+	Specify that the position of the extremity of the head or tail is in the
+	match data.
+
+2017-07-02  Philipp Stephani  <phst@google.com>
+
+	Remove FIXME comments about sentinel values
+
+	These FIXMEs can't be addressed because they would require breaking
+	changes to the module API.  Furthermore, other module functions don't
+	return sentinel values as well, so users generally have to call
+	non_local_exit_check anyway.
+
+	* src/emacs-module.c (module_set_user_ptr)
+	(module_set_user_finalizer, module_vec_set, module_vec_size): Remove
+	FIXME comments.
+
+2017-07-02  Philipp Stephani  <phst@google.com>
+
+	Adapt Lisp reference to reader changes
+
+	The reader now warns about some unescaped character literals, but
+	still allows them for compatibility reasons.  Slightly adapt the
+	manual to forbid them officially.
+
+	* doc/lispref/objects.texi (Basic Char Syntax): Document that
+	backslashes are now required before some characters.
+
+2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#27502
+
+	* lisp/autorevert.el (auto-revert-find-file-function): New defun.
+	(find-file-hook): Use it.  (Bug#27502)
+	(auto-revert-remove-current-buffer): New defun.
+	(auto-revert-mode, auto-revert-buffers): Use it.
+
+2017-07-02  Noam Postavsky  <npostavs@gmail.com>
+
+	Let test summary go through even if some logs were not generated
+
+	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
+	for existence of log files before reading.
+
+2017-07-01  Philipp Stephani  <phst@google.com>
+
+	* src/module-env-25.h (copy_string_contents): Fix comment.
+
+2017-07-01  Philipp Stephani  <phst@google.com>
+
+	Also mark module init function as noexcept if possible
+
+	* src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
+	possible.
+
+2017-07-01  Philipp Stephani  <phst@google.com>
+
+	Improve C++98 compatibility
+
+	* src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
+	C++98 doesn't allow trailing commas in enumerations.
+
+2017-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor copyedits of manuals regarding bidi conformance
+
+	* doc/emacs/mule.texi (Bidirectional Editing):
+	* doc/lispref/display.texi (Bidirectional Display): Update the
+	bidi conformance text.
+
+2017-07-01  Alan Mackenzie  <acm@muc.de>
+
+	Make C++ digit separators work.  Amend the handling of single quotes generally
+
+	Single quotes, even in strings and comments, are now marked with the
+	"punctuation" syntax-table property, except where they are validly bounding a
+	character literal.  They are font locked with font-lock-warning-face except
+	where they are valid.  This is done in C, C++, ObjC, and Java Modes.
+
+	* lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
+	(c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
+	functions/macros.
+
+	* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
+	(c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
+
+	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
+	c-before-after-change-digit-quote from wherever it occurs.  Insert
+	c-parse-quotes-before-change into the entries for the languages where it is
+	needed.
+	(c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
+	wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
+	the languages which need it.
+	(c-has-quoted-numbers): New lang-defconst/-defvar.
+
+	* lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
+	(c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
+	(c-maybe-quoted-number): New defconsts.
+	(c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
+	(c-quoted-number-straddling-point, c-parse-quotes-before-change)
+	(c-parse-quotes-after-change): New functions.
+
+2017-07-01  Noam Postavsky  <npostavs@gmail.com>
+
+	Ignore mouse-movement for describe-key-briefly (Bug#12204)
+
+	* lisp/help.el (help-read-key-sequence): Add optional argument ot
+	ignore `mouse-movement' events.
+	(describe-key-briefly): Use it.
+	* doc/emacs/help.texi (Key Help):
+	* etc/NEWS: Mention that mouse movement is ignored.
+
+2017-07-01  Noam Postavsky  <npostavs@gmail.com>
+
+	Refactor key describing commands
+
+	* lisp/help.el (help-read-key-sequence, help--analyze-key): New
+	functions, extracted from `describe-key' and `describe-key-briefly'.
+	(describe-key, describe-key-briefly): Use them.
+
+2017-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve display of tabs with line numbers
+
+	* src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
+	stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
+
+2017-07-01  Alan Third  <alan@idiocy.org>
+
+	Fix threads on NS (bug#25265)
+
+	src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
+	(ns_run_loop_break) [HAVE_PTHREAD]: New function.
+	src/nsterm.m (ns_select): Call thread_select from within ns_select.
+	(ns_run_loop_break) [HAVE_PTHREAD]: New function.
+	(ns_send_appdefined): Don't wait for main thread when sending app
+	defined event.
+	src/process.c (wait_reading_process_output): Call thread_select from
+	within ns_select.
+	src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
+	its event loop using ns_run_loop_break.
+
+2017-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid slow redisplay under 'visual' mode of line numbers
+
+	* src/xdisp.c (display_count_lines_visually): Avoid very slow
+	redisplay when this function is invoked very far from point.
+	Reported by Alex <agrambot@gmail.com>.
+
+2017-07-01  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
+
+2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
+
+	(cl--random-state, cl--random-time): Move from cl-lib.el.
+	(cl-random): Use struct accessors.
+	(cl-random-state-p): Remove, provided by the defstruct.
+	(cl-make-random-state): Rewrite to struct constructor.
+
+2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
+
+2017-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of faces related to display-line-numbers
+
+	* lisp/faces.el (line-number, line-number-current-line): Warn
+	against using non-monospaced fonts.
+
+2017-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix relative-number display with non-nil display-line-number-width
+
+	* src/xdisp.c (maybe_produce_line_number): Don't treat a zero
+	value of display-line-number-width as acceptable.
+	Handle the case of 'relative' with display-line-number-width
+	non-nil and smaller than the absolute line number requires.
+	Reported by Alex <agrambot@gmail.com>.
+
+2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	Release Tramp 2.3.2
+
+	* doc/misc/tramp.texi (Android shell setup): Show default file name.
+	Structure section.
+
+	* doc/misc/trampver.texi:
+	* lisp/net/trampver.el: Change version to "2.3.2".
+
+	* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
+	Offer home directory for mock method if it doesn't exist.
+
+2017-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Add documentation for display-line-numbers
+
+	* doc/emacs/custom.texi (Init Rebinding):
+	* doc/emacs/modes.texi (Minor Modes): Remove references to
+	linum-mode.
+	* doc/emacs/display.texi (Display Custom): Describe the
+	line-number display.
+	(Optional Mode Line): Fix the index entry to not conflict with
+	that in "Display Custom".
+	* doc/emacs/basic.texi (Position Info): Add cross-reference to
+	"Display Custom", for line-number display.
+
+	* src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
+	display-line-numbers-disable in the doc string.
+
+	* lisp/cus-start.el (standard): Fix lst change.
+
+2017-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Support displaying zero as the number of the current line
+
+	* src/xdisp.c (syms_of_xdisp)
+	<display-line-numbers-current-absolute>: New variable.
+	<display-line-numbers>: Doc fix.
+	(maybe_produce_line_number): Support nil value of
+	display-line-numbers-current-absolute.
+
+	* lisp/cus-start.el (standard): Add customization form for
+	display-line-numbers-current-absolute.
+
+	* etc/NEWS: Document recently introduced features.
+
+2017-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Speed up the visual-mode relative line numbers
+
+	* src/xdisp.c (display_count_lines_visually): Introduce a
+	shortcut: if a relative line number was already calculated for
+	this iterator object, just increase it instead of the
+	expensive call to move_it_to.  Argument list changed to pass a
+	pointer to the iterator object.
+	(maybe_produce_line_number): Adjust for change in signature of
+	display_count_lines_visually.  Record the relative line number and
+	the corresponding byte position in the iterator object also in the
+	'visual' mode.
+
+2017-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix hscrolling with line numbers on TTY frames
+
+	* src/xdisp.c (hscroll_window_tree): Correct the X offset
+	calculations on TTY frames.
+	* src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
+	a kludge using it->lnum_width.
+
+2017-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix TAB display when the line-number face uses a smaller/larger font
+
+	* src/dispextern.h (struct it): New member lnum_pixel_width.
+	* src/xdisp.c (maybe_produce_line_number): Compute the width of
+	the line-number display in pixels.
+	(x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
+	that used it->lnum_width and made assumptions about pixel width.
+
+2017-06-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Escape NUL bytes in X selections (Bug#6991)
+
+	* lisp/term/w32-win.el (w32--set-selection):
+	* lisp/select.el (xselect--encode-string): Replace NUL bytes with
+	"\0".
+	* doc/emacs/killing.texi: Document new behavior.
+	* etc/NEWS (times): Announce it.
+
+2017-06-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Hide byte code in backtraces (Bug#6991)
+
+	* lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
+	defaulting to `cl-print'.
+	(debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
+	`prin1'.
+	* etc/NEWS: Announce it.
+
+2017-06-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't redundantly cl-print arglist in function docstring again
+
+	* lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
+	part of docstring.
+	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
+	test accordingly.
+
+2017-06-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Escape control characters in backtraces (Bug#6991)
+
+	* src/print.c (syms_of_print): Add new variable,
+	print-escape-control-characters.
+	(print_object): Print control characters with octal escape codes when
+	print-escape-control-characters is true.
+	* lisp/subr.el (backtrace):
+	* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
+	`print-escape-control-characters' to t.
+
+2017-06-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Improve ert backtrace recording
+
+	Change ert to use the new `backtrace-frames' function instead of
+	collecting frames one by one with `backtrace-frame'.  Additionally,
+	collect frames starting from `signal' instead the somewhat arbitrary
+	"6 from the bottom".  Skipping 6 frames would skip the expression that
+	actually caused the signal that triggered the debugger.  Possibly 6
+	was chosen because in the case of a failed test, the triggering frame
+	is an `ert-fail' call, which is not so interesting.  But in case of a
+	test throwing an error, this drops the `error' call which is too much.
+
+	* lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
+	* lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
+	code from `debugger-make-xrefs'.
+	(ert--print-backtrace): Add DO-XREFS parameter, delegate to
+	`debugger-insert-backtrace'.
+	(ert--run-test-debugger): Record the backtrace frames starting from
+	the instigating `signal' call.
+	(ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
+	DO-XREFS parameter.
+	(ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
+	to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
+	* test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
+	the backtrace list instead of comparing its string representation.
+	Expect `signal' to be the first frame.
+
+2017-06-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Operate on frame list instead of printed backtrace
+
+	* lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
+	prints the given backtrace frames.
+	(debugger-setup-buffer): Use it instead of editing the backtrace
+	buffer text.
+
+2017-06-29  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor fixes
+
+	* src/xdisp.c (maybe_produce_line_number): Fix bug that caused
+	line numbers to be displayed in empty lines beyond ZV.
+	(x_produce_glyphs): Start fixing TAB display in truncated lines.
+
+2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
+
+	Improve timer handling when Tramp accepts output
+
+	* lisp/net/tramp-compat.el: Avoid compiler warning.
+
+	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
+	Remove lock machinery.
+
+	* lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
+	(tramp-file-name-handler): Add lock machinery from
+	`tramp-sh-file-name-handler'.  Allow timers to run.
+	(tramp-accept-process-output): Remove nasty workaround.
+	Suppress timers.
+
+	* test/lisp/net/tramp-tests.el (shell-command-sentinel):
+	Suppress run in tests.
+	(tramp--instrument-test-case-p): New defvar.
+	(tramp--instrument-test-case): Use it in order to allow nested calls.
+	(tramp--test-message, tramp--test-backtrace): New defsubst,
+	will be used for occasional test instrumentation.
+	(tramp-test00-availability, tramp-test31-vc-registered): Use them.
+	(tramp-test28-shell-command)
+	(tramp--test-shell-command-to-string-asynchronously): Suppress
+	nasty messages.  Don't overwrite sentinel.
+	(tramp-test36-asynchronous-requests): Rewrite major parts.
+	Expect :passed.
+
+2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/url/url-history.el: Use lexical-binding
+
+	(url-completion-function): Mark as obsolete.
+	Mark unused args accordingly.
+
+2017-06-28  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't assume url structs are vectors (Bug#27333)
+
+	* lisp/url/url-history.el (url-history-update-url): Use `url-p'
+	instead of `vectorp'.
+
+2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace with dolist some uses of while
+
+	* lisp/calc/calc-units.el (calc-permanent-units):
+	(math-compare-unit-names, math-simplify-units-quotient):
+	(math-build-units-table-buffer): Use dolist to replace extra bindings
+	and some while loops.
+
+2017-06-28  Noam Postavsky  <npostavs@gmail.com>
+
+	Make tcl-auto-fill-mode obsolete (Bug#10772)
+
+	* lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
+	* etc/NEWS: Announce it.
+
+2017-06-28  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't read eshell/which output from *Help* buffer (Bug#26894)
+
+	* lisp/help-fns.el (help-fns--analyse-function)
+	(help-fns-function-description-header): New functions, extracted from
+	describe-function-1.
+	(describe-function-1): Use them.
+	* lisp/eshell/esh-cmd.el (eshell/which): Use
+	`help-fns-function-description-header' instead of
+	`describe-function-1'.
+
+2017-06-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Support default-text-properties
+
+	* src/xdisp.c (should_produce_line_number): Call get-char-property
+	at ZV as well, to support default-text-properties.
+
+2017-06-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid segfaults when some display vector is an empty string
+
+	* src/xdisp.c (next_element_from_display_vector): Don't try
+	accessing the dpvec[] array if its size is zero.  (Bug#27504)
+
+2017-06-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Initial support for visually-relative line numbers
+
+	Works very slowly.
+
+	* src/xdisp.c (display_count_lines_visually): New function.
+	(maybe_produce_line_number): Support 'visual' mode of line-number
+	display.
+	* src/xdisp.c (maybe_produce_line_number): Update IT's metrics
+	also when glyph_row is NULL.  This is important for move_it_*
+	functions.
+	(syms_of_xdisp) <display-line-number-width>: Now buffer-local.
+	(try_window_id, redisplay_window, try_cursor_movement): For
+	'visual' line-number display, disable the same redisplay
+	optimizations as for 'relative'.
+
+	* lisp/cus-start.el (standard): Add new value for the
+	customization form of display-line-numbers.
+
+2017-06-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Update IT's metrics while simulating display
+
+	* src/xdisp.c (maybe_produce_line_number): Update IT's metrics
+	also when glyph_row is NULL.  This is important for move_it_*
+	functions.
+
+2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
+
+	Fix bug in handling GnuPG's TRUST_MARGINAL status
+
+	* lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
+	to `good'.
+
+2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
+
+	Prefer `when' instead of 1-branch `if'
+
+	* lisp/dired-aux.el (dired-do-shell-command): Store condition value
+	in local variable ok.
+	Use `when' instead of 1-branch `if'.
+
+2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
+
+	Use #' instead of (function ...)
+
+	* lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
+	(dired-mark-confirm, dired-query, dired-byte-compile)
+	(dired-load, dired-update-file-line, dired-after-subdir-garbage)
+	(dired-relist-file, dired-rename-subdir, dired-do-create-files)
+	(dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
+	(dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
+	(dired-do-copy-regexp, dired-do-hardlink-regexp)
+	(dired-do-symlink-regexp, dired-create-files-non-directory)
+	(dired-upcase, dired-downcase)
+
+	* lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
+	(dired-internal-do-deletions, dired-internal-do-deletions):
+	Prefer #' instead of (function ...).
+
+2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
+
+	Don't quote lambda forms
+
+	* lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
+	(dired-mark, dired-desktop-buffer-misc-data)
+
+	* lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
+	(dired-create-files-non-directory, dired-insert-subdir-validate)
+	(dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
+
+2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/cc-fonts.el: Remove/mark unused vars
+
+	(c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
+	and `brackets-after-id'.
+	(c-font-lock-objc-methods): Mark unused args.
+
+2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Omit null-pointer test in intervals.h FRAME
+
+	* src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
+	(INTERVAL_LAST_POS): Omit unnecessary parens.
+	(LENGTH): Omit test for null pointer.  The argument is never null.
+	The unnecessary test causes GCC 7.1.0 to assume that the argument
+	might be null, and therefore to issue false alarms when the
+	argument is dereferenced in other expressions.
+
+2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Parenthesize frame.h macro definitions
+
+	* src/frame.h (FRAME_TOOL_BAR_POSITION)
+	(FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
+	(FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
+	(FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
+	(FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
+	(FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
+	(FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
+	(FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
+	(FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
+	to allow arbitrary expression arguments.
+
+2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port recent frame changes to GCC 7
+
+	* src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
+	is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
+	might return null.  This also avoids a run-time test.
+
+2017-06-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor aesthetic fix of last change.
+
+2017-06-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Allow to disable display of line numbers beyond EOB
+
+	* src/buffer.c (disable_line_numbers_overlay_at_eob): New
+	function.
+	* src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
+	* src/xdisp.c (should_produce_line_number): When at ZV, call
+	disable_line_numbers_overlay_at_eob to determine whether line
+	numbers should be displayed beyond ZV.
+
+2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Android 6/7 problems in Tramp
+
+	* lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
+	(tramp-adb-handle-directory-files-and-attributes)
+	(tramp-adb-handle-file-name-all-completions): Insert "."  and
+	".." only when needed.
+	(tramp-adb-get-ls-command): Force one column output for toybox.
+
+2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
+
+	* lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
+
+2017-06-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix line number display for overlay/display strings with newlines
+
+	* src/xdisp.c (maybe_produce_line_number): Fix the condition for
+	producing space glyphs instead of a line number to include the
+	case of display strings and overlays.
+
+2017-06-25  Alan Mackenzie  <acm@muc.de>
+
+	Make CC Mode load cl-lib rather than cl in Emacs 26.
+
+	* lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
+	variable.
+
+	* lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
+	(c--cl-library): New variable.
+	(Top level): Amend the form which requires library cl or cl-lib.
+	(c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
+	(c--delete-duplicate): Amend to use c--cl-library instead of
+	c--mapcan-status.
+
+	* lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
+	(c-back-over-compound-identifier): Remove unused local variables.
+
+	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
+	local variable.
+
+	* lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
+	of c--mapcan-status.
+
+	* lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
+	silence a compiler warning.
+
+2017-06-25  Martin Rudalics  <rudalics@gmx.at>
+
+	Provide additional support for child frames
+
+	Provide mouse dragging and resizing of frames.  Allow resizing
+	frames proportionally.  Provide additional functionality for
+	child frames.  Minor bug fixes.
+
+	* lisp/frame.el (frame-border-width, frame-pixel-width)
+	(frame-pixel-height): Alias to `frame-internal-border-width',
+	`frame-native-width' and `frame-native-height'.
+	(frame-inner-width, frame-inner-height, frame-outer-width)
+	(frame-outer-height): New functions.
+	* lisp/minibuffer.el (completion-auto-help): Fix typo.
+	* lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
+	(mouse-drag-header-line): Allow moving a frame by dragging the
+	mode line of its bottommost window (on a minibuffer-less frame)
+	or the header line of its topmost window.
+	(mouse-drag-vertical-line): Mention argument in doc-string.
+	(mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
+	(mouse-drag-top-left-corner, mouse-drag-top-edge)
+	(mouse-drag-top-right-corner, mouse-drag-right-edge)
+	(mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
+	(mouse-drag-bottom-left-corner): New functions for resizing a
+	frame by dragging its internal border together with
+	corresponding key bindings.
+	* lisp/tooltip.el (tooltip-frame-parameters): Add
+	'no-special-glyphs' to default parameters and update version
+	tag.
+	* lisp/window.el (frame-auto-hide-function): Add choice to make
+	frame invisible and update version tag.
+	(window--delete): Handle 'auto-hide-function' frame parameter.
+	(window--maybe-raise-frame): Respect 'no-focus-on-map' and
+	'no-accept-focus' frame parameters.
+	(display-buffer--action-function-custom-type): Add
+	`display-buffer-in-child-frame'.
+	(display-buffer): Mention `display-buffer-in-child-frame' in
+	doc-string.
+	(display-buffer-in-child-frame): New action function for
+	`display-buffer'.
+	(window--sanitize-margin): Return zero when MARGIN cannot be
+	sanitized.
+	(fit-frame-to-buffer): Major rewrite to handle child frames and
+	'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
+	frame parameters.
+	(window-largest-empty-rectangle--maximums-1)
+	(window-largest-empty-rectangle--maximums)
+	(window-largest-empty-rectangle--disjoint-maximums)
+	(window-largest-empty-rectangle): New functions.
+
+	* src/dispextern.h (WINDOW_WANTS_MODELINE_P)
+	(WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
+	provided by corresponding functions window_wants_modeline and
+	window_wants_header_line in window.c.  Adjust users.
+	* src/dispnew.c (adjust_glyph_matrix)
+	(buffer_posn_from_coords): Use window_wants_modeline and
+	window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
+	WINDOW_WANTS_HEADER_LINE_P.
+	* src/frame.c (keep_ratio): New function.
+	(adjust_frame_size): Call keep_ratio for each of F's child
+	frames.
+	(make_frame): Initialize no_special_glyphs slot.
+	(frame_internal_border_part): New function.
+	(Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
+	to Fframe_native_width, Fframe_native_height mand
+	Fframe_internal_border_width.
+	(frame_parm_table): Add Qno_special_glyphs entry.
+	(frame_float_type): New enumeration type.
+	(frame_float): New function to handle frame size and position
+	ratios.
+	(x_set_frame_parameters): Handle size and position ratios.
+	(x_set_no_special_glyphs): New function
+	(x_figure_window_size): Handle size and position ratios.
+	(syms_of_frame): Add Qdisplay_monitor_attributes_list,
+	Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
+	Qheight_only, Qleft_only and Qtop_only.
+	* src/frame.h (internal_border_part): New enumeration type.
+	(struct frame): New slot no_special_glyphs.
+	(FRAME_NO_SPECIAL_GLYPHS): New macro.
+	* src/gtkutil.c (xg_frame_restack): Return immediately for
+	GTK versions before 2.18.0.
+	* src/keyboard.c (internal_border_parts): New array constant.
+	(make_lispy_position): For frames with border dragging enabled
+	return internal border part.
+	(syms_of_keyboard): New symbols Qdrag_internal_border,
+	Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
+	Qright_edge, Qbottom_right_corner, Qbottom_edge and
+	Qbottom_left_corner.
+	* src/minibuf.c (read_minibuf_unwind): When exiting the
+	minibuffer deal with frames that have the 'minibuffer-exit'
+	parameter set.
+	(syms_of_minibuf): New symbol Qminibuffer_exit.
+	* src/nsfns.m (frame_parm_handler): Add entry for
+	x_set_no_special_glyphs.
+	(Fx_create_frame): Handle 'no-special-glyphs' parameter.
+	Intitialize new cursor types for dragging frame borders.
+	* src/nsterm.h (struct ns_output): Add new cursor types for
+	dragging frame borders.
+	* src/w32fns.c (w32_frame_parm_handlers): Add entry for
+	x_set_no_special_glyphs.
+	(Fx_create_frame): Handle 'no-special-glyphs' parameter.
+	Intitialize new cursor types for dragging frame borders.
+	* src/w32term.h (struct w32_output): Add new cursor types for
+	dragging frame borders.
+	* src/window.c (coordinates_in_window)
+	(Fwindow_line_height, window_internal_height): Use
+	window_wants_modeline and window_wants_header_line instead of
+	WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
+	(Fwindow_lines_pixel_dimensions): New function.
+	(window_parameter): New function.
+	(Fwindow_parameter): Call window_parameter.
+	(window_wants_mode_line, window_wants_header_line): New
+	functions replacing the macros WINDOW_WANTS_MODELINE_P and
+	WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
+	(syms_of_window): New symbols Qmode_line_format and
+	Qheader_line_format.
+	* src/window.h: Reorganize and re-comment macros.  Use
+	window_wants_modeline and window_wants_header_line instead of
+	WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
+	(MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
+	(WINDOW_BUFFER): New macro.
+	(WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
+	* src/xdisp.c (window_text_bottom_y, window_box_height)
+	(window_box, start_display)
+	(compute_window_start_on_continuation_line)
+	(try_cursor_movement, redisplay_window)
+	(try_window_reusing_current_matrix, try_window_id)
+	(display_line, expose_window): Use window_wants_modeline and
+	window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
+	WINDOW_WANTS_HEADER_LINE_P.
+	(pos_visible_p, display_mode_lines): Respect W's
+	'mode-line-format' and 'header-line-format' window parameters.
+	(init_iterator): Use window_wants_modeline and
+	window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
+	WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
+	no_special_glyphs value.
+	(note_mouse_highlight): Set frame border cursors when on
+	internal border.
+	(x_draw_right_divider, x_draw_bottom_divider): Try to improve
+	drawing of window dividers.
+	* src/xfns.c (mouse_cursor): Add entries for border parts.
+	(mouse_cursor_types): Add entries for cursor types to drag
+	frame borders.
+	(INSTALL_CURSOR): Add entries for new cursor types to drag
+	frame borders.
+	(Fx_create_frame): Handle 'no-special-glyphs' parameter.
+	(x_frame_parm_handlers): Add entry for
+	x_set_no_special_glyphs.
+	(Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
+	(Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
+	(Vx_window_right_edge_shape)
+	(Vx_window_bottom_right_corner_shape)
+	(Vx_window_bottom_edge_shape)
+	(Vx_window_bottom_left_corner_shape): New variables.
+	(x_frame_restack): Call xg_frame_restack only for GTK versions
+	starting with 2.18.0.
+	* src/xterm.c (x_free_frame_resources): Remove new cursors for
+	dragging frame borders.
+	* src/xterm.h (struct x_output): Add new cursor types for
+	dragging frame borders.
+
+	* doc/lispref/display.texi (Size of Displayed Text): Document
+	`window-lines-pixel-dimensions'.
+	* doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
+	Parameters".
+	* doc/lispref/frames.texi (Frame Size): Replace
+	frame-pixel-width/-height by frame-native-width/-height.  Add
+	frame-inner-width/-height and frame-outer-width/-height docs.
+	(Position Parameters): Describe specifying position as ratios.
+	Clarify remark about positions relative to bottom/ridge display
+	edge.
+	(Size Parameters): Describe specifying sizes as ratios.
+	Describe 'fit-frame-to-buffer-margins' and
+	'fit-frame-to-buffer-sizes' parameters.
+	(Layout Parameters): Describe 'no-special-glyphs' parameter.
+	(Frame Interaction Parameters): Describe 'auto-hide-function',
+	'minibuffer-exit' and 'keep-ratio' parameters.
+	(Mouse Dragging Parameters): New section describing
+	'drag-internal-border', 'drag-with-header-line',
+	'drag-with-mode-line', 'snap-width', 'top-visible' and
+	'bottom-visible' parameters.
+	(Management Parameters): Mention that `override-redirect' has
+	no effect on MS Windows.
+	(Font and Color Parameters): Mention child frames for `alpha'
+	parameter.
+	(Child Frames): Rewrite section with description and cross
+	references to new frame parameters added.
+	* doc/lispref/modes.texi (Mode Line Basics): Mention
+	'mode-line-format' and 'header-line-format' window parameters.
+	* doc/lispref/windows.texi (Resizing Windows): Mention effect
+	of `fit-frame-to-buffer-margins' for child frames.
+	(Display Action Functions): New action function
+	`display-buffer-in-child-frame'.
+	(Quitting Windows): Mention `make-frame-invisible' as optional
+	value of `frame-auto-hide-function' and `auto-hide-function'
+	frame paameter.
+	(Coordinates and Windows): Describe new function
+	`window-largest-empty-rectangle'.
+	(Window Parameters): Describe new parameters 'mode-line-format'
+	and 'header-line-format'.  Index all window parameters described
+	in this section.
+
+2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Adjust lm-verify to accept current notices
+
+	Problem reported by Mike Kupfer in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00512.html
+	* lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
+	Do not require later lines in a copyright notice to have more
+	indentation than earlier lines.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor change in NEWS.
+
+	Improve documentation in NEWS.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Move additional hscrolling code into a suitable 'if'
+
+	* src/xdisp.c (hscroll_window_tree): Make additional calculations
+	regarding glyphs produced for line numbers conditional on
+	line-number display.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Partial fix of hscroll of truncated lines with line numbers
+
+	* src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
+	hscroll calculations to line-number display.
+	* src/term.c (produce_glyphs): Adjust tab stop to window's
+	hscroll.  These two changes fix horizontal scrolling when line
+	numbers are displayed.  But there's still a bug: the horizontal
+	shift of lines that begin with a TAB is different from the rest.
+	* src/xdisp.c (move_it_in_display_line_to): Call
+	should_produce_line_number to determine whether a line number
+	should be produced for this screen line.
+
+2017-06-24  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't change byte-compile-delete-errors at runtime (Bug#27340)
+
+	* lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
+	time.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Allow Lisp program to disable line-number display for specific lines
+
+	* etc/NEWS: Update the documentation.
+
+	* src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
+	symbol.
+	(should_produce_line_number): New function.
+	(display_line): Use should_produce_line_number to determine
+	whether a line number should be produced for each glyph row.
+
+2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/net/html2text.el: Move to obsolete/.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Support a separate face for displaying the current line's number
+
+	* lisp/faces.el (line-number-current-line): New face.
+
+	* src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
+	symbol.
+	(try_window_id, try_cursor_movement): Disable these optimizations
+	when the line-number-current-line face is different from
+	line-number face.
+	(maybe_produce_line_number): Display the current line in the
+	line-number-current-line face, if it's different from line-number.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Change display of current line in relative mode
+
+	* src/xdisp.c (maybe_produce_line_number): In relative mode
+	display the current line number as its absolute value, not as zero.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Rename display-line-width
+
+	* etc/NEWS:
+	* src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
+	* lisp/cus-start.el: Rename display-line-width to
+	display-line-number-width.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix tab stops when line numbers are displayed
+
+	* src/xdisp.c (x_produce_glyphs):
+	* src/term.c (produce_glyphs): Adjust tab stops for the horizontal
+	space taken by the line-number display.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix crashes on TTY frames due to negative lnum_width.
+
+	Don't display line numbers in the minibuffer and in tooltip frames.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix problems with line-number updates in Follow mode
+
+	* src/xdisp.c (redisplay_window): If forced window-start requires
+	to move a window's point, and the window is under relative
+	line-number display, force another round of redisplay to update
+	the relative line numbers.  This fixes follow-mode "redisplay" of
+	its window group.
+
+	* lisp/frame.el: Add display-line-numbers to the list of variables
+	that should trigger redisplay of the current buffer.
+
+2017-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix display of line numbers with fonts larger than the default
+
+	* src/xdisp.c (maybe_produce_line_number): Update the metrics in
+	IT, not in IT->glyph_row, since the latter gets overwritten in
+	display_line.  Fixes display of line numbers when the font used
+	for them is larger than that of the default face.
+
+2017-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix background color beyond EOB and cursor display
+
+	* src/xdisp.c: 	(maybe_produce_line_number): Use the default face
+	for background of the blank glyphs in the line-number area which
+	are drawn beyond EOB.
+	(display_line): Reset the glyph row's displays_text_p flag only on
+	empty lines that don't display line numbers.  This fixes cursor
+	display beyond EOB.  Fix the bidi information in the glyphs
+	produced for line numbers.  Set the avoid_cursor_p flag of glyphs
+	produced for line numbers.
+
+2017-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix display of indicate-empty-lines when line numbers are displayed
+
+	* src/xdisp.c (row_text_area_empty): New function.
+	(display_line): Call row_text_area_empty to verify that a glyph
+	row's text area is devoid of any glyphs that came from a buffer or
+	a string.  This fixes a bug with empty-lines indication
+	disappearing when line numbers or line-prefix are displayed.
+	(display_line): Delete the argument FORCE; all callers changed.
+	Remove the condition for actually producing the glyphs for the
+	line number, as even if the number didn't change we need to
+	produce empty space.
+
+2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+	Fix symbol relocation when the relocated cell is renamed.
+
+	* lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
+	hashmap has been instantiated before getting data from it.  When
+	editing several spreadsheets, and you have spreadsheet #1 with a
+	cell named `foo', and no renamed cell in spreadsheet #2, then if
+	you make a formula with `foo' in spreadsheet #2, not doing this
+	check will make an error.
+	(ses-cell-set-formula): Robustify versus incorrect cell references
+	given in the user provided formula.  An explicit error message is
+	provided after the action when the user gives an incorrect cell
+	reference, but the formula edition is not changed.  This means that
+	if the incorrect reference is to a cell that is created someday,
+	then this new cell will not have the edited cell in its reference
+	list.  Fixing this can still be done by editing again the first
+	cell formula.
+	(ses-relocate-symbol): Do not create symbol of referred-to cell
+	when this is a renamed cell.
+
+2017-06-23  Rasmus  <rasmus@gmx.us>
+
+	Synchronize with the "emacs-sync" branch from Org
+
+2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove getc_unlocked configure-time check
+
+	* configure.ac (getc_unlocked): Remove check, as unlocked-io now
+	does this for us.
+
+2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use unlocked stdio more systematically
+
+	This can improve performance significantly on stdio-bottlenecked code.
+	E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
+	* admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
+	* lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
+	* lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
+	* lib-src/profile.c, lib-src/update-game-score.c:
+	Include unlocked-io.h instead of stdio.h, since these programs are
+	single-threaded.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
+	* src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
+	* src/lread.c, src/term.c:
+	Include sysstdio.h, possibly instead of stdio.h, to define
+	the unlocked functions if the system does not provide them.
+	* src/charset.c, src/lread.c (getc_unlocked):
+	Remove, since sysstdio.h now defines it if needed.
+	* src/cm.c (cmputc, cmcheckmagic):
+	* src/dispnew.c (update_frame, update_frame_with_menu)
+	(update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
+	* src/emacs.c (main, Fdump_emacs):
+	* src/fileio.c (Fdo_auto_save, Fset_binary_mode):
+	* src/image.c (slurp_file, png_read_from_file, png_load_body)
+	(our_stdio_fill_input_buffer):
+	* src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
+	* src/lread.c (readbyte_from_file):
+	* src/minibuf.c (read_minibuf_noninteractive):
+	* src/print.c (printchar_to_stream, strout)
+	(Fredirect_debugging_output):
+	* src/sysdep.c (reset_sys_modes, procfs_ttyname)
+	(procfs_get_total_memory):
+	* src/term.c (tty_ring_bell, tty_send_additional_strings)
+	(tty_set_terminal_modes, tty_reset_terminal_modes)
+	(tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
+	(tty_write_glyphs_with_face, tty_insert_glyphs)
+	(tty_menu_activate):
+	* src/xfaces.c (Fx_load_color_file):
+	Use unlocked stdio when it should be safe.
+	* src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
+	(fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
+	(fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
+	(putc_unlocked, putchar_unloced): Provide substitutes if not declared.
+
+2017-06-22  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
+
+2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
+
+	unidata: don’t check special casing in unidata-check  (bug#26656)
+
+	* admin/unidata/unidata-gen.el (unidata-check): Do not test special
+	casing mapping of characters since that mapping is not constructed from
+	the unidata.txt file.
+	Also, check for integer decoder and cons char earlier so that less
+	unnecessary processing is performed.
+
+2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/descr-text.el (describe-char): Avoid string-*-multibyte
+
+	Avoid string-to-multibyte and string-as-unibyte.
+	Don't make *Help* unibyte just because the char was in a unibyte buffer.
+
+2017-06-22  Rasmus  <rasmus@gmx.us>
+
+	Add Org schemas.xml contents to Emacs schemas.xml
+
+	Entries from the Org version of schemas.xml have been added to
+	the Emacs version of schemas.xml.
+
+2017-06-22  Rasmus  <rasmus@gmx.us>
+
+	Update Org to v9.0.9
+
+	Please see etc/ORG-NEWS for details.
+
+2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+	Do not hard code A1 cell reference, as it may be renamed.
+
+	* lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
+
+2017-06-22  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix make_hash_table calls in lread.c
+
+	* src/lread.c (readevalloop, read_internal_start): Fix
+	make_hash_table calls to make build succeed.
+
+2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
+
+	Merge several Lisp reader speedups.
+
+2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
+
+	Create less garbage to collect while reading symbols.
+
+	* src/lread.c (read1): When interning a symbol, only create a new
+	string object for the name if we're going to use it for a new symbol
+	object.
+
+2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
+
+	Replace read_objects assoc list with two hash tables.
+
+	For larger input files with lots of shared data structures, an
+	association list is too slow.
+
+	* src/lread.c (read_objects_map, read_objects_completed): New
+	variables, replacing read_objects.
+	(readevalloop): Initialize them with hash tables before starting a
+	top-level read, if they're not already empty hash tables, and reset
+	them to Qnil afterwards if something was added to the hash tables.
+	(read_internal_start): Likewise.
+	(read1): Store first the placeholder and later the newly read object
+	into read_objects_map under the specified object number.  If the new
+	object can contain a reference to itself, store it in
+	read_objects_completed.
+	(substitute_objects_recurse): Check read_objects_completed instead of
+	read_objects for the known possibly-recursive objects.
+	(syms_of_lread): Update initializations.
+
+2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
+
+	Use getc_unlocked.
+
+	* configure.ac: Check for getc_unlocked.
+	* src/charset.c (read_hex, load_charset_map_from_file): Use
+	getc_unlocked instead of getc.
+	(getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
+	* src/lread.c (readbyte_from_file, Fget_file_char, read1,
+	getc_unlocked): Likewise.
+
+2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Reduce lread substitutions.
+
+	* src/lread.c (read1): After reading an object using the "#n=" syntax,
+	if the read object is a cons cell, instead of recursively substituting
+	the placeholder with the new object, mutate the placeholder cons cell
+	itself to have the correct car and cdr values.
+
+2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
+
+	Short-circuit substitutions for some simple types.
+
+	Values that don't contain other values cannot be circular, so checking
+	for circular objects is a waste of cycles.
+
+	* src/lread.c (substitute_object_recurse): If the subtree being
+	examined is a symbol, number, or property-less string, just return
+	it.
+
+2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Limit style_format to MAX_ALLOCA
+
+	* src/editfns.c (styled_format): Subtract initial buffer size
+	from sa_avail, since it is nontrivial.
+
+2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Limit bidi_find_bracket_pairs to MAX_ALLOCA
+
+	* src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
+	Shrink it to allow for the two struct bidi_it objects in
+	the same frame.
+	(PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
+	(bidi_find_bracket_pairs): Use compile-time check instead of runtime.
+
+2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Limit insert-file-contents to MAX_ALLOCA
+
+	* src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
+	MAX_ALLOCA bytes in a single stack array.
+
+2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove malloc_find_address relic
+
+	* src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
+	Omit unnecessary initialization.
+
+2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix temacs hybrid_malloc core dump
+
+	Without this patch, ./temacs would dump core sometimes on Fedora
+	25 x86-64.  The problem was that the hybrid allocator assumed that
+	all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
+	assumption is not true on Fedora, because the standard memory
+	allocator calls gdefault_morecore, which means its blocks are
+	interleaved with our blocks.  Usually the code happened to work,
+	because our data structures agreed with the glibc data structures,
+	but this was merely luck due to a shared pedigree, and as glibc
+	mutates our luck has run out.
+	* src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
+	Remove; no longer needed.
+	(BLOCK): Use unsigned division, as that does the right thing near zero.
+	(register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
+	(_realloc_internal_nolock):
+	Big blocks now have type -1, not 0, as 0 now means the block is
+	not ours.
+	(morecore_nolock): Omit now-unnecessary casts to size_t.
+	(allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
+	(hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
+	avoid calling the wrong free or realloc function in some cases.
+
+2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Make gnus-article-date-user work
+
+	* lisp/gnus/gnus-art.el (article-date-ut):
+	Work for unfolded multi-line Date header.
+	(article-transform-date):
+	Refactor; add header name if it is missing in user-defined date line.
+	(article-date-user): Fix name of date type.
+
+2017-06-21  Noam Postavsky  <npostavs@gmail.com>
+
+	Keep order of completion candidates (Bug#25995, Bug#24676)
+
+	* lisp/minibuffer.el (completion-pcm--filename-try-filter)
+	(completion-pcm--all-completions): Use nreverse to undo the reversing
+	caused by using push in the loop.
+
+2017-06-21  Glenn Morris  <rgm@gnu.org>
+
+	* src/lread.c (syms_of_lread) <load-history>: Doc fix.
+
+2017-06-21  Alex Gramiak  <agrambot@gmail.com>
+
+	Mark prolog indent variables as safe (bug#27369)
+
+	* lisp/progmodes/prolog.el (prolog-indent-width)
+	(prolog-left-indent-regexp, prolog-paren-indent-p)
+	(prolog-paren-indent): Add :safe property.
+
+2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Remove `:options' from `css-electric-keys'
+
+	* lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
+	since it just duplicates the default value.
+
+2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix crash when built by GNU Gold linker on x86
+
+	Problem reported by Andrés Musetti (Bug#27248).
+	* src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
+	(emacsFrameClass): Now a function (which initializes the
+	superclass) instead of a variable.  All uses changed.
+
+2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify autogen.sh version checking
+
+	* autogen.sh (get_version): Simplify and make more reliable
+	by using expr rather than echo | sed.  Check exit status of program.
+	Run program in subshell in case it cannot be executed.
+	(check_version): Check exit status of command rather than its output.
+	Check return status of get_version.
+
+2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Delete old Date header in a simple way
+
+	* lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
+	when searching the old Date header boundary in order to delete it.
+
+2017-06-20  Bastien  <bzg@gnu.org>
+
+	Revert "Don't bind org-agenda key to an anonymous function"
+
+	This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
+
+2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Bind enable-local-variables to nil globally (fix dbe3e41)
+
+	* lisp/gnus/mm-view.el (mm-display-inline-fontify):
+	Bind enable-local-variables to nil globally instead of making it
+	buffer-local; remove let-bind of local-enable-local-variables.
+	cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
+
+2017-06-20  Glenn Morris  <rgm@gnu.org>
+
+	kill-matching-buffers to optionally not confirm
+
+	* lisp/files.el (kill-matching-buffers):
+	Add option to not confirm killing.  (Bug#27286)
+
+2017-06-20  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/files.el (local-enable-local-variables): Doc fix.
+
+2017-06-20  Glenn Morris  <rgm@gnu.org>
+
+	autogen.sh: try to check for tool being present but broken
+
+	* autogen.sh (get_version): Check return status of "--version".
+	(check_version): Try to distinguish between a missing tool
+	and a broken one.  (Bug#27288)
+
+2017-06-19  Glenn Morris  <rgm@gnu.org>
+
+	Avoid a custom-variable-type error (bug#27363)
+
+	* lisp/cus-edit.el (custom-variable-type):
+	Avoid an error due to plist-put becoming stricter of late.
+
+2017-06-19  Glenn Morris  <rgm@gnu.org>
+
+	Don't put deleted packages in the trash (bug#14967)
+
+	* lisp/emacs-lisp/package.el (package-delete):
+	Don't pay attention to delete-by-moving-to-trash.
+
+2017-06-19  Nicolas Petton  <nicolas@petton.fr>
+
+	Revert "Add current-line in simple.el"
+
+	This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
+
+2017-06-19  Damien Cassou  <damien@cassou.me>
+
+	Add current-line in simple.el
+
+	* lisp/simple.el (current-line): New function.
+	* test/list/simple-tests.el: Add tests for current-line.
+
+2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Don't try to eval local variables in Gnus article
+
+	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
+
+2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix emacs-module.h cleaning
+
+	* src/Makefile.in (clean): Do not remove emacs-module.h.in.
+	(bootstrap-clean): Remove emacs-module.h.
+
+2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* url/url-util.el (url-get-url-at-point): Add missing group in
+	regex.
+
+2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lib/gettext.h: Merge from gnulib.
+
+2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This (and my previous patch) incorporate:
+	2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
+	2017-06-15 gettext-h: Update comment
+	* lib/diffseq.h: Copy from gnulib.
+
+2017-06-17  Noam Postavsky  <npostavs@gmail.com>
+
+	* test/Makefile.in: Don't suppress test failure for single tests.
+
+2017-06-17  Philipp Stephani  <phst@google.com>
+
+	emacs-module.h: Create emacs_env_26
+
+	This was part of the original design of the module
+	API (https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00960.html),
+	but I didn't take it into account when adding the should_quit
+	function.
+
+	Instead of duplicating the environment fields or using the C
+	preprocessor, use configure to build emacs-module.h.
+
+	* configure.ac: Expand emacs-module.h template.
+
+2017-06-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of replace-buffer-contents
+
+	* etc/NEWS (replace-buffer-contents): Fix formatting.
+
+	* src/editfns.c (Freplace_buffer_contents): Doc fix.
+
+2017-06-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Finish up native display of line numbers
+
+	* src/xdisp.c (maybe_produce_line_number): Produce a blank before
+	the number, for R2L rows.  Increment 'g' in the loop even if
+	glyph_row is NULL.  Accept 2nd argument FORCE and produce the
+	line-number glyphs if it is non-zero.
+	(move_it_in_display_line_to): Account for the space taken by the
+	line-number glyphs.  Call maybe_produce_line_number with 2nd
+	argument non-zero.
+	(set_cursor_from_row): Fix calculation of cursor X coordinate in
+	R2L rows with display-produced glyphs at the beginning.
+	(syms_of_xdisp) <line-number>: New face symbol.
+	<relative, display-line-width>: New symbols.
+	(maybe_produce_line_number): Use the line-number face for
+	displaying line numbers.  Support relative line-number display.
+	Support user-defined width for displaying line numbers.
+	(try_cursor_movement, try_window_id): Disable these optimizations
+	when displaying relative line numbers.
+	* src/dispextern.h (struct it): New member 'pt_lnum'.
+
+	* lisp/faces.el (line-number): New face.
+	* lisp/cus-start.el (standard): Provide customization forms for
+	display-line-numbers and display-line-width.
+	* lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
+	turn display-line-numbers on and off.
+
+	* etc/NEWS: Document the new feature.
+
+2017-06-17  Philipp Stephani  <phst@google.com>
+
+	Allow local variables section to begin with a square bracket
+
+	Fixes Bug#27391.
+
+	* lisp/international/mule.el (find-auto-coding): Fix regular
+	expression for "Local Variables" section.
+
+	* test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
+	Add unit test.
+
+2017-06-17  Philipp Stephani  <phst@google.com>
+
+	Remove unnecessary point motion
+
+	* src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
+	motion.
+
+2017-06-17  Philipp Stephani  <phst@google.com>
+
+	Add command to replace buffer contents
+
+	Add a new command 'replace-buffer-contents' that uses the Myers diff
+	algorithm to non-destructively replace the accessible portion of the
+	current buffer.  The Myers algorithm is implemented in Gnulib.
+
+	* src/editfns.c (Freplace_buffer_contents): New command.
+	(set_bit, bit_is_set, buffer_chars_equal): New helper functions.
+	(syms_of_editfns): Define new command.
+
+	* test/src/editfns-tests.el (replace-buffer-contents-1)
+	(replace-buffer-contents-2): New unit tests.
+
+	* src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
+
+	* admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
+
+2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* international/characters.el: Update list of zero and full width
+	characters according to Unicode 9.0.0.
+
+2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Complete CSS property values less eagerly (Bug#27392)
+
+	* lisp/textmodes/css-mode.el (css--complete-property-value): Be less
+	eager by looking for a colon after the property which values are being
+	completed for.
+
+	* test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
+	Add a test case ensuring that properties that are prefixes of other
+	properties don't hinder further completion.
+
+2017-06-17  Noam Postavsky  <npostavs@gmail.com>
+
+	Handle integer indices for eshell variables (Bug#26055)
+
+	* lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
+	if it's been marked as one, just like `eshell-lisp-command' does.
+
+2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Don't bind org-agenda key to an anonymous function
+
+	* lisp/org/org-agenda.el: Bind "g" to named command.
+	(org-agenda-redo-all): New command.  Extend the previous functionality
+	through a prefix argument.
+
+2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Add test for the fix in the parent commit
+
+	* test/src/undo-tests.el (undo-test-skip-invalidated-markers):
+	New test, for the fix in the parent commit.
+
+2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
+
+	primitive-undo: Update only the currently valid markers
+
+	* lisp/simple.el (primitive-undo):
+	Update only the currently valid markers (bug#25599).
+
+2017-06-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Initial version of native display of line numbers
+
+	* src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
+	buffer-local variable.
+	Include <math.h>.
+	(maybe_produce_line_number): New function.
+	(DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
+	(try_window_reusing_current_matrix): Don't use this method when
+	display-line-numbers is in effect.
+	* src/dispextern.h (struct it): New members 'lnum'.
+
+2017-06-16  Philipp Stephani  <phst@google.com>
+
+	Correctly detect URLs surrounded by parentheses in comments
+
+	* lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
+	Make parentheses match work inside comments.
+
+	* test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
+	unit test.
+
+2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix load-path issue when it contains remote directories
+
+	* lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
+	(tramp-use-absolute-autoload-file-names): New defun.  Call it
+	after loading tramp.el.
+
+	* test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
+	New test.
+	(tramp-test39-unload): Rename.
+
+2017-06-16  Alan Mackenzie  <acm@muc.de>
+
+	Ensure C++ initializer lists don't get fontified.
+
+	* lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
+	compiler warning.
+
+	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
+	clause to handle C++ member initialization lists.
+	(c-font-lock-single-decl): New function, extracted from
+	c-font-lock-declarations.
+	(c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
+	code.
+	(c-font-lock-cut-off-declarators): Make more rigorous by calling
+	c-get-fontification-context, c-forward-decl-or-cast-1, and
+	c-font-lock-single-decl in place of rather approximate code.
+
+2017-06-16  Alan Mackenzie  <acm@muc.de>
+
+	Fix hang in CC Mode when ":" is typed after identifier at EOB.
+
+	* list/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
+	confusing ":" and EOB.
+
+2017-06-15  Alan Mackenzie  <acm@muc.de>
+
+	Create a toggle between block and line comments in CC Mode.
+
+	Also (unrelated change) initialize the modes' keymaps at each loading.
+
+	* lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
+	on the modeline.
+	(c-block-comment-flag): New variable.
+	(c-toggle-comment-style): New function.
+
+	* lisp/progmodes/cc-langs.el (c-block-comment-starter)
+	(c-line-comment-starter): Make them c-lang-defvars.
+	(c-block-comment-is-default): New c-lang-defvar.
+	(comment-start, comment-end): Make the default values dependent on
+	c-block-comment-is-default.
+
+	* lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
+	(c-basic-common-init): Initialize c-block-comment-flag.
+	(c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
+	(pike-mode-map, awk-mode-map): Make entries in these key maps each time the
+	mode is loaded rather than just once per Emacs session.
+
+	* doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
+	style.
+	(Minor Modes): Define comment style.  Describe how comment style influences
+	the information displayed on the modeline.  Document c-toggle-comment-style.
+	(FAQ): Add a question about toggling the comment style.
+
+2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pacify clang without munging C source
+
+	* configure.ac (WARN_CFLAGS): With Clang, use
+	-Wno-tautological-compare regardless of --enable-gcc-warnings.
+	(WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
+	* lib/strftime.c: Copy from gnulib, reverting Clang-specific
+	change which I hope is no longer needed.
+	* src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
+	some older non-POSIX hosts.
+
+2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	No need to complicate make-docfile.c for Clang
+
+	* lib-src/make-docfile.c (put_filename): Undo recent change.
+	The Clang false alarm occurs only with CFLAGS=-save-temps and
+	we needn’t worry about pacifying unusual compiler configurations.
+
+2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port './configure CC=clang' to Fedora 25
+
+	* configure.ac (HAVE_IMAGEMAGICK): Disable if even a
+	standard function like MagickRelinquishMemory does not link.
+
+2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t worry about __STDC_VERSION__ in emacs-module
+
+	* src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
+	we’ve found that some compilers do not define this symbol even
+	when they work well enough.  If necessary features like stdbool.h
+	are missing the compiler will complain eventually anyway.
+
+2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port cleanup check to Oracle Studio 12.5
+
+	* src/conf_post.h (__has_attribute_cleanup): Resurrect.
+	* src/emacs-module.c: Verify __has_attribute (cleanup), but in an
+	#if this time.
+
+2017-06-14  Bastien  <bzg@gnu.org>
+
+	Fix misformatted changelog entry
+
+2017-06-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid compiler warning in image.c on MS-Windows
+
+	* src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
+	compilation warning under -Warray-bounds by temporarily disabling
+	the -Warray-bounds option.
+
+2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#27315
+
+	* lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
+	New defvar.
+	(top): Use it.
+
+	* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
+	Check for connected, not for connectable.  (Bug#27315)
+	(tramp-process-actions):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+	Use `tramp-cache-read-persistent-data'.
+
+	* test/lisp/net/tramp-tests.el (top): Set also
+	`tramp-cache-read-persistent-data'.
+
+2017-06-14  Noam Postavsky  <npostavs@gmail.com>
+
+	Give a fixed default value for icomplete-prospects-height (Bug#26939)
+
+	* lisp/icomplete.el (icomplete-prospects-height): Default to 2.
+	(icomplete-prospects-length): Remove.
+	* etc/NEWS: Announce removal.
+
+2017-06-14  Philipp Stephani  <phst@google.com>
+
+	Remove some tautological comparisons involving rlim_t
+
+	Clang on macOS warns about these with -Wtautological-compare.  POSIX
+	guarantees that rlim_t is
+	unsigned (cf.
+	http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
+	so these resource limits can never be negative.
+
+	* src/emacs.c (main): Remove tautological comparisons.
+
+2017-06-14  Philipp Stephani  <phst@google.com>
+
+	Use --module-assertions if modules are available
+
+	Using --module-assertions helps us find bugs in the test module.  But
+	we can use it only if Emacs was compiled with module support.
+
+	* test/Makefile.in (MODULES_EMACSOPT): New variable.
+	(emacs): Use it.
+
+2017-06-14  Philipp Stephani  <phst@google.com>
+
+	Define --module-assertions only of modules are available
+
+	Fixes Bug#27352.
+
+	* src/emacs.c (usage_message, standard_args): Define
+	--module-assertions only if Emacs has been compiled with module
+	support.
+
+2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
+
+	* lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
+	No need to restore window config for WDD and WDW commands.
+
+2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+	lisp/net/soap-client.el: Bump version to 3.1.3
+
+	* lisp/net/soap-client.el: Bump version to 3.1.3.
+	(soap-name-p): Fix checkdoc issue.
+
+2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
+
+	Fix an HTTP encoding error in soap-client.el
+
+	* lisp/net/soap-client.el (soap-invoke-internal): Make
+	SOAPAction header a UTF-8 encoded string.
+
+2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port cleanup attribute to Oracle Studio 12.5
+
+	* INSTALL (--with-modules): List cleanup attribute as prereq.
+	* src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
+	* src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
+	(__has_attribute (cleanup)), as Oracle Studio 12.5 supports
+	__has_attribute only inside preprocessor expressions.  The C
+	compiler should check the cleanup attribute in the next line anyway.
+	(module_reset_handlerlist): Remove an unnecessary ‘const’
+	that causes Oracle Studio 12.5 to refuse to compile.
+
+2017-06-14  Glenn Morris  <rgm@gnu.org>
+
+	Fix running tests in without-modules builds
+
+	* test/Makefile.in (EMACSOPT): Remove option that is only defined
+	with-modules.  emacs-module-tests.el passes it where needed.
+
+2017-06-13  Glenn Morris  <rgm@gnu.org>
+
+	* test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
+
+2017-06-13  Philipp Stephani  <phst@google.com>
+
+	Inline test module Makefile into main test Makefile
+
+	The test/data/emacs-module/Makefile only built a single target, and
+	inlining it into test/Makefile simplifies dependency tracking and
+	reduces code duplication.
+
+	* configure.ac: Don't build test/data/emacs-module/Makefile.
+
+	* Makefile.in ($(test_module)): Inline compilation.
+	(clean): Also clean test module outputs.
+
+2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
+
+2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
+
+	Minor tweaks in Tramp manual
+
+	* doc/misc/trampver.texi: Add prefixwithspace flag.
+
+	* doc/misc/tramp.texi (Password handling): Harmonize example.
+	(File name completion): Use prefixwithspace flag.
+	(Frequently Asked Questions): Explain `tramp-histfile-override'.
+
+2017-06-13  Philipp Stephani  <phst@google.com>
+
+	Silence two Clang warnings by introducing additional local variables
+
+	* lib/strftime.c (libc_hidden_def):
+	* lib-src/make-docfile.c (put_filename): Introduce local variables to
+	silence Clang warnings.
+
+2017-06-13  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix wrong indentation after string literal (Bug#27306)
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
+	(lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
+	* test/lisp/emacs-lisp/lisp-mode-tests.el
+	(lisp-indent-region-after-string-literal): New test.
+
+2017-06-13  Philipp Stephani  <phst@google.com>
+
+	Fix version checks for emacs-module.h
+
+	We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
+	don't need it at all.
+
+2017-06-13  Noam Postavsky  <npostavs@gmail.com>
+
+	Buttonize #<bytecode> part of printed functions (Bug#25226)
+
+	* lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
+	(cl-print-compiled-button): New variable.
+	(help-byte-code): New button type, calls `disassemble' in its action.
+	(cl-print-object): Use it if `cl-print-compiled-button' is
+	non-nil.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Print module structure sizes when initializing test module
+
+	* test/data/emacs-module/mod-test.c (emacs_module_init): Print
+	compile-time and runtime sizes of module structures to ease debugging
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Small portability fix for emacs-module.h (bug#27346)
+
+	* src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
+	Avoid 'error: missing binary operator before token "("'.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Give a more informative failure in module assertion test
+
+	* test/src/emacs-module-tests.el (module--test-assertions):
+	Rephrase final check to give a more informative failure.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Fix off-by-one error
+
+	* test/data/emacs-module/mod-test.c (emacs_module_init): Fix
+	off-by-one error.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Clean up after module assertion tests
+
+	* test/src/emacs-module-tests.el (module--test-assertions):
+	Use a temporary directory to contain any core dumps.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Small improvement for module assertion test
+
+	* test/src/emacs-module-tests.el (module--test-assertions):
+	Don't rely on the precise form of an "Abort" message.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Improve previous test/data/emacs-module/Makefile change
+
+	* test/data/emacs-module/Makefile.in (clean):
+	Avoid doing unpleasant things if run in a build without modules.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Small improvements for test/data/emacs-module/Makefile
+
+	* test/data/emacs-module/Makefile.in (%.o):
+	Fix emacs-module dependency.
+	(SECONDARY): Stop make automatically deleting *.o.
+	(clean): New rule.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	* make-dist: Skip some more generated files in test/.
+
+2017-06-12  Alan Third  <alan@idiocy.org>
+
+	Note how fullscreen differs on the NS port
+
+	doc/lispref/frames.texi (Size Parameters):
+	doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
+	hides the tool-bar and menu-bar in fullscreen.
+
+2017-06-12  Alan Third  <alan@idiocy.org>
+
+	Add no-focus-on-map to NS build (bug#25408)
+
+	* src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
+	(x-create-frame): Check for no-focus-on-map.
+	* src/nsterm.h (x_set_no_focus_on_map): New function.
+	* src/nsterm.m (x_set_no_focus_on_map): New function.
+	(ns_raise_frame): Add parameter for specifying whether to focus the
+	frame.
+	(ns_frame_raise_lower):
+	(x_make_frame_visible): Handle new parameter for ns_raise_frame.
+
+2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	_Noreturn not noreturn
+
+	_Noreturn is more portable to non-C11 platforms.  See:
+	https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
+	* src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
+	include <stdnoreturn.h>.  Reindent to fit in 80 columns.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Update make-dist for recent test/ changes
+
+	* make-dist: No longer distribute test/data/emacs-module/Makefile.
+
+2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
+
+	Handle port and domain in Tramp's password cache
+
+	* doc/misc/tramp.texi (Password handling): Explain port and
+	domain handling in authinfo.
+
+	* lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
+	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
+	(tramp-maybe-open-connection):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+	(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
+	(tramp-smb-maybe-open-connection): Handle also domain and port.
+
+2017-06-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid compilation warnings with pre-C99 libc
+
+	* src/emacs-module.c (module_free_global_ref)
+	(module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
+	instead of C99 't' format descriptor.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Flush all output streams before aborting
+
+	Maybe the stdout buffer still contains something interesting that
+	should be flushed.
+
+	* src/emacs-module.c (module_abort): Flush all output streams before
+	aborting.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Remove an assertion that doesn't test Emacs invariants
+
+	* src/emacs-module.c (module_copy_string_contents): Remove an
+	assertion that doesn't test Emacs invariants.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Test module: add necessary version checks
+
+	* test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
+	version checks.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Use additional CFLAGS from configure
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Use Autoconf to generate the test module Makefile
+
+	This makes it easier to pass compilation flags around.
+
+	* configure.ac: Also build test module Makefile.
+
+	* test/data/emacs-module/Makefile.in: New makefile template.
+
+	* test/Makefile.in ($(test_module)): No longer necessary to pass
+	@MODULES_SUFFIX@ around.
+
+	* .gitignore: Test module Makefile can now be ignored.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Also compile test module as C11
+
+	* test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Implement module assertions for users
+
+	Add a new command-line option '-module-assertions' that users can
+	enable developing or debugging a module.  If this option is present,
+	Emacs performs additional checks to verify that modules fulfill their
+	requirements.  These checks are expensive and crash Emacs if modules
+	are invalid, so disable them by default.
+
+	This is a command-line option instead of an ordinary variable because
+	changing it while Emacs is running would cause data structure
+	imbalances.
+
+	* src/emacs.c (main): New command line option '-module-assertions'.
+
+	* src/emacs-module.c (module_assert_main_thread)
+	(module_assert_runtime, module_assert_env, module_assert_value):
+	New functions to assert module requirements.
+	(syms_of_module): New uninterned variable 'module-runtimes'.
+	(init_module_assertions, in_main_thread, module_abort): New helper
+	functions.
+	(initialize_environment): Initialize value list.  If assertions are
+	enabled, use a heap-allocated environment object.
+	(finalize_environment): Add assertion that environment list is never
+	empty.
+	(finalize_runtime_unwind): Pop module runtime object stack.
+	(value_to_lisp): Assert that the value is valid.
+	(lisp_to_value): Record new value if assertions are enabled.
+	(mark_modules): Mark allocated object list.
+	(MODULE_FUNCTION_BEGIN_NO_CATCH)
+	(module_non_local_exit_check, module_non_local_exit_clear)
+	(module_non_local_exit_get, module_non_local_exit_signal)
+	(module_non_local_exit_throw): Assert thread and environment.
+	(module_get_environment): Assert thread and runtime.
+	(module_make_function, module_funcall, module_intern)
+	(module_funcall, module_make_integer, module_make_float)
+	(module_make_string, module_make_user_ptr, module_vec_get)
+	(funcall_module, Fmodule_load): Adapt callers.
+	(module_make_global_ref): If assertions are enabled, use the global
+	environment to store global values.
+	(module_free_global_ref): Remove value from global value list.
+
+	* test/Makefile.in (EMACSOPT): Enable module assertions when testing
+	modules.
+
+	* test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
+	(Fmod_test_invalid_load): New functions to test module assertions.
+	(emacs_module_init): Bind the new functions.
+
+	* test/src/emacs-module-tests.el (mod-test-emacs): New constant for
+	the Emacs binary file.
+	(mod-test-file): New constant for the test module file name.
+	(module--test-assertions): New unit test.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	emacs-module: Use __attribute__((nonnull))
+
+	Annotate all parameters with __attribute__((nonnull)) that may not be
+	NULL.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Explicitly require C11 or C++11 in emacs-module.h
+
+	We already implicitly require them by including stdbool.h.  Just make
+	the error message a bit clearer, and remove an unnecessary version
+	comparison.
+
+2017-06-12  Philipp Stephani  <phst@google.com>
+
+	Add missing 'require' forms to prevent compiler warnings.
+
+	* lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
+	requirements.
+
+2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-06-11 getopt-posix: port to glibc 2.25.90
+	2017-06-04 same-inode: port better to VMS 8.2 and later
+	* doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
+	* m4/sys_types_h.m4: Copy from gnulib.
+
+2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove Lisp_Misc_Float
+
+	* src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
+	* src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
+	unused for two decades; if we ever want to change floats to be a
+	misc type we can bring it back then.
+
+2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make two symbols private to emacs-module.c
+
+	* src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
+	Move from here ...
+	* src/emacs-module.c: ... to here.
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Merge from origin/emacs-25
+
+	da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Merge from origin/emacs-25
+
+	e80f6a210b0 Describe problems with Microsoft Intellipoint
+	a73ec1edb07 More accurate documentation of the ':box' face attribute
+
+2017-06-12  Glenn Morris  <rgm@gnu.org>
+
+	Merge from origin/emacs-25
+
+	eaa00584ceb Improve documentation of 'gnutls-verify-error'
+	908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
+	741daec617e ; Describe the problem with ksh when resizing shell window
+
+2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
+
+	Some further improvements for tramp-gvfs.el
+
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
+	(tramp-gvfs-get-file-attributes)
+	(tramp-gvfs-maybe-open-connection): Handle davs? properly.
+	(tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
+	Show question also in batch mode.  Cache result.
+
+	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
+	Support completion for host names and ports.
+
+2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Fix highlighting of CSS selectors with double hyphens
+
+	* lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
+	highlighting of selectors that contain double hyphens.  They would be
+	mistaken for a variable.
+
+2017-06-11  Philipp Stephani  <phst@google.com>
+
+	Support threads in modules
+
+	Rather than checking for the main thread, check for the current
+	thread.
+
+	* emacs-module.c (check_thread): New function.
+	(MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
+	(module_non_local_exit_check, module_non_local_exit_clear)
+	(module_non_local_exit_get, module_non_local_exit_signal)
+	(module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
+
+2017-06-11  Philipp Stephani  <phst@google.com>
+
+	Allow non-local exits in module initializers
+
+	Previously signals, throws, and quits from module initialization
+	functions were ignored.  These function aren't special, and better
+	errors can be reported using signals than with the initialization
+	return code, so allow non-local exits.
+
+	* src/emacs-module.c (module_signal_or_throw): New helper function.
+	(Fmodule_load, funcall_module): Use it.
+	(Fmodule_load): Also allow quitting.
+
+2017-06-11  Noam Postavsky  <npostavs@gmail.com>
+
+	Let eshell/sudo handle absolute command names (Bug#27167)
+
+	* lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
+	absolute paths into relative ones.
+
+2017-06-10  Alan Third  <alan@idiocy.org>
+
+	Don't wait for toolbar in NS native fullscreen
+
+	* src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
+	function when in fullscreen.
+
+2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
+
+	Fix the placement of GTK menus on multi-monitor systems
+
+	menu_position_func did not properly use the current monitor's
+	resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
+
+	* lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
+	(frame-monitor-workarea): New functions.
+
+	* src/xmenu.c (menu_position_func): Take into account the workarea of
+	the monitor that contains the mouse.  (Bug#23568)
+
+2017-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Clarify documentation of 'face-spec-set'
+
+	* lisp/faces.el (face-spec-set): Clarify the description of
+	SPEC-TYPE in the doc string.
+
+	* doc/lispref/display.texi (Defining Faces): Clarify the
+	description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
+
+2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix domain port and handling in tramp-gvfs.el
+
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
+	Return nil if BYTE-ARRAY is nil.
+	(tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
+	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
+	Fix domain and port handling.
+
+	* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
+	Ignore errors.
+
+2017-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'face-spec-set-2'
+
+	* lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
+	to 'face-attrs'.
+	(face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
+
+2017-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix handling of Python/Guile commands with arguments in gdb-mi.el
+
+	* lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
+	variable.
+	(gdb-control-commands-regexp): Use it.
+	(gdb-send): Don't increment gdb-control-level if the command
+	matches gdb-python-guile-commands-regexp and has non-empty
+	arguments.  Reported by David Boles <boles@ieee.org> in
+	http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00009.html.
+
+2017-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Preserve point in Dired windows under 'dired-auto-revert-buffer'
+
+	* lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
+	is non-nil, bind switch-to-buffer-preserve-window-point to nil
+	while calling find-file.  (Bug#27243)
+
+2017-06-09  Philipp Stephani  <phst@google.com>
+
+	Give test files a -tests.el suffix
+
+	Rename a couple of test files that have the same name as the library
+	they test.  This harmonizes the naming pattern and makes it possible
+	to have the tests directories in the load path.
+
+2017-06-09  Philipp Stephani  <phst@google.com>
+
+	Fix another compiler warning on macOS
+
+	* src/image.c (x_query_frame_background_color): Don't define if we
+	have NextStep but no image support.
+
+2017-06-09  Philipp Stephani  <phst@google.com>
+
+	Add garbage collection support for module environments
+
+	* src/emacs-module.c (mark_modules): New function.
+	(initialize_environment): Properly initialize Lisp objects.
+	* src/alloc.c (garbage_collect_1): Call it.
+
+2017-06-08  Glenn Morris  <rgm@gnu.org>
+
+	Make autogen.sh report relevant environment variables
+
+	* autogen.sh (check_version):
+	Indicate if using an environment variable.
+
+2017-06-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Split variable macro env from function env
+
+	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
+	(cl-symbol-macrolet): Instead of adding each binding directly into the
+	main environment with a special key format, put all symbol macro
+	bindings into a single entry in the main environment under
+	`:cl-symbol-macros'.
+	(cl--sm-macroexpand): Look up symbol bindings in the
+	`:cl-symbol-macros' entry of the environment.
+
+2017-06-07  Glenn Morris  <rgm@gnu.org>
+
+	* make-dist: Directory modules/mod-test no longer exists.
+
+2017-06-07  Glenn Morris  <rgm@gnu.org>
+
+	More authors.el updates
+
+	* admin/authors.el (authors-ignored-files, authors-valid-file-names)
+	(authors-renamed-files-alist): Additions.
+
+2017-06-07  Glenn Morris  <rgm@gnu.org>
+
+	* make-dist: Check a release has a ChangeLog with a release notice.
+
+	* make-dist: Use existing ChangeLog if present.
+
+2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
+
+2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	(url-cookie-host-can-set-p): Protect against zero-length domains
+
+	* lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
+	against zero-length domains.
+
+	Backtrace of a real-world site that triggers a bug:
+
+	Debugger entered--Lisp error: (args-out-of-range "" 0)
+	  url-cookie-host-can-set-p("www.washingtonpost.com" "")
+	  url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
+	  01-January-1970 00:00:00 GMT; path=/; domain=")
+	  url-http-handle-cookies()
+
+2017-06-06  Glenn Morris  <rgm@gnu.org>
+
+	More authors.el updates
+
+	* admin/authors.el (authors-obsolete-files-regexps)
+	(authors-valid-file-names, authors-renamed-files-alist)
+	(authors-renamed-files-regexps): Additions.
+
+2017-06-06  Glenn Morris  <rgm@gnu.org>
+
+	More small authors.el updates
+
+	* admin/authors.el (authors-aliases): Fix recent addition.
+	(authors-obsolete-files-regexps, authors-no-scan-regexps)
+	(authors-ignored-files, authors-valid-file-names)
+	(authors-renamed-files-alist): Additions.
+
+2017-06-06  Glenn Morris  <rgm@gnu.org>
+
+	Make authors.el report names that were ignored
+
+	* admin/authors.el (authors-ignored-names): New.
+	(authors-canonical-author-name): Add file and position arguments.
+	Record ignored authors.
+	(authors-scan-change-log, authors-scan-el):
+	Pass file and position to authors-canonical-author-name.
+	(authors): Also print authors that were ignored.
+
+2017-06-06  Glenn Morris  <rgm@gnu.org>
+
+	* admin/authors.el (authors-aliases): Additions.
+
+2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
+
+	* test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
+
+2017-06-06  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
+
+2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Enable ElDoc messages after the newline command
+
+	* lisp/emacs-lisp/eldoc.el:
+	Add "newline" to the eldoc-add-command-completions call (bug#27228).
+
+2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Enable eldoc-mode explicitly inside read--expression
+
+	* lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
+
+2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
+
+	Fix check for package-unsigned-archives during retrieval
+
+	* lisp/emacs-lisp/package.el (package--download-one-archive):
+	Fix check for package-unsigned-archives.
+
+2017-06-05  Noah Friedman  <friedman@splode.com>
+
+	Merge etc/emacs-buffer.gdb from emacs-25 to master.
+
+2017-06-05  Philipp Stephani  <phst@google.com>
+
+	Fix undefined behavior in mapbacktrace
+
+	* src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
+
+2017-06-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix emacs-module-tests on MS-Windows
+
+	* src/print.c (print_vectorlike): Make sure module function's
+	address prints with a leading "0x".  This fixes emacs-module-tests
+	on MS-Windows.  Fix whitespace.
+	* src/dynlib.c (dynlib_addr): Remove unused variable.  Update
+	commentary.
+
+2017-06-05  Philipp Stephani  <phst@google.com>
+
+	Use unwind protection to clean up data structures in modules
+
+	Reuse existing functionality and simplify the code a bit.
+
+	* src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
+	runtime object.
+	(funcall_module): Use unwind protection to clean up environment
+	object.
+	(finalize_environment): Simplify signature.
+	(finalize_environment_unwind, finalize_runtime_unwind): New functions.
+
+2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
+
+	Some minor tweaks in tramp-tests.el
+
+	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
+	Let it pass for all gfvs based methods.
+	(tramp-test24-file-name-completion): Run method and host
+	completion for all syntaxes only when expensive tests are enabled.
+	Do not check host completion for gvfs based methods.
+	(tramp--test-gvfs-p): Add optional METHOD argument.
+	(tramp--test-afp-or-smb-p): Remove.
+
+2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix error in Tramp rsync method
+
+	* lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
+	Otherwise, `tramp-test10-write-region' could fail.
+
+2017-06-05  Philipp Stephani  <phst@google.com>
+
+	Inline module_has_cleanup
+
+	This constant is only used once, and we fail compilation anyway if
+	it's false.
+
+	* src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
+
+2017-06-05  Philipp Stephani  <phst@google.com>
+
+	Add missing dependency to test module source file
+
+2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Omit space that broke ‘make check’
+
+	* src/print.c (print_vectorlike): Omit stray space.
+
+2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove easserts etc. from emacs-module.c
+
+	Most of these seem to run afoul of the comment "Do NOT use
+	'eassert' for checking validity of user code in the module."
+	* src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
+	(module_non_local_exit_check, module_non_local_exit_clear)
+	(module_non_local_exit_get, module_non_local_exit_signal)
+	(module_non_local_exit_throw, module_make_string):
+	Remove unnecessary easserts that pointers are nonnull.
+	Hardware checks this for us nowadays, and the checks
+	just clutter up the code.
+	(module_extract_integer): Remove unnecessary verify that
+	a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
+	The C standard guarantees this.
+	(module_copy_string_contents): Remove unnecessary eassert
+	that Lisp strings are null-terminated.
+	(module_function_arity): Remove unnecessary easserts that
+	function arities are in range.
+
+2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove unnecessary checking in emacs-module.c
+
+	* src/emacs-module.c (module_copy_string_contents):
+	Remove checking, as string lengths are always nonnegative and less
+	than STRING_BYTES_BOUND, and this is checked elsewhere.
+	(module_make_string): Check length against STRING_BYTES_BOUND, a
+	tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
+	assume that an out-of-range integer is nonnegative.
+
+2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	SCHARS and STRING_BYTES are nonnegative
+
+	Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
+	the hopes that this will optimize a bit better.  Also, check this
+	at runtime if ENABLE_CHECKING.
+	* src/lisp.h (SCHARS, STRING_BYTES):
+	eassume that these functions return nonnegative values.
+	(STRING_SET_CHARS) [ENABLE_CHECKING]:
+	eassert that newsize is nonnegative.
+
+2017-06-05  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Remove an unused error symbol
+
+	* src/emacs-module.c (syms_of_module): Remove unused error symbol
+	'invalid-module-call'.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Support quitting in modules
+
+	The idea is that modules should call env->should_quit from time to
+	time and return as quickly as possible if it returns true.
+
+	* src/emacs-module.c (module_should_quit): New module function.
+	(initialize_environment): Use it.
+	(funcall_module): Process potential pending quit.
+
+	* src/eval.c (maybe_quit): Add reference to module_should_quit.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Use more specific errors for module load failure
+
+	* src/emacs-module.c (syms_of_module): Add more specific error
+	symbols.
+	(Fmodule_load): Use them.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Remove an unneeded assertion
+
+	* src/emacs-module.c (module_copy_string_contents): Remove unneeded
+	assertion.  If this assertion triggers, we raise an error anyway.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Guard against signed integer overflows
+
+	* src/emacs-module.c (module_extract_integer)
+	(module_copy_string_contents, module_make_string): Guard against
+	signed integer overflows.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Add a couple more assertions to the module code
+
+	These can help module authors debug crashes.
+
+	* emacs-module.c (module_non_local_exit_check)
+	(module_non_local_exit_clear, module_non_local_exit_get)
+	(module_non_local_exit_signal, module_non_local_exit_throw)
+	(module_copy_string_contents, module_make_string)
+	(funcall_module, initialize_environment): Add assertions
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
+
+	In particular, alias violations are likely for the return values of
+	dlsym(3), which get cast around arbitrarily.
+
+	* src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Simplify interface of dynlib_attr.
+
+	Instead of returning bool, set the argument pointers to NULL if the
+	information is not available.
+
+	* src/dynlib.c (dynlib_addr): Don't return bool.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Rationalize environment lifetime management functions
+
+	* src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
+	(finalize_environment): Add parameter for public part of the
+	environment, like 'initialize_environment'.  Add assertions.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Rework printing of module functions
+
+	Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
+	other types.
+
+	* src/print.c (print_vectorlike): Add code to print module functions.
+
+	* src/emacs-module.c (funcall_module): Stop calling
+	'module_format_fun_env'.  Now that module functions are first-class
+	objects, they can be added to signal data directly.
+	(module_handle_signal): Remove now-unused function
+	'module_format_fun_env'.
+
+	* test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
+
+	* src/eval.c (funcall_lambda): Adapt call to changed signature of
+	'funcall_module'.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Define helper macro to reduce code duplication
+
+	* src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
+	macro.
+	(MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
+	Use it.
+
+2017-06-04  Philipp Stephani  <phst@google.com>
+
+	Remove two FIXMEs that can't be fixed
+
+2017-06-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid slow startup in daemon mode when global-linum-mode is on
+
+	* lisp/linum.el (linum-on): Don't turn on linum-mode in a
+	non-client frame of a daemon session.  (Bug#27210)
+
+2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix eldoc bug with curved quote
+
+	* lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
+	Substitute quotes in documentation before returning it (Bug#27159).
+
+2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Tune ‘format’ after recent fix
+
+	* doc/lispref/strings.texi (Formatting Strings):
+	* src/editfns.c (Fformat): Format field numbers no longer need
+	to be unique, reverting the previous doc change since that has
+	now been fixed.  Also, document that %% should not have modifiers.
+	* src/editfns.c (styled_format): Improve performance.  Remove
+	the need for the new prepass over the format string, by using
+	a typically-more-generous bound for the info array size.
+	Initialize the info array lazily.  Move string inspection to
+	the same area to help caching.  Avoid the need for a
+	converted_to_string bitfield by using EQ.  Cache arg in a
+	local and avoid some potential aliasing issues to help the
+	compiler.  Info array is now 0-origin, not 1-origin.
+
+2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
+
+	Improve of file-local-name use in vc-git-checkin
+
+	* lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
+	when calling git commit.
+
+2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Support a new CSS indentation style
+
+	* lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
+	immediately followed by a newline.
+
+	* test/manual/indent/css-mode.css: Add test for the change above.
+
+	* test/manual/indent/scss-mode.scss: Ditto.
+
+2017-06-03  Philipp Stephani  <phst@google.com>
+
+	Fix a bug when using format field numbers
+
+	Previously styled_format overwrite the argument vector.  This is no
+	longer possible because there might be more than one specification per
+	argument.  Use the existing auxiliary info array instead.
+
+	* src/editfns.c (styled_format): Record arguments in the info
+	structure instead of overwriting them.
+	* test/src/editfns-tests.el (format-with-field): Add unit test.
+
+2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Document uniqueness limitation of ‘format’
+
+	* doc/lispref/strings.texi (Formatting Strings):
+	* src/editfns.c (Fformat):
+	Document that field numbers should be unique within a format.
+
+2017-06-03  Glenn Morris  <rgm@gnu.org>
+
+	Small rmailmm fix (bug#27203)
+
+	* lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
+	Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
+
+2017-06-03  Glenn Morris  <rgm@gnu.org>
+
+	* admin/authors.el (authors-aliases): Addition.
+
+2017-06-03  Glenn Morris  <rgm@gnu.org>
+
+	Add watch for password back to inferior python comint filter
+
+	It was removed along with other items for speed (bug#16875),
+	but doesn't seem to have been causing an issue, and it's useful to
+	have it there (bug#27154).
+	* lisp/progmodes/python.el (inferior-python-mode):
+	Add comint-watch-for-password-prompt to comint-output-filter-functions.
+
+2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
+
+	Use completing-read-default in tmm-prompt
+
+	tmm uses completing-read, but customizes its behavior so much
+	that any alternative completing-read-function will almost
+	certainly break it.  For example, both ido-ubiquitous and ivy have
+	special code to deactivate themselves for tmm.
+	* lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
+	completing-read.  (Bug#27193)
+
+2017-06-02  Mats Lidell  <mats.lidell@cag.se>
+
+	* etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
+
+2017-06-02  Glenn Morris  <rgm@gnu.org>
+
+	Fix with-todo-test
+
+	* test/lisp/calendar/todo-mode-tests.el (with-todo-test):
+	HOME should be a directory, not a file.  Delete it when finished.
+
+2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
+
+	Update TUTORIAL.it
+
+	* etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
+
+2017-06-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix cursor position in Dired buffers after dired-sort-toggle
+
+	* src/xdisp.c (display_and_set_cursor): Record cursor coordinates
+	even if the frame is marked as garbaged.  (Bug#27187)
+
+2017-06-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Update TUTORIAL.he
+
+	* etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
+
+2017-06-02  Noam Postavsky  <npostavs@gmail.com>
+
+	* etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
+
+2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Limit format fields to more POSIX-like spec
+
+	* doc/lispref/strings.texi (Formatting Strings):
+	Don’t allow mixing numbered with unnumbered format specs.
+	* src/editfns.c (styled_format): Don’t bother checking for field 0,
+	since it doesn’t crash and the behavior is not specified.
+	* test/src/editfns-tests.el (format-with-field): Adjust tests to
+	match current doc.  Add more tests for out-of-range fields.
+
+2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve performance by avoiding strtoumax
+
+	This made (string-to-number "10") 20% faster on my old desktop,
+	an AMD Phenom II X4 910e running Fedora 25 x86-64.
+	* admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
+	* m4/strtoumax.m4: Remove.
+	* src/editfns.c (str2num): New function.
+	(styled_format): Use it instead of strtoumax.  Use ptrdiff_t
+	instead of uintmax_t.  Check for integer overflow.
+	* src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
+	Move to private scope and make them enums.
+	(string_to_number): Compute integer value directly during
+	first pass instead of revisiting it with strtoumax later.
+
+2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor improvements to format field numbers
+
+	* src/editfns.c (styled_format): Allow field numbers in a %% spec.
+	No need for a special diagnostic for field numbers greater than
+	PTRDIFF_MAX.  Reword diagnostic for field 0.
+	* test/src/editfns-tests.el (format-with-field): Adjust to match.
+
+2017-06-02  Philipp Stephani  <phst@google.com>
+
+	Implement field numbers in format strings
+
+	A field number explicitly specifies the argument to be formatted.
+	This is especially important for potential localization work, since
+	grammars of various languages dictate different word orders.
+
+	* src/editfns.c (Fformat): Update documentation.
+	(styled_format): Implement field numbers.
+
+	* doc/lispref/strings.texi (Formatting Strings): Document field numbers.
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
+
+	* test/src/editfns-tests.el (format-with-field): New unit test.
+
+2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
+
+	Limit scope of local overriding-terminal-local-map
+
+	The function `binding' may call isearch-done, which globally sets
+	overriding-terminal-local-map to nil (Bug#23007).
+	* lisp/isearch.el (isearch-mouse-2): Don't bind
+	overriding-terminal-local-map around the call to `binding'.
+
+2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
+
+	Correct and isolate the todo-mode test environment
+
+	This avoids having to set todo-mode variables globally in the test
+	file and prevents any exisiting user todo-mode files from influencing
+	the tests.
+
+	* test/lisp/calendar/todo-mode-tests.el:
+	(with-todo-test): New macro.
+	(todo-test-todo-quit01, todo-test-todo-quit02)
+	(todo-test-item-highlighting): Use it.
+
+2017-06-01  Alan Third  <alan@idiocy.org>
+
+	Fix build errors on macOS 10.6 (bug#27059)
+
+	* src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
+
+2017-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve testing of octal and hex display of raw bytes
+
+	* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
+	(test-redisplay-5): Add a test with a large codepoint.
+
+2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
+
+	Add customizable to display raw bytes as hex
+
+	* src/xdisp.c (get_next_display_element): Dispatch used format string
+	for unprintables based on new display-raw-bytes-as-hex variable.
+	(display-raw-bytes-as-hex): New variable.  (Bug#27122)
+
+	* lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
+
+	* doc/emacs/display.texi: Document the new variable.
+	* etc/NEWS: Mention display-raw-bytes-as-hex.
+
+	* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
+	(test-redisplay-5): New tests.
+	(test-redisplay): Call test-redisplay-5.
+
+2017-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Revert "Add customizable to display raw bytes as hex"
+
+	This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
+
+2017-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Add customizable to display raw bytes as hex
+
+	* src/xdisp.c (get_next_display_element): Dispatch used format string
+	for unprintables based on new display-raw-bytes-as-hex variable.
+	(display-raw-bytes-as-hex): New variable.  (Bug#27122)
+
+	* lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
+
+	* doc/emacs/display.texi: Document the new variable.
+	* etc/NEWS: Mention display-raw-bytes-as-hex.
+
+	* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
+	(test-redisplay-5): New tests.
+	(test-redisplay): Call test-redisplay-5.
+
+2017-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix linum under text-scaling when leuven-theme is used
+
+	* etc/themes/leuven-theme.el (linum): Make the 'linum' face
+	inherit from 'default' and 'shadow', so that margins are enlarged
+	as expected under text-scaling.
+
+2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Free cwd when no longer needed
+
+	* lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
+
+2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
+
+	Fix memory leak of cwd string in emacsclient (Bug#26628)
+
+	* lib-src/emacsclient.c (main): emacsclient retrieves the current
+	working directory using get_current_dir_name which returns a newly
+	allocated string.  Make sure this string is freed before exiting.
+
+2017-06-01  Glenn Morris  <rgm@gnu.org>
+
+	Quieten compilation of some test files
+
+	* test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
+	* test/src/data-tests.el (binding-test-set-constant-t)
+	(binding-test-set-constant-nil, binding-test-set-constant-keyword)
+	(binding-test-set-constant-nil): Silence compiler.
+	* test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
+
+2017-06-01  Glenn Morris  <rgm@gnu.org>
+
+	Use true names for invocation- and source-directory
+
+	* src/emacs.c (init_cmdargs) <Vinvocation_directory>:
+	* src/lread.c (init_lread) <Vsource_directory>: Use true names.
+
+2017-06-01  Glenn Morris  <rgm@gnu.org>
+
+	Avoid elisp-mode test failures when source dir has multiple names
+
+	* test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
+	Use the true name of the directory.
+
+2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix bug with "%%" in error format
+
+	* src/doprnt.c (doprnt): Format "%%" correctly.
+	Problem reported by Philipp Stephani in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00901.html
+
+2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
+
+2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Revert mml-generate-mime-1 (bug#27141)
+
+	* lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
+	with slight modernizations (bug#27141).
+
+2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#27108
+
+	* lisp/recentf.el (recentf-load-list): Bind `non-essential',
+	in order to avoid Tramp password requests during Emacs
+	startup.  (Bug#27108)
+
+2017-05-31  Glenn Morris  <rgm@gnu.org>
+
+	* test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
+
+2017-05-31  Eli Zaretskii  <eliz@gnu.org>
+
+	Document current-line hscrolling in ELisp manual
+
+	* doc/lispref/windows.texi (Horizontal Scrolling): Document the
+	new mode of auto-hscrolling only the current line.
+
+2017-05-31  Eli Zaretskii  <eliz@gnu.org>
+
+	Support lower bound on hscrolling when only current line scrolls
+
+	* doc/emacs/display.texi (Horizontal Scrolling): Document the new
+	mode of auto-hscrolling only the current line.
+
+	* src/xdisp.c (init_iterator): When hscrolling only the
+	current line, apply the	window's min_hscroll here, so that
+	non-current lines will be hscrolled by that minimum.
+	Suggested by Stephen Berman <stephen.berman@gmx.net>.
+	(hscroll_window_tree): Account for window's min_hscroll when
+	deciding whether to recompute the hscroll.
+	(display_line): Subtract window's min_hscroll from x_incr, as that
+	was already accounted for in init_iterator.  (Bug#27008)
+
+2017-05-31  Noam Postavsky  <npostavs@gmail.com>
+
+	cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
+
+	* lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
+	(cl-print-object): When `print-circle' is nil, bind it to a list of
+	objects that are currently printing to avoid printing the same object
+	endlessly.
+	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
+
+2017-05-31  Noam Postavsky  <npostavs@gmail.com>
+
+	Further simplify test/Makefile, optionally load elc tests
+
+	* test/Makefile.in: Use make's error ignoring feature instead of
+	suppressing test errors with shell.  Compile test files in the main
+	make invocation instead of a recursive 'make' call.  Optionally load
+	.elc test files if TEST_LOAD_EL is set to something other than 'yes'.
+	Remove obsolete commentary.
+
+2017-05-31  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid inflooping in redisplay due to Spacemacs and linum-mode
+
+	* src/xdisp.c (redisplay_internal): Limit the number of redisplay
+	retries when a frame becomes garbaged as result of redisplaying
+	it.  (Bug#27115)
+
+2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
+
+	* src/editfns.c (decode-time): Fix docstring.
+
+2017-05-31  Glenn Morris  <rgm@gnu.org>
+
+	* admin/update_autogen: Remove bzr support.
+
+2017-05-31  Glenn Morris  <rgm@gnu.org>
+
+	Avoid subr test failure when source dir has multiple names
+
+	* test/lisp/subr-tests.el (subr-tests--this-file):
+	Use the true name of the file.  The following test does a string
+	comparison of this value with that from method-files, which uses
+	load-history, which contains true names.
+
+2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Extract eldoc--supported-p
+
+	* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
+	(turn-on-eldoc-mode, eldoc-mode): Use it.
+	(http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00865.html)
+
+2017-05-30  Glenn Morris  <rgm@gnu.org>
+
+	Make "make check" less verbose by default
+
+	* test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
+	(am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
+	(am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
+	New, copied from lisp/Makefile.in.
+	(%.elc, %.log): Simplify and quieten.
+
+2017-05-30  Alan Mackenzie  <acm@muc.de>
+
+	Mode line "%q" construct: Just use one number when both would be the same.
+
+	* src/xdisp (decode_mode_spec): recode the "%q" bit appropriately.
+
+2017-05-30  Alan Mackenzie  <acm@muc.de>
+
+	Merge branch 'master' of /home/acm/emacs/emacs.git/master
+
+2017-05-30  Alan Mackenzie  <acm@muc.de>
+
+	c-defun-name: Return fully qualified method names when wanted in C++, etc.
+
+	* lisp/progmodes/cc-cmds.el (c-defun-name): Use
+	c-back-over-compound-identifier in place of c-backward-token-2 near the end
+	of the function.
+
+2017-05-30  Glenn Morris  <rgm@gnu.org>
+
+	Reduce scope of recent test/Makefile HOME change
+
+	* test/Makefile.in (%.log): Move setting of HOME here from top-level.
+
+2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Skip .#* temporaries when finding sources
+
+	Without this patch, ‘make check’ can fail with the diagnostic
+	‘invalid syntax in conditional’ if there is an Emacs temporary
+	file whose name starts with ‘.#’, because the ‘#’ is treated as
+	the start of a Make comment.
+	* lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
+	* test/Makefile.in (ELFILES):
+	Skip files starting with ‘.’, so that the .#* files do not cause
+	trouble.  (We cannot easily skip just files starting with ‘.#’,
+	since ‘#’ starts a Make comment!)
+
+2017-05-30  Alan Mackenzie  <acm@muc.de>
+
+	Merge branch 'master' of /home/acm/emacs/emacs.git/master
+
+2017-05-30  Alan Mackenzie  <acm@muc.de>
+
+	Fix the mouse help/key map on the "%p" part of the mode line.
+
+	* lisp/bindings.el (mode-line-percent-position): give it a
+	`risky-local-variable' property.
+	(mode-line-position): correct the quoting on the mode-line-percent-position
+	part of the variable, allowing the properties to be properly recognized.
+
+2017-05-30  Alan Mackenzie  <acm@muc.de>
+
+	Fix the mouse help/key map on the "%p" part of the mode line.
+
+	* lisp/bindings.el (mode-line-percent-position): give it a
+	`risky-local-variable' property.
+	(mode-line-position): correct the quoting on the mode-line-percent-position
+	part of the variable, allowing the properties to be properly recognized.
+
+2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	* build-aux/config.guess: Copy from gnulib.
+	* lib/gnulib.mk.in: Regenerate.
+
+2017-05-30  Glenn Morris  <rgm@gnu.org>
+
+	Stop make check interacting with HOME
+
+	* test/Makefile.in (HOME): Export a non-existent value.
+
+2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Update .gitattributes to match sources better
+
+	* .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
+	algrthms.html.  Use pattern for todo-mode.  Improve patterns for
+	Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
+	Add config.guess and config.sub as shell files.
+
+2017-05-30  Noam Postavsky  <npostavs@gmail.com>
+
+	Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
+
+	* doc/emacs/cmdargs.texi (Initial Options):
+	* doc/lispref/os.texi (Startup Summary):
+	* etc/NEWS:
+	* etc/emacs.service:
+	* src/emacs.c (main):
+	* src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
+	'--bg-daemon'.
+
+2017-05-30  Glenn Morris  <rgm@gnu.org>
+
+	todo-mode: don't assume an ordering of tests
+
+	* test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
+	(todo-test-item-highlighting): Avoid prompting for input file.
+
+2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve .gdbinit Lisp value pretty-printing
+
+	* src/.gdbinit (to_string): Use an unsigned representation for
+	Lisp values, as requested by Eli Zaretskii (Bug#27098).
+	Also, use "make_number(N)" for Lisp integers.
+
+2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Turn global-eldoc-mode into a globalized minor mode
+
+	* lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
+	Turn into globalized mode (bug#19853).
+	(turn-on-eldoc-mode): Make it into a wrapper instead of alias.
+	(eldoc-mode): Only show the message when called interactively.
+
+2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Use regexp matching instead of checking exit status
+
+	* lisp/progmodes/xref.el (xref-collect-matches):
+	See if the output buffer contents look like Grep output
+	instead of checking exit status (bug#23451).
+
+2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
+
+	Add initial tests for todo-mode.el
+
+	*test/lisp/calendar/todo-mode-tests.el:
+	*test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
+	*test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
+
+	* .gitattributes: Ignore trailing whitespace in todo-mode test
+	data files, since it is part of the todo-mode file format.
+
+2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
+
+	Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
+
+	* lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
+	replacing an anonymous function for the sake of `describe-variable'.
+	(todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
+	and remove boundp test of this variable, so its value is available on
+	invoking `todo-toggle-item-highlighting'.
+
+2017-05-29  Alan Third  <alan@idiocy.org>
+
+	Fix build error on macOS 10.6
+
+	* src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
+	CGPoint.
+
+2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
+
+	Comply with pep 8 style guide for backslash in assignment (Bug#24809)
+
+	* lisp/progmodes/python.el (python-indent--calculate-indentation):
+	Increase indent by `python-indent-offset' after
+	`:after-backslash-assignment-continuation'.
+
+2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
+
+	Add suggestion to docstring
+
+	* lisp/subr.el (interactive-p): Mention commandp, as this is often
+	  what users are actually looking for.
+
+2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
+
+	Ensure button-get works in any buffer
+
+	* lisp/button.el (button-get): Previously we assumed that button-get
+	  was called in the buffer containing the button.  In other buffers,
+	  button-get always returned nil.  Fix this by passing the relevant
+	  buffer from the marker.
+
+2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Signal error if find-grep returns a nonzero status
+
+	* lisp/progmodes/xref.el (xref-collect-matches): Signal error
+	if find-grep returns a nonzero status (bug#23451).  Remove the
+	comment: even if some output is present, a non-zero status
+	means something went wrong and it can't be relied upon.
+
+2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
+
+	Make sure exiting todo-mode buffer buries it (bug#27121)
+
+	This failed due to commit ea3ae33b from 2013-05-16, which prevented
+	quitting todo-mode buffer after visiting todo-archive buffer from
+	making the archive buffer current again.  Avoid this now by simply
+	killing the archive buffer, since there's no need to keep it a live
+	buffer.  Consequently, quitting a todo-mode buffer can now use
+	bury-buffer without an argument, which ensures that is will not
+	becomes current on quitting the buffer that replaced it in the window.
+
+	* lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
+	buffer instead of burying it.  This now allows exiting the
+	todo-mode buffer by bury-buffer without an argument, so do that.
+
+2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
+
+	Some tweaks, almost all for Tramp adb method
+
+	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
+	Use `make-tramp-file-name'.
+	(tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
+	(tramp-adb-maybe-open-connection): Set "prompt" property.
+	(tramp-adb-wait-for-output): Use it.
+
+	* lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
+	(tramp-dump-connection-properties): Check also that there are
+	properties to be saved.  Don't save "started" property of
+	"ftp" method.
+
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
+	Use `make-tramp-file-name'.
+
+	* lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
+	Host could be empty.
+	(tramp-file-name-port-or-default): New defun.
+	(tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
+	(tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
+	(tramp-call-process, tramp-call-process-region):
+	Use `make-tramp-file-name'.
+
+	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
+	Revert change from 2017-05-24.
+	(tramp-test05-expand-file-name-relative): Let it also pass for
+	"adb" method.
+
+2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
+
+	Fix Tramp for Android 7
+
+	* tramp-adb.el (tramp-adb-ls-toolbox-regexp):
+	Username part of prompt is empty on Android 7.
+	(tramp-adb-ls-toolbox-regexp):
+	Ignore addition links column on Android 7.
+	(tramp-adb-get-ls-command):
+	Dont use --color=none when using toybox (Android 7).  It's not
+	possible to disable coloring explicitly for toybox ls.
+
+2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
+
+	Fix cl-indent for `loop' with :keywords (Bug#15543)
+
+	* lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
+	":keywords".
+
+2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Depromiscuify inotify with IN_MASK_ADD
+
+	Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
+	mask.  This simplifies the code and restores the ability to
+	use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
+	in some cases (Bug#26973).
+	* src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
+	(Finotify_add_watch): Use IN_MASK_ADD instead.
+
+2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Restore inotify onlydir support
+
+	There was no need to remove it in the 2017-03-26 inotify change,
+	as it is like IN_DONT_FOLLOW and does not affect other watchers
+	for the same file.
+	* src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
+	(syms_of_inotify): Bring back onlydir.
+
+2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify computation of inotify mask
+
+	* src/inotify.c (add_watch): Accept uint32_t imask instead
+	of Lisp_Object aspect.  Caller changed.
+	(Finotify_add_watch): Use aspect_to_inotifymask earlier, to
+	simplify the code.
+
+2017-05-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve the documentation of filesets
+
+	* doc/emacs/files.texi (Filesets): Fix the description of
+	fileset-init's effect on the menu bar.  (Bug#27015)
+
+2017-05-27  Philipp Stephani  <phst@google.com>
+
+	Don't attempt to recover from undefined behavior in some cases
+
+	These functions can only be run in batch mode and exit Emacs on
+	return, so nothing can be recovered.  Disable unsafe recover
+	mechanisms so that we get real failures and good stack traces on
+	fatal signals.
+
+	* lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
+	(batch-byte-recompile-directory):
+	* lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
+	(ert-summarize-tests-batch-and-exit): Don't attempt to recover
+	from undefined behavior.
+
+2017-05-27  Philipp Stephani  <phst@google.com>
+
+	Avoid another compiler warning on macOS
+
+	When configured with --without-ns, HAVE_NS is not defined on macOS,
+	thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
+	by using the pre-defined __APPLE__ preprocessor macro.
+
+	* src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
+
+2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
+
+	Fix ruler-mode text-scaling issues
+
+	* lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
+	for computing scaled text width.
+	(ruler-mode-text-scaled-window-hscroll)
+	(ruler-mode-text-scaled-window-width): Compute text scaled
+	`window-width' value.
+	(ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
+	(ruler-mode-ruler): Change `window-hscroll' into
+	`ruler-mode-text-scaled-window-hscroll', and change `window-width'
+	into `ruler-mode-text-scaled-window-width'.
+
+2017-05-27  Martin Rudalics  <rudalics@gmx.at>
+
+	Minor doc and doc-string fixes (Bug#27091)
+
+	* src/window.c (Fset_window_scroll_bars): Fix doc-string.
+
+	* doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
+	(Display Margins): Mention that `set-window-buffer' may override
+	settings made by `set-window-fringes', `set-window-scroll-bars'
+	and `set-window-margins'.
+	* doc/lispref/windows.texi (Buffers and Windows): Fix doc of
+	`set-window-buffer'.
+
+2017-05-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid args-out-of-range errors on fringe clicks after "C-h k"
+
+	* src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
+	message is already shorter than NCHARS.  (Bug#27040)
+
+2017-05-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix GUD "Stop" display when running pdb
+
+	* lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
+	when GUD mode is 'pdb'.  (Bug#27024)
+
+2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
+
+	Support drag and drop of region by mouse (Bug#26725)
+
+	* doc/emacs/frames.texi (Drag and Drop): Document support of drag
+	and drop region by mouse.
+	* lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
+	when start-event is on region.
+	(mouse-drag-and-drop-region): New function, moves the region by
+	(mouse-drag-and-drop-region): New defcustom.
+	* etc/NEWS: Mention mouse-drag-and-drop-region.
+
+2017-05-27  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
+
+2017-05-27  Alan Third  <alan@idiocy.org>
+
+	Check if instancetype supported in ObjC
+
+	* configure.ac: Add check for instancetype.
+	* src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
+
+2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
+
+	Mark keywordp as a safe, error-free function
+
+	* lisp/emacs-lisp/byte-opt.el: Add keywordp to
+	  side-effect-and-error-free-fns.
+
+2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/inotify.c: Add FIXME comments.
+
+2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
+
+	Fix Bug#26973
+
+	* src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
+	and CLOSE events on order do let other processes also reading
+	from their descriptors.  (Bug#26973).
+
+2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	Remove Emacs 23 compat code from Tramp
+
+	* doc/misc/tramp.texi (Remote processes): Don't mention
+	Emacs 24 explicitely.
+	(Frequently Asked Questions): Remove Emacs 23 from
+	compatibility list.
+
+	* lisp/net/tramp.el:
+	* lisp/net/tramp-adb.el:
+	* lisp/net/tramp-cache.el:
+	* lisp/net/tramp-gvfs.el:
+	* lisp/net/tramp-sh.el:
+	* lisp/net/tramp-smb.el: Replace compat function calls.
+
+	* lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
+	(tramp-compat-condition-case-unless-debug)
+	(tramp-compat-copy-file, tramp-compat-copy-directory)
+	(tramp-compat-delete-file, tramp-compat-delete-directory)
+	(tramp-compat-process-live-p): Remove them.
+
+	* lisp/net/trampver.el: Make version check fit for Emacs 24.
+
+2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Work for application/x-tar-gz and image/svg+xml
+
+	;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
+	;; of bug#27078 in the Emacs bug list using Gnus.
+
+	* lisp/gnus/mm-archive.el (mm-archive-decoders):
+	Add a decoder for application/x-tar-gz.
+	(mm-dissect-archive): Error out if a decoder is not found.
+
+	* lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
+
+2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
+
+	test-calc-23889: Skip test on 32-bit platforms
+
+	This test fails on some 32-bit platforms as mentioned in
+	https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00737.html
+	* test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
+	the Lisp integer is not big enough.
+
+2017-05-25  Alan Third  <alan@idiocy.org>
+
+	Fix NS tooltips showing in the wrong place (bug#27053)
+
+	* src/nsfns.m (compute_tip_xy): Get current mouse position instead of
+	last recorded position.
+
+2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+	lisp/net/soap-client.el: Bump version to 3.1.2
+
+	* lisp/net/soap-client.el: Bump version to 3.1.2.
+
+2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+	Fix soap-inspect.el doc strings
+
+	* lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
+	string.
+	(soap-inspect-xs-attribute-group): Likewise.
+
+2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+	Fix two soap-client.el byte compilation warnings
+
+	* lisp/net/soap-client.el (url-http-response-status): Add defvar.
+	(soap-fetch-xml-from-url): Remove special declaration of
+	url-http-response-status.
+	(soap-invoke-internal): Likewise.
+
+2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+	lisp/net/soap-client.el: Require cl-lib version 0.6.1
+
+	* lisp/net/soap-client.el: Require cl-lib version 0.6.1.
+
+2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+	    Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	lisp/net/soap-client.el: Shorten some long lines
+
+	* lisp/net/soap-client.el (soap-encode-xs-element): Remove
+	unnecessary progn.
+	(soap-xs-add-union): Wrap long line.
+
+2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
+	    Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Remove cl dependency in soap-client.el and soap-inspect.el
+
+	* lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
+	with cl-case, destructuring-bind with cl-destructuring-bind and
+	loop with cl-loop.
+
+	* lisp/net/soap-client.el: Replace cl library with cl-lib,
+	defstruct with cl-defstruct, assert with cl-assert, case with
+	cl-case, ecase with cl-ecase, loop with cl-loop and
+	destructuring-bind with cl-destructuring-bind.
+
+2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
+
+	Switch Tramp to cl-lib
+
+	* lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
+
+	* lisp/net/tramp-ftp.el: Don't require cl.
+
+	* lisp/net/tramp-gvfs.el: Don't require cl.
+	(tramp-gvfs-handler-mounted-unmounted)
+	(tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
+
+	* lisp/net/tramp-sh.el: Don't require cl.
+	(tramp-set-file-uid-gid): Use `shell-quote-argument'.
+	(tramp-sh-gvfs-monitor-dir-process-filter)
+	(tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
+
+	* lisp/net/tramp-smb.el: Don't require cl.
+	(tramp-smb-read-file-entry): Use `cl-*' macros.
+
+	* lisp/net/tramp.el (cl-lib): Require it rather than cl.
+	(tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
+	(tramp-parse-passwd, tramp-parse-etc-group)
+	(tramp-parse-putty): Use `cl-*' macros.
+
+2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* CONTRIBUTE: Suggest autogen.sh's 'all' operand.
+
+2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port ATTRIBUTE_MAY_ALIAS to recent icc
+
+	* src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
+	Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
+	“warning #2621: attribute "__may_alias__" does not apply here”
+	for constructs like ‘struct sockaddr *sa = (whatever);
+	struct sockaddr_in __attribute__ ((__may_alias__)) *sin
+	= (struct sockaddr_in *) sa;’.
+
+2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-05-25 port to recent icc
+	* lib/intprops.h: Copy from gnulib.
+
+2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Tramp for python.el
+
+	* lisp/net/tramp.el (tramp-get-connection-process): Check,
+	that VEC is a `tramp-file-name' structure.
+
+2017-05-24  Alan Third  <alan@idiocy.org>
+
+	Raise version of macOS we define instancetype for (bug#27059)
+
+	* src/nsterm.m: Increase supported version number.
+
+2017-05-24  Alan Third  <alan@idiocy.org>
+
+	Define new types on macOS 10.6 (bug#27041)
+
+	* src/nsterm.h: Enable instancetype typedef for older macOS, and use
+	correct NSUInteger instead of int.
+
+2017-05-24  Glenn Morris  <rgm@gnu.org>
+
+	Don't autoload new dns-mode command
+
+	* lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
+	Remove autoload cookie.
+
+2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
+
+	(sxhash_vector): Make it work on pseudo vectors as well.
+	(sxhash): Treat records like vectors.
+
+2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
+
+	Adapt tramp-tests.el according to new defstruct
+
+	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
+	Fix test according to new defstruct.
+	(tramp-test29-environment-variables-and-port-numbers):
+	Expect it now as passed.  Cleanup at the end.
+
+2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
+
+	Introduce a defstruct `tramp-file-name' as central data structure.
+
+	This solves also Bug#27009.
+
+	* lisp/net/tramp.el (tramp-current-domain)
+	(tramp-current-port): New defvars.
+	(tramp-file-name): New defstruct.
+	(tramp-file-name-user-domain, tramp-file-name-host-port)
+	(tramp-file-name-equal-p): New defuns.
+	(tramp-file-name-p, tramp-file-name-method)
+	(tramp-file-name-user, tramp-file-name-host)
+	(tramp-file-name-localname, tramp-file-name-hop)
+	(tramp-file-name-real-user, tramp-file-name-domain)
+	(tramp-file-name-real-host, tramp-file-name-port):
+	Remove defuns.  They are provided by the defstruct, or not
+	needed anymore.
+	(tramp-dissect-file-name, tramp-buffer-name)
+	(tramp-make-tramp-file-name, tramp-get-buffer)
+	(tramp-set-connection-local-variables)
+	(tramp-debug-buffer-name, tramp-message)
+	(tramp-error-with-buffer, with-parsed-tramp-file-name)
+	(tramp-completion-dissect-file-name1)
+	(tramp-handle-file-name-as-directory)
+	(tramp-handle-file-name-directory)
+	(tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
+	(tramp-handle-find-backup-file-name)
+	(tramp-handle-insert-file-contents, tramp-process-actions)
+	(tramp-check-cached-permissions, tramp-local-host-p)
+	(tramp-get-remote-tmpdir, tramp-call-process)
+	(tramp-call-process-region, tramp-read-passwd)
+	(tramp-clear-passwd):
+	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
+	(tramp-adb-handle-expand-file-name)
+	(tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
+	(tramp-adb-handle-process-file)
+	(tramp-adb-maybe-open-connection):
+	* lisp/net/tramp-cache.el (tramp-get-hash-table)
+	(tramp-get-file-property, tramp-set-file-property)
+	(tramp-flush-file-property, tramp-flush-directory-property)
+	(tramp-get-connection-property)
+	(tramp-set-connection-property, tramp-connection-property-p)
+	(tramp-flush-connection-property, tramp-cache-print)
+	(tramp-list-connections, tramp-dump-connection-properties)
+	(tramp-parse-connection-properties):
+	* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
+	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
+	(tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
+	(tramp-gvfs-handler-mounted-unmounted)
+	(tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
+	(tramp-gvfs-get-remote-gid)
+	(tramp-gvfs-maybe-open-connection):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
+	(tramp-do-copy-or-rename-file-out-of-band)
+	(tramp-sh-handle-expand-file-name)
+	(tramp-sh-handle-start-file-process)
+	(tramp-sh-handle-process-file, tramp-compute-multi-hops)
+	(tramp-maybe-open-connection)
+	(tramp-make-copy-program-file-name, tramp-get-remote-path)
+	(tramp-get-inline-coding):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+	(tramp-smb-handle-expand-file-name)
+	(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
+	(tramp-smb-handle-set-file-acl)
+	(tramp-smb-maybe-open-connection): Adapt according to defstruct.
+
+2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
+
+	Fix and improve UI of scroll bar menu (bug#27047)
+
+	In addition, since the Emacs manual writes "scroll bar", "tool
+	bar" and "menu bar", use this convention in the Show/Hide menues
+	and tooltips as well.
+
+	* lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
+	pressing a radio button in the menu actually show that it was
+	pressed.  Replace the two radio buttons to turn the horizontal
+	scroll bar on and off with a single check-box toggle and add a
+	separator between this and the vertical scroll bar radio
+	buttons.  Use conventional spelling.
+	(menu-bar-horizontal-scroll-bar)
+	(menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
+	(menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
+	(menu-bar-mode): Use conventional spelling.
+
+2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Remove string-as-unibyte
+
+	* lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
+	(canlock-make-cancel-key): No need to use string-as-unibyte.
+
+2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix concatenation of "^" with diff-file-junk-re
+
+	This regexp contains "\\|", thus a concatenation
+	of "^" with it just matches the beginning of line for the
+	first alternative in diff-file-junk-re.
+	* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
+	diff-file-junk-re wrapped in a shy group.
+
+2017-05-24  Glenn Morris  <rgm@gnu.org>
+
+	Suppress intermittent test failure on hydra
+
+	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
+	(eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
+
+2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
+
+	New dns-mode command for IPv6 address conversion
+
+	This converts IPv6 addresses to a format suitable for
+	reverse lookup zone files.  (Bug#26820)
+	* lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
+	Add dns-mode-ipv6-to-nibbles.
+	(dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
+	New functions.
+	* test/lisp/dns-mode-tests.el: New file.
+
+2017-05-24  Noam Postavsky  <npostavs@gmail.com>
+
+	Protect *Backtrace* from being killed (Bug#26650)
+
+	* lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
+	`kill-buffer-hook'.
+
+2017-05-24  Noam Postavsky  <npostavs@gmail.com>
+
+	Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
+	(lisp-mode-variables): Use it.
+
+2017-05-23  Philipp Stephani  <phst@google.com>
+
+	vc-hg.el: Silence byte compiler warning
+
+	* lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
+
+2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don't warn about missing brances on macOS
+
+	On macOS, removing -Wmissing-braces is not enough; the warning has to
+	be disabled explicitly.
+
+2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
+
+	Don't treat ' as a string delimiter in RPM spec files
+
+	' is commonly used as an apostrophe in the prose sections of spec
+	files, which was erroneously highlighted as strings. See for example
+	http://kmymoney2.sourceforge.net/phb/rpm-example.html
+
+	* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
+	  punctuation in RPM spec files.
+
+2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
+
+	(common-lisp-indent-function-1): Remove unused var `last-point`.
+	(lisp-indent-error-function): Move defvar before first use.
+
+2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
+
+	* lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
+
+	* lisp/net/shr.el: Use cl-lib instead of cl.
+
+2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
+
+	* test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
+	(binding-test-makunbound, data-tests-varalias-watchers)
+	(data-tests-local-variable-watchers): Silence compiler warnings.
+
+2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
+
+2017-05-23  Alan Third  <alan@idiocy.org>
+
+	Fix GNUstep build
+
+	* src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
+	(NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
+	GNUstep and old versions of macOS.
+	* src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
+	works in cocoa, not GNUstep.
+
+2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add test for Bug#27009 in tramp-tests.el
+
+	* lisp/net/tramp-sh.el (tramp-compute-multi-hops):
+	Check `tramp-file-name-real-host' for being a local host.
+
+	* lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
+
+	* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
+	Declare default host for mock method.
+	(tramp-test29-environment-variables-and-port-numbers): New test.
+
+2017-05-23  Glenn Morris  <rgm@gnu.org>
+
+	Don't advertise s_client in tls.el docs
+
+	* lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
+	Don't mention s_client in docs.
+
+	(cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
+
+2017-05-23  Rob Browning  <rlb@defaultvalue.org>
+
+	Remove s_client usage from tls.el
+
+	* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
+	Ref http://bugs.debian.org/766397
+	http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
+
+
+	(cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
+
+2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
+
+2017-05-22  Sam Steingold  <sds@gnu.org>
+
+	Fix "g" in hg&git push&pull buffers
+
+	lisp/vc/vc-git.el (vc-git--pushpull): Set locally
+	`compilation-directory' and `compilation-arguments'.
+	lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
+
+2017-05-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix current-line hscrolling in buffers with header-line
+
+	* src/xdisp.c (display_line): When testing the glyph row's
+	vertical position against the cursor position, account for header
+	line, if any.  (Bug#27014)
+
+2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
+
+	(rfc2047-decode-encoded-words): Use dolist.
+	(rfc2047-decode-string): Avoid string-to-multibyte.
+	(rfc2047-pad-base64): Use pcase.
+
+2017-05-21  Dima Kogan  <dima@secretsauce.net>
+
+	Make ff-find-other-file symmetric for C++ (Bug#20192)
+
+	`cc-other-file-alist' has a mapping of file extensions to switch
+	between headers and sources, but the mappings weren't completely
+	symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
+	to .cpp.
+
+	* lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
+	C++ extensions to make them symmetric with the C++ extensions that map
+	to them.  This lets repeated invocations of `ff-find-other-file'
+	toggle between all pairs of sources/headers.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Fix definition of whitespace in JSON
+
+	See
+	https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00115.html.
+
+	* lisp/json.el (json-skip-whitespace): Fix definition.
+	* test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
+	test.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Improve module function terminology
+
+	Module functions were previously called "function environments" when
+	the functions created by module_make_functions were lambdas.  Now we
+	can adapt the terminology and rename "function environments" to
+	"module functions" everywhere.  This also removes the name clash
+	between "function environments" and "module environments."
+
+	* src/emacs-module.c (module_make_function): Adapt comment to reality;
+	stop using "function environment" terminology.
+	(funcall_module): Stop using "function environment" terminology.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Avoid uninitialized read
+
+	* src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Fix call of registerServicesMenuSendTypes
+
+	* src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
+	returnTypes; pass an empty array instead.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Clean up code around 'ns-list-services'
+
+	* src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
+	branch NS_IMPL_COCOA cannot be defined.
+	(interpret_services_menu): Define only if called to avoid compiler
+	warnings about unused static functions.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Remove unused automatic variables
+
+	* nsterm.m (ns_read_socket):
+	* macfont.m (macfont_open): Remove unused automatic variables.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Nextstep: Replace deprecated enumerators
+
+	* src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
+	deprecated enumerator.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Nextstep: remove some deprecated method calls
+
+	* src/nsterm.m (mouseDown:):
+	* src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
+	deprecated method.  The return value is always nil.
+	* src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Remove trailing semicolons in method definitions
+
+	These semicolons are ignored and cause compiler warnings.
+
+	* src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
+	* src/nsterm.m (init, updateFrameSize:):
+	(setFrame:): Remove trailing semicolon.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Remove calls to deprecated setUsesScreenFonts
+
+	* src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
+	(mac_font_shape_1): Remove screen_font_p parameter.
+	(mac_screen_font_shape): Remove screen_font_p argument.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Make a function static that isn't used outside this file
+
+	* src/kqueue.c (kqueue_directory_listing): Make static.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Use NSCharacterCollection instead of CTCharacterCollection
+
+	This should not cause behavior changes, but fixes a compiler warning
+	due to implicit conversions between the enums.
+
+	* src/macfont.m (macfont_cache, macfont_lookup_cache)
+	(macfont_get_glyph_for_cid, macfont_get_uvs_table)
+	(macfont_variation_glyphs): Use NSCharacterCollection.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Remove unused function print_regions
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Declare Nextstep unexec functions in lisp.h
+
+	This removes compiler warnings about missing prototypes on macOS.
+
+2017-05-21  Philipp Stephani  <phst@google.com>
+
+	Nextstep: Use instancetype explicit return type
+
+	This removes compiler warnings on macOS and improves type safety.
+
+	* nsterm.m (initFrameFromEmacs:):
+	(menuDown:):
+	(toolbarClicked:):
+	(toggleToolbar:):
+	(setMiniwindowImage:):
+	(initFrame:window:):
+	(condemn, reprieve, setPosition:portion:whole:):
+	(repeatScroll:):
+	* nsmenu.m (initWithTitle:):
+	(initWithTitle:frame:):
+	(initForView:withIdentifier:):
+	(init, initWithContentRect:styleMask:backing:defer:):
+	(initFromContents:isQuestion:):
+	* nsimage.m (allocInitFromFile:):
+	(initFromXBM:width:height:fg:bg:):
+	(setXBMColor:):
+	(initForXPMWithDepth:width:height:): Use instancetype as return
+	type instead of implicit id.
+
+2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
+
+	* lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
+
+2017-05-21  Alan Mackenzie  <acm@muc.de>
+
+	Enhance mode-line percentage offset facility, with "%o" and "%q"
+
+	"%o" will display the percentage "travel" of the window through the buffer.
+	"%q" will display a combination of the percentage offsets of the top and
+	bottom of the window.  The new user option mode-line-percent-position will
+	facilitate selecting a setting for this part of the mode line.
+
+	* lisp/bindings.el (mode-line-percent-position): New customizable user option.
+	(mode-line-position): Use mode-line-percent-position in place of "%p", etc.
+
+	* src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
+
+	* doc/lispref/modes.texi (Mode Line Variables): Document
+	mode-line-percent-position.
+	(%-Constructs): Document %o and %q.
+
+	* etc/NEWS: Add an entry for these new facilities.
+
+2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Work around macOS bug in create_process, too
+
+	* src/process.c (create_process) [DARWIN_OS]:
+	Reset SIGCHLD after vfork here, too.
+
+2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Work around macOS bug with vforked child
+
+	* src/callproc.c (call_process) [DARWIN_OS]:
+	Include workaround for apparent macOS bug.
+
+2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pacify --enable-gcc-warnings without modules
+
+	* src/print.c (print_vectorlike): New function, taken from
+	part of print_object.  This one is indented properly, and
+	pacifies --enable-gcc-warnings by using a default case
+	instead of listing all the enum values, sometimes
+	incompletely.
+	(print_object): Use it.
+
+2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
+
+	It does not appear to be needed (Bug#24441).
+	* etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
+	* src/fileio.c (file_name_case_insensitive_p):
+	Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
+
+2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
+
+	* etc/PROBLEMS: Document this (Bug#24441).
+	* src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
+	with _PC_CASE_SENSITIVE, if it works, to
+	DARWIN_OS_CASE_SENSITIVE_FIXME code.
+	Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
+	which matches the Apple documentation more precisely.
+
+2017-05-21  Tom Tromey  <tom@tromey.com>
+
+	Fix mhtml-mode fontification bug
+
+	Bug#26922
+	* lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
+	sgml-syntax-propertize-inside if not in a submode.
+	* test/manual/indent/html-multi-4.html: New file.
+
+2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
+
+	Fix ido-enable-dot-prefix for empty choice (Bug#26997)
+
+	* lisp/ido.el (ido-set-matches-1): Only check first character of
+	item if it's non-empty.
+
+2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
+
+	* lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
+
+2017-05-21  Glenn Morris  <rgm@gnu.org>
+
+	Prevent loading vc-bzr writing to ~/.bzr.log
+
+	* lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
+
+2017-05-21  Glenn Morris  <rgm@gnu.org>
+
+	Prevent running vc-tests writing to ~/.bzr.log
+
+	* test/lisp/vc/vc-tests.el (vc-test--create-repo)
+	(vc-test--register, vc-test--working-revision)
+	(vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
+
+2017-05-21  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't end non-hook variable with "-hook" (Bug#26623)
+
+	* lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
+	follow-inside-post-command-hook, update uses.
+
+2017-05-21  Charles A. Roelli  <charles@aurox.ch>
+
+	Fix macOS mouse movement
+
+	* lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
+	function (Lisp).
+	(set-mouse-absolute-pixel-position): Change it to call
+	`ns-set-mouse-absolute-pixel-position' on macOS.
+	* src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
+	function.
+	* src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
+	screen's height as a base for calculating global coordinates.
+	* src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
+	* test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
+	movement of mouse relative to frame.
+
+2017-05-21  Alan Third  <alan@idiocy.org>
+
+	Show tooltip on correct screen (bug#26905)
+
+	* src/nsfns.m (compute_tip_xy): Find the correct screen for the
+	tooltip and constrain it to that screen.
+
+2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
+
+	Don't save unrelated buffers before recompiling directory (Bug#25964)
+
+	* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
+	buffers visiting lisp files under the directory being compiled.
+
+2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor fixes for arity ranges in emacs modules
+
+	* src/emacs-module.c (module_make_function):
+	Check that arities fit into fixnums, for func-arity’s benefit.
+	(funcall_module): Avoid unnecessary conversion to EMACS_INT.
+	(module_function_arity): Allow arities greater than SHRT_MAX.
+
+2017-05-20  Philipp Stephani  <phst@google.com>
+
+	Reimplement module functions
+
+	Instead of a lambda, create a new type containing all data required to
+	call the function, and support it in the evaluator.  Because this type
+	now also needs to store the function documentation, it is too big for
+	Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
+	that we don't have to add special support to the garbage collector.
+
+	Since the new type is user-visible, give it a predicate.
+
+	Now we can easily support 'help-function-args' and 'func-arity'; add
+	unit tests for these.
+
+	* src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
+	(XMODULE_FUNCTION): New pseudovector type 'module function'.
+
+	* src/eval.c (FUNCTIONP): Also treat module functions as functions.
+	(funcall_lambda, Ffuncall, eval_sub): Add support for calling module
+	functions.
+	(Ffunc_arity): Add support for detecting the arity of module
+	functions.
+
+	* src/emacs-module.c (module_make_function): Adapt to new structure.
+	Return module function object directly instead of wrapping it in a
+	lambda; remove FIXME.
+	(funcall_module): New function to call module functions.  Replaces
+	`internal--module-call' and is called directly from eval.c.
+	(syms_of_module): Remove internal helper function, which is no longer
+	needed.
+	(module_function_arity): New helper function.
+
+	* src/data.c (Ftype_of): Adapt to new implementation.
+	(Fmodule_function_p, syms_of_data): New user-visible function.  Now
+	that module functions are first-class objects, they deserve a
+	predicate.  Define it even if not compiled with --enable-modules so
+	that Lisp code doesn't have to check for the function's existence.
+
+	* src/doc.c (Fdocumentation): Support module functions.
+
+	* src/print.c (print_object): Adapt to new implementation.
+
+	* src/alloc.c (mark_object): Specialized garbage collector support is
+	no longer needed.
+
+	* lisp/help.el (help-function-arglist): Support module functions.
+	While there, simplify the arity calculation by using `func-arity',
+	which does the right thing for all kinds of functions.
+
+	* test/data/emacs-module/mod-test.c: Amend docstring so we can test
+	the argument list.
+
+	* test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
+	new docstring.
+	(mod-test-non-local-exit-signal-test): Because `internal--module-call'
+	is gone, the backtrace has changed and no longer leaks the
+	implementation.
+	(module--func-arity): New test for `func-arity'.
+	(module--help-function-arglist): New test for `help-function-arglist'.
+
+2017-05-20  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid crashes in GC due to unescaped characters warning
+
+	* src/lread.c (load_warn_unescaped_character_literals): Don't cons
+	Lisp objects from stack-based variables.  (Bug#26961)
+
+2017-05-20  Charles A. Roelli  <charles@aurox.ch>
+
+	New commands: find-library-other-window, find-library-other-frame
+
+	* lisp/emacs-lisp/find-func.el (find-library-other-window)
+	(find-library-other-frame): New commands to complement the
+	existing 'find-library' command.  (Bug#26712)
+	(read-library-name): New function to read a library name.
+	* etc/NEWS: Mention 'find-library-other-window' and
+	'find-library-other-frame'.
+
+2017-05-20  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix automatic hscrolling of only the current line
+
+	* src/xdisp.c (display_line): When hscrolling only the current
+	line, increment iterator's first_visible_x and last_visible_x
+	values to account for the hscroll.  This propagates the hscroll
+	effect on the iterator geometry all the way down to the
+	subroutines called by display_line, and avoids scrolling bugs
+	under large hscroll values.  (Bug#26994)
+
+2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Add handlerlist assertion to module code
+
+	* src/emacs-module.c (module_reset_handlerlist):
+	Check handlerlist.  Suggested by Philipp Stephani in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
+
+2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port --enable-gcc-warnings to clang 3.9.1
+
+	* configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
+	to shut off a false alarm.  Problem reportd by Philipp Stephani in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
+
+2017-05-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Limit integers printed as characters (Bug#16828)
+
+	* lisp/simple.el (eval-expression-print-maximum-character): New
+	variable.
+	(eval-expression-print-format): Only display value as character if
+	it's less than or equal to `eval-expression-print-maximum-character'.
+	(eval-expression-get-print-arguments): Check
+	eval-expression-print-maximum-character, allow negative arg to
+	override it.
+	(eval-expression):
+	* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
+	(elisp--eval-last-sexp-print-value): Handle new variable.
+	* doc/emacs/building.texi (Lisp Eval): Document new variable and
+	behavior.
+	* etc/NEWS: Announce it.
+	* test/lisp/progmodes/elisp-mode-tests.el
+	(eval-last-sexp-print-format-small-int)
+	(eval-last-sexp-print-format-small-int-echo)
+	(eval-last-sexp-print-format-large-int)
+	(eval-last-sexp-print-format-large-int-echo):
+	* test/lisp/simple-tests.el (eval-expression-print-format-small-int)
+	(eval-expression-print-format-small-int-echo)
+	(eval-expression-print-format-large-int)
+	(eval-expression-print-format-large-int-echo): New tests.
+
+2017-05-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Refactor lisp eval result printing
+
+	* lisp/simple.el (eval-expression-print-format): Don't check
+	`standard-output' or `current-prefix-arg'.
+	(eval-expression-get-print-arguments): New function, centralizes
+	decision about how to print results of `eval-expression' and
+	`eval-last-sexp'.
+	(eval-expression):
+	* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
+	Use it.
+
+2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Check that signed right shift is arithmetic
+
+	* src/data.c (ash_lsh_impl): Verify that signed right shift is
+	arithmetic; if we run across a compiler that uses a logical shift
+	we’ll need to complicate the code before removing this
+	compile-time check.  Help the compiler do common subexpression
+	elimination better.
+
+2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor .gitignore fixes
+
+	* .gitignore: modules/mod-test/Makefile was renamed to
+	test/data/emacs-module/Makefile.
+	Omit [0-9]*.core, subsumed by *.core.
+	test/indent/*.new was renamed to test/manual/indent/*.new.
+	Add *.swp, for Vim.
+
+2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
+
+2017-05-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Describe problems with Microsoft Intellipoint
+
+	* etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
+	mouse-2 events.  For the details, see
+	http://lists.gnu.org/archive/html/help-emacs-windows/2017-05/msg00009.html.
+
+2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
+
+	Fix turning off whitespace-mode
+
+	* lisp/whitespace.el (whitespace-display-char-on): Correct the way
+	the original buffer-display-table is saved and restored when
+	global-whitespace-mode is active.  (Bug#26892)
+
+	* test/lisp/whitespace-tests.el
+	(whitespace-tests-whitespace-mode-on): New function.
+	(whitespace-tests-display-tables): New test.
+
+2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	Minor tweaks in tramp-tests.el
+
+	* test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
+	(tramp-test05-expand-file-name-relative): Use it.
+	(tramp-test38-unload): Run only in batch mode.
+
+2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix a problem with OpenSSH 7 in Tramp
+
+	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
+	"ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
+
+2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
+
+	Improve documentation of 'split-string'
+
+	* doc/lispref/strings.texi (Creating Strings): Rearrange text to
+	make it more readable.  (Bug#26925)
+
+2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
+
+	Fix typos in doc strings
+
+	* lisp/mail/rfc2231.el (rfc2231-encode-string):
+	* lisp/mail/rfc2047.el (rfc2047-encode-parameter):
+	* lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
+	strings.  (Bug#26103)
+
+2017-05-19  Philipp Stephani  <phst@google.com>
+
+	Fix module tests on some systems
+
+	If dladdr(3) isn't available or didn't work, the printed
+	representation of a module function will not include the file name,
+	but only the address.  Make the tests pass in that case.
+
+	* test/src/emacs-module-tests.el (module-function-object): Fix match for
+	module function printed representation
+
+2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
+
+	Add an optional arguments to string-trim
+
+	* lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
+	(string-trim): Add optional args that serve as defaults per the
+	original behavior.  (Bug#26908)
+
+2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
+
+	Fix typo in last change to auto-hscroll-mode
+
+	* lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
+
+2017-05-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Support remote editing in emacsclient via Tramp
+
+	* lib-src/emacsclient.c (main, decode_options)
+	(print_help_and_exit, longopts): New option '--tramp' / '-T' which
+	specifies how emacs should use tramp to find remote files.
+
+	* doc/emacs/misc.texi (TCP Emacs server): New subsection describing
+	the various knobs to tune server.el for TCP opereation.
+	(emacsclient Options): Reference "TCP Emacs server" from description of
+	--server-file.  Document the new '--tramp' / '-T' options.
+	* doc/emacs/emacs.texi (Top): Update the top-level menu.
+
+	* etc/NEWS: Mention the new option.
+
+2017-05-19  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/replace.el (query-replace-regexp-eval): Doc fix.
+
+2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Attempt to work around macOS vfork bug
+
+	Problem reported by YAMAMOTO Mitsuharu in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00342.html
+	This is related to the fix for Bug#26397.
+	* src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
+	Report internal error if wait_for_termination fails.
+	* src/sysdep.c (get_child_status): Return -1 if waitpid is
+	buggy, instead of aborting.
+	(wait_for_termination): Return bool success value.
+	All callers changed.
+
+2017-05-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Adjust defcustom form for 'auto-hscroll-mode'
+
+	* lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
+	defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
+
+2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
+
+	* src/fileio.c (file_name_case_insensitive_p):
+	Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
+	code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
+	Problem reported by Philipp Stephani in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
+
+2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port --enable-gcc-warnings to clang 3.9.1
+
+	* configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
+	Problem reported by Philipp Stephani in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
+
+2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Clean up compiler warning in emacs-module.c
+
+	* src/emacs-module.c (MODULE_SETJMP_1): Use the local var
+	instead of leaving it unused, to pacify picky compilers.
+	(module_reset_handlerlist): Now takes a dummy pointer to a struct
+	handler *, instead of a dummy pointer to an int.  All uses changed.
+
+2017-05-19  Philipp Stephani  <phst@google.com>
+
+	Clean up some compiler warnings
+
+	* src/sysdep.c (system_process_attributes) [DARWIN_OS]:
+	Remove unused locals.
+
+2017-05-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Support hscrolling only the current line
+
+	* src/xdisp.c (hscrolling_current_line_p): New function.
+	(init_iterator): If auto-hscrolling just the current line, don't
+	increment the iterator's first_visible_x and last_visible_x
+	variables.
+	(hscroll_window_tree): Recompute window's hscroll when moving
+	vertically to another screen line.
+	(redisplay_window): If we are hscrolling only the current line,
+	disable the optimizations that rely on the current matrix being
+	up-to-date.
+	(display_line): Accept an additional argument CURSOR_VPOS, the
+	vertical position of the current screen line which might need
+	hscrolling; all callers changed.  Compute first_visible_x and
+	last_visible_x specially when auto-hscrolling current line, by
+	repeating the calculation that is done in init_iterator in other
+	modes.
+	(syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
+	accept a 3rd value 'current-line, to turn on the mode where
+	only the current line is hscrolled.
+
+	* etc/NEWS: Mention the new auto-hscroll-mode value.
+
+2017-05-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix last change in line-move-finish
+
+	* lisp/simple.el (line-move-finish): Fix last change.  This corrects a
+	regression in C-n and C-p when lines are truncated, introduced by the
+	change in 2017-05-10.
+
+2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Expand docstring for CSS mode
+
+	* lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
+	Expand docstrings.
+
+2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
+
+	Use the expression angle units while simplifying it
+
+	Don't use the angle mode, use the angle units included
+	in the expression instead (Bug#23889).
+	* lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
+	(math-simplify): Use it.
+	* lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
+	Don't use calc-angle-mode if math-simplifying-units is non-nil.
+	* lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
+	(math-to-radians-2, math-from-radians-2): Don't convert angle
+	to radians if math-simplifying-units is non-nil.
+	* test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
+
+2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
+
+	Revert "Ignore angle mode while simplifying units"
+
+	This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
+	This commit causes Bug#25652.
+
+2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Avoid undefined behavior in struct sockaddr
+
+	Problem noted by Philipp Stephani in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00391.html
+	* src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
+	New macros.
+	* src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
+	(connect_network_socket, network_interface_info)
+	(server_accept_connection): Use it when aliasing non-char objects.
+
+2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
+
+	Rename from smerge-refine-subst.  Allow the `beg's to be markers.
+	Add autoload cookie.
+	(smerge--refine-forward): Rename from smerge-refine-forward.
+	(smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
+	Assume that its `beg` arg is a marker.
+	(smerge--refine-highlight-change): Rename from
+	smerge-refine-highlight-change.  Remove `buf` arg.
+	(smerge-refine-subst): Redefine as an obsolete alias.
+
+2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Work around AddressSanitizer bug with vfork
+
+	Problem reported by Jim Meyering in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00246.html
+	* src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
+	Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
+	vforked child messes up the parent’s shadow memory.  This is too
+	bad, as we’d rather have AddressSanitizer catch memory-access bugs
+	related to vfork.
+
+2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Catch IPv4/IPv6 issues at compile time
+
+	* src/process.c (connect_network_socket): Use verify,
+	not eassert, so that any problems are caught at compile-time.
+	Avoid dodgy cast by using a local var of the correct type.
+
+2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pacify --enable-gcc-warnings --with-x-toolkit=no
+
+	* src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
+	Avoid unused local.
+
+2017-05-17  Glenn Morris  <rgm@gnu.org>
+
+	* admin/update_autogen (commit): Pull before push.
+
+2017-05-17  Glenn Morris  <rgm@gnu.org>
+
+	autoload-rubric no longer provides a feature by default
+
+	* lisp/emacs-lisp/autoload.el (autoload-rubric):
+	Stop providing a feature unless explicitly requested.
+	(autoload-find-generated-file): Update autoload-rubric call.
+
+2017-05-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Remove redundant code in connect_network_socket
+
+	* src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
+	Remove redundant type-casting and variables.  Don't call
+	'getsockname' to find the port for AF_LOCAL sockets.
+	[AF_INET6]: Add an assertion to verify that the ports in the IPv4
+	and IPv6 structures are at the same offset and have the same size.
+
+2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix minor timezone memory leak
+
+	* src/editfns.c (wall_clock_tz): Remove; unused.
+
+2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not discard AddressSanitizer stderr
+
+	* src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
+	Do not close stderr.
+
+2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify procname code to avoid GCC bug
+
+	* src/process.c (server_accept_connection): Simplify and avoid
+	multiple calls and struct literals in the last case of a switch.
+	The old code ran afoul of GCC bug 80659, which caused an internal
+	compiler error.  Problem reported by Jim Meyering in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00182.html
+	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
+
+2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pacify GCC 7 with --enable-gcc-warnings
+
+	* src/regex.c (regex_compile): Swap labels, so that the
+	FALLTHROUGH immediately precedes the case label.
+
+2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge with gnulib, pacifying GCC 7
+
+	This incorporates:
+	2017-05-16 manywarnings: update for GCC 7
+	2017-05-15 sys_select: Avoid "was expanded before it was required"
+	* configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
+	-Wformat-overflow=2 options, due to too many false alarms.
+	* doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
+	Copy from gnulib.
+	* m4/gnulib-comp.m4: Regenerate.
+	* src/coding.c (decode_coding_iso_2022):
+	Fix bug uncovered by -Wimplicit-fallthrough.
+	* src/conf_post.h (FALLTHROUGH): New macro.
+	Use it to mark all switch cases that fall through.
+	* src/editfns.c (styled_format): Use !, not ~, on bool.
+	* src/gtkutil.c (xg_check_special_colors):
+	When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
+	(xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
+	this bug was actually caught by Clang.
+	* src/search.c (boyer_moore):
+	Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
+	* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
+	Tell GCC that glyph->u.glyphless.ch must be a character.
+
+2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	Make autoloading Tramp more robust
+
+	* lisp/net/tramp.el (tramp-file-name-for-operation):
+	Use `default-directory' where appropriate.
+	(tramp-file-name-handler): Do not autoload.
+	(tramp-autoload-file-name-handler): Reintroduce function.
+	(tramp-register-autoload-file-name-handlers): Use it.
+
+2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	Extend tramp-tests.el
+
+	* test/lisp/net/tramp-tests.el (tramp-change-syntax):
+	Remove declaration, not needed anymore.
+	(tramp-test05-expand-file-name-relative): New test.
+	(tramp-test10-write-region): Extend test.
+
+2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
+
+2017-05-16  Noam Postavsky  <npostavs@gmail.com>
+
+	Make `indent-line-to' respect field boundaries (Bug#26891)
+
+	* lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
+	of `backward-to-indentation'.
+
+2017-05-16  Noam Postavsky  <npostavs@gmail.com>
+
+	Make sure indent-sexp stops at end of sexp (Bug#26878)
+
+	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
+	indenting.
+	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
+	test.
+
+2017-05-16  Glenn Morris  <rgm@gnu.org>
+
+	Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
+
+	* test/lisp/epg-tests.el (with-epg-tests):
+	Also set GNUPGHOME in the environment of child processes.
+	This avoids problems if gpg does not pass --homedir to spawned agent.
+
+2017-05-16  Glenn Morris  <rgm@gnu.org>
+
+	Add oldxmenu to system-configuration-features
+
+	* configure.ac (HAVE_OLDXMENU): New.
+	(emacs_config_features): Add oldxmenu.
+
+2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
+
+	* .gitlab-ci.yml: Adjust disclaimer as per RMS.
+
+2017-05-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Remove unneeded stuff from nt/inc/sys/time.h
+
+	* nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
+	(timercmp, timerclear): Don't define.  Instead, include the system
+	header sys/time.h, and add only the interval timers stuff.  This
+	avoids compiler warnings about 'gettimeofday's prototype, and also
+	avoids redefinition of macros from system headers.
+
+2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix address violation found by AddressSanitizer
+
+	* src/process.c (connect_network_socket):
+	Use struct sockaddr_storage, not struct sockaddr_in, to store info
+	about a socket address.  Problem reported by Philipp Stephani in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00314.html
+	This fix is based on a patch by Philipp in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00357.html
+
+2017-05-14  Gemini Lasswell  <gazally@runbox.com>
+
+	Make edebug-step-in work on generic methods (Bug#22294)
+
+	* lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
+	New function to implement the edebug-form-spec property of
+	the symbol cl-generic-method-args.
+	(edebug-instrument-function): If the function is a generic
+	function, find and instrument all of its methods. Return a list
+	instead of a single symbol.
+	(edebug-instrument-callee): Now returns a list. Update docstring.
+	(edebug-step-in): Handle the list returned by edebug-instrument-callee.
+	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
+	cl-generic-method-args in its Edebug spec.
+	* lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
+	cl-generic-method-args in its Edebug spec.
+	* lisp/subr.el (method-files): New function.
+	* test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
+	(subr-tests--method-files--nonexistent-methods): New tests.
+
+2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-05-14 same-inode: Adapt for windows-stat-inodes
+	2017-05-14 windows-stat-inodes: New module
+	2017-05-14 stat-time: Adapt for windows-stat-timespec
+	* lib/gnulib.mk.in: Regenerate.
+	* lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
+	Copy from gnulib.
+
+2017-05-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Remove gettimeofday from w32 sources
+
+	* lib-src/ntlib.c (gettimeofday):
+	* nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
+	function 'gettimeofday' and all of its supporting code.
+
+2017-05-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the MS-Windows build
+
+	* nt/inc/sys/time.h (gettimeofday):
+	* src/w32.c (gettimeofday): Adjust signature to match Gnulib.
+
+2017-05-14  Eli Zaretskii  <eliz@gnu.org>
+
+	More accurate documentation of the ':box' face attribute
+
+	* doc/lispref/display.texi (Face Attributes): Fix the description
+	of negative width of the ':box' attribute.  (Bug#26920)
+
+2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-05-13 largefile: Simplify
+	2017-05-13 largefile: Improve and document
+	2017-05-13 truncate: New module
+	2017-05-13 windows-stat-timespec: New module
+	2017-05-13 windows-stat-override: New module
+	2017-05-11 getopt-posix: port to mingw
+	2017-05-11 gettimeofday: Increase precision on mingw
+	2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
+	2017-05-10 Implement a way to opt out from MSVC support
+	2017-05-09 tzset: Expand comment about TZ problem on native Windows
+	* build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
+	* lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
+	* lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
+	* lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
+	* m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
+	* m4/unistd_h.m4: Copy from gnulib.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+
+2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
+
+	Merge branch 'fix/bug-21072'
+
+2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
+
+	* .gitlab-ci.yml: Add setup for GitLab CI builds.
+
+2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
+
+	New minor mode 'pixel-scroll-mode'
+
+	* lisp/pixel-scroll.el: New file.
+
+	* etc/NEWS: Mention pixel-scroll-mode.
+
+2017-05-13  Philipp  <phst@google.com>
+
+	Make `old-style-backquotes' variable internal
+
+	* src/lread.c (load_warn_old_style_backquotes, Fload, read1)
+	(syms_of_lread): Rename `old-style-backquotes' to
+	`lread--old-style-backquotes', and clarify that it's for internal
+	use only.
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
+	variable.
+	* test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
+	unit test.
+	* emacs-lisp/bytecomp-tests.el
+	(bytecomp-tests--old-style-backquotes): Add unit test.
+
+2017-05-13  Philipp Stephani  <phst@google.com>
+
+	Improve unescaped character literal warnings
+
+	* src/lread.c (load_warn_unescaped_character_literals)
+	(syms_of_lread):
+	lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
+	formatting of unescaped character literal warnings.
+
+	* test/src/lread-tests.el (lread-tests--unescaped-char-literals):
+	test/lisp/emacs-lisp/bytecomp-tests.el
+	(bytecomp-tests--unescaped-char-literals): Adapt unit tests.
+
+2017-05-12  Alan Mackenzie  <acm@muc.de>
+
+	Fontify C++ for loop variable as variable, even when followed by parentheses
+
+	In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
+	getting fontified as a function, due to insufficient checking of the tokens
+	between it and "()".
+
+	* lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
+	lang-consts/vars.
+
+	* lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
+	declarator's identifier, check for a ":" token inside a for's parentheses, and
+	abort the search for "(" if this is found.
+
+2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
+
+	Make Tramp backward compatible
+
+	* lisp/net/tramp-cmds.el (tramp-change-syntax):
+	Set tramp-autoload cookie.
+
+	* lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
+	startup, if necessary.
+
+	* lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
+	(tramp-register-autoload-file-name-handlers): Do not mark
+	`operations' for `tramp-file-name-handler'.
+	(tramp-register-file-name-handlers): Remove also
+	`tramp-autoload-file-name-handler' for backward compatibility.
+	(tramp-register-foreign-file-name-handler): Use `delete-dups'.
+
+	* test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
+
+2017-05-12  Noam Postavsky  <npostavs@gmail.com>
+
+	Modify `beginning-of-defun-comments'
+
+	* lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
+	in the middle of a multiline comment.
+
+2017-05-12  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix elisp-tests-with-temp-buffer compilation
+
+	* test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
+	Don't refer to the =!NAME= as "markers" since they produce variables
+	with just plain positions, not marker objects.  Explicitly specify
+	that CONTENTS is evaluated at compile time.  Don't re-evaluate
+	CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
+	to BODY not using =!NAME= variables.
+	(elisp-test-point-position-regex): Rename from
+	`elisp-test-point-marker-regex'.
+	(mark-defun-test-buffer): Wrap in `eval-and-compile'.
+
+2017-05-12  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
+
+2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
+
+	Fix Bug#21072 and rework `mark-defun'
+
+	* test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
+	  New variable
+	(mark-defun-no-arg-region-inactive)
+	(mark-defun-no-arg-region-active)
+	(mark-defun-arg-region-active)
+	(mark-defun-pos-arg-region-inactive)
+	(mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
+	the new `mark-defun'.
+
+	* lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
+	  New function.
+	(beginning-of-defun-comments): New function.
+	(mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
+	to accept a numerical prefix argument.
+
+2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
+
+	* lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
+
+2017-05-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve doc strings in net-utils.el
+
+	* lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
+	(route, traceroute, nslookup, ftp, smbclient)
+	(smbclient-list-shares, finger, whois)
+	(network-connection-to-service, network-service-connection)
+	(network-connection-reconnect): Improve doc strings.
+
+2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
+
+	Extend DNS lookup commands to allow specifying the name server
+
+	* lisp/net/net-utils.el (ffap-string-at-point): Removed due to
+	'net-utils-machine-at-point' obviating this autoloaded
+	function (Bug#25426).
+	(dig-program-options): New customization variable.
+	(nslookup-host, dns-lookup-host, run-dig): Can now specify
+	optional name server argument interactively (by prefix arg) and
+	non-interactively.
+
+	* etc/NEWS: Mention the extension of DNS lookup commands.
+
+2017-05-12  Glenn Morris  <rgm@gnu.org>
+
+	Don't hard-code loaddefs files in lisp/Makefile
+
+	* lisp/Makefile.in (loaddefs): New variable.
+	(AUTOGENEL): Use $loaddefs, and include directory.
+	(bootstrap-clean): Update for AUTOGENEL change.
+
+2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Kill modified buffers silently when quitting (bug#26862)
+
+	* lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
+	sure that latest drafts are saved, and kill modified buffers silently.
+
+2017-05-10  Perry E. Metzger  <perry@piermont.com>
+
+	Implement 1-based column numbering in mode line
+
+	* src/xdisp.c (decode_mode_spec): Implement the %C construct.
+
+	* lisp/bindings.el (column-number-indicator-zero-based): New
+	defcustom.
+	(mode-line-position): Use %C when
+	column-number-indicator-zero-based is nil.
+
+	* src/xdisp.c (syms_of_xdisp) <frame-title-format>:
+	* src/buffer.c (syms_of_buffer) <mode-line-format>:
+	* doc/lispref/modes.texi (%-Constructs):
+	* doc/lispref/frames.texi (Frame Titles): Document the %C
+	construct.
+
+	* doc/emacs/display.texi (Optional Mode Line): Document
+	'column-number-indicator-zero-based'.
+
+	* etc/NEWS: Mention 'column-number-indicator-zero-based' and the
+	%C construct.
+
+2017-05-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Ensure cursor's foreground color is in sync with 'default' face
+
+	* src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
+	foreground color is different from the background of the glyph
+	string's face.  (Bug#26851)
+
+2017-05-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix vertical cursor motion when columns are of unequal size
+
+	* lisp/simple.el (line-move-finish): In line-move-visual mode, use
+	vertical-motion to move to the goal column, as the goal column
+	should in that case be interpreted in units of frame's canonical
+	character width.  (Bug#26852)
+
+2017-05-10  Glenn Morris  <rgm@gnu.org>
+
+	Fix finding test .el files
+
+	* test/Makefile.in (ELFILES): Exclude the data/ directory.
+	* test/src/lread-tests.el (lread-test-bug26837): Revert previous.
+
+2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
+
+	Tweak a recent test
+
+	This test fails in my local machine because the data files
+	are compiled, and the test doesn't expect that.
+	* test/src/lread-tests.el (lread-test-bug26837): Match a suffix
+	ending with '.elc' when the data files are compiled.
+
+2017-05-10  Glenn Morris  <rgm@gnu.org>
+
+	Put license information in each generated uni-*.el
+
+	* admin/unidata/unidata-gen.el (unidata-gen-file):
+	Get Copyright line from copyright.html.
+	Put information in file header, not separate README.
+	(unidata-gen-charprop): Mention the source location.
+	* lisp/international/README: Remove file.
+
+2017-05-10  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix lisp-indent-region and indent-sexp (Bug#26619)
+
+	The new lisp-indent-region introduced in 2017-04-22 "Add new
+	`lisp-indent-region' that doesn't reparse the code." is broken because
+	it doesn't save the calculated indent amounts for already seen sexp
+	depths.  Fix this by unifying the indent-sexp and lisp-indent-region
+	code.  Furthermore, only preserve position 2 of the running parse
+	when the depth doesn't change.
+	* lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
+	corresponds with the start point when calling parse-partial-sexp.
+	(lisp-indent-state): New struct.
+	(lisp-indent-calc-next): New function, extracted from indent-sexp.
+	(indent-sexp, lisp-indent-region): Use it.
+	(lisp-indent-line): Take indentation, instead of parse state.
+	* test/lisp/emacs-lisp/lisp-mode-tests.el
+	(lisp-mode-tests--correctly-indented-sexp): New constant.
+	(lisp-indent-region, lisp-indent-region-defun-with-docstring):
+	(lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
+	tests.
+
+2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Simplify url-encode-url and add a test
+
+	* lisp/url/url-util.el (url-encode-url): Simplify.
+	url-generic-parse-url copes with multibyte strings just fine
+	(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
+
+	* test/lisp/url/url-parse-tests.el
+	(url-generic-parse-url/multibyte-host-and-path): New test.
+
+2017-05-10  Glenn Morris  <rgm@gnu.org>
+
+	More informative error when required feature missing
+
+	* src/fns.c (Frequire): Include file name in missing feature error.
+	* doc/lispref/loading.texi (Named Features): Don't quote actual error.
+
+2017-05-10  Glenn Morris  <rgm@gnu.org>
+
+	Put re-loaded file back at start of load-history (bug#26837)
+
+	* src/lread.c (readevalloop): Fix the "whole buffer" check to
+	operate in the correct buffer.
+	(Feval_buffer): Move point back to the start after checking
+	for lexical binding.
+	* test/src/lread-tests.el (lread-test-bug26837): New test.
+	* test/data/somelib.el, test/data/somelib2.el: New test data files.
+
+2017-05-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'gnutls-verify-error'
+
+	* lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
+	doc string.  (Bug#26845)
+
+2017-05-09  Glenn Morris  <rgm@gnu.org>
+
+	Don't duplicate autoload code in package.el
+
+	* lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
+	* lisp/emacs-lisp/package.el (autoload-rubric): Declare.
+	(package-autoload-ensure-default-file): Use autoload-rubric.
+
+2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
+
+	* test/lisp/net/tramp-tests.el: Keep additional test.
+
+2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
+
+	Add elisp-tests-with-temp-buffer, a new testing macro
+
+	* test/lisp/emacs-lisp/lisp-tests.el
+	(elisp-test-point-marker-regex) New variable.
+	(elisp-tests-with-temp-buffer): New macro to help test functions
+	moving the point and/or mark.
+
+2017-05-09  Noam Postavsky  <npostavs@gmail.com>
+
+	Revert "Output number of characters added to file (Bug#354)"
+
+	The extra message text turned out to be quite annoying in practice,
+	and is generally more trouble than it's worth.  Also revert several
+	related changes.
+
+	Partially revert "Handle `write-region' messages in Tramp properly"
+	Revert "New var write-region-verbose, default nil"
+	Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
+	Revert "Minor tuneup of write-region change"
+	Revert "Adjust write-region so file name is at the beginning again"
+	Revert "Fix handling of non-integer START param to write-region"
+	Revert "Output number of characters added to file (Bug#354)"
+
+	* doc/emacs/files.texi (Misc File Ops):
+	* etc/NEWS:
+	* lisp/epa-file.el (epa-file-write-region):
+	* lisp/gnus/mm-util.el (mm-append-to-file):
+	* lisp/jka-compr.el (jka-compr-write-region):
+	* lisp/net/ange-ftp.el (ange-ftp-write-region):
+	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
+	* lisp/net/tramp.el (tramp-handle-write-region-message):
+	* src/fileio.c (write_region, syms_of_fileio):
+	* test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
+	extra characters from file writing messages.
+
+2017-05-09  Noah Friedman  <friedman@splode.com>
+
+	(ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
+	because $ptr is modified by ygetptr and we use $ptr immediately at the
+	beginning.
+
+2017-05-08  Ken Brown  <kbrown@cornell.edu>
+
+	Skip a test from filenotify-tests.el on Cygwin
+
+	* test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
+	Skip the last part of the test on Cygwin; it fails due to timing
+	issues.
+	(file-notify--test-read-event):  Remove `sit-for' that was added
+	for Cygwin.
+
+2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-05-08 intprops: don’t depend on ‘verify’
+	2017-05-07 utimens: on native Windows, improve resolution if fd < 0
+	2017-05-07 utimens: Improve error code on native Windows
+	* lib/intprops.h, lib/utimens.c: Copy from gnulib.
+
+2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
+
+	Fix various verilog-mode.el issues.
+
+	* lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
+	2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
+	(verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
+	logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
+	(verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
+	abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
+	(verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
+	msg2143. Reported by Galen Seitz.
+	(verilog-modify-compile-command): Fix expansion of __FLAGS__ when
+	compile-command is globally set, bug1119.  Reported by Galen Seitz.
+
+2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
+
+	Handle `write-region' messages in Tramp properly
+
+	* lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
+	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
+
+	* lisp/net/tramp.el (tramp-password-prompt-regexp)
+	(tramp-completion-mode-p):
+	* lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
+	(tramp-append-tramp-buffers):
+	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
+	Use `bound-and-true-p'.
+
+	* lisp/net/tramp-compat.el (tramp-compat-delete-file):
+	Don't check for `boundp' anymore.
+
+	* test/lisp/net/tramp-tests.el (ert-x): Require it.
+	(tramp--test-messages): New defvar.
+	(tramp-test10-write-region): Extend test.
+
+2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	Fix glyph string generation for multi-font compositions (Bug#26742)
+
+	* src/xdisp.c (glyph_string_containing_background_width): New function.
+	(draw_glyphs): Use it to get correct background width.
+	(compute_overhangs_and_x): Don't change x in the middle of composite
+	characters.
+
+2017-05-07  Philipp Stephani  <phst@google.com>
+
+	Fix all unescaped character literals
+
+2017-05-07  Alan Mackenzie  <acm@muc.de>
+
+	CC Mode internal cache: Handle a cache pos being inside a two-char construct.
+
+	Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
+	e.g., between the two characters of an opening comment "/*", and additionally
+	there were an odd number of quote marks (apostrophes) in the comment.  This
+	happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
+	buffer position 615001.
+
+	* lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
+	pps-extended-state to mean that there are at least 11 elements in the parser
+	state.
+
+	* lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
+	(c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
+	types which indicate potentially being inside two-char constructs.
+	(c-parse-ps-state-below): Rewrite to use the new versions of the above two
+	functions.
+
+2017-05-07  Glenn Morris  <rgm@gnu.org>
+
+	Silence an mh-compat compiler warning
+
+	* lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
+
+2017-05-07  Glenn Morris  <rgm@gnu.org>
+
+	Evaluate mh-require when compiling
+
+	* lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
+	* lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
+	Evaluate mh-require when compiling, as require is automatically.
+	* lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
+
+2017-05-07  Glenn Morris  <rgm@gnu.org>
+
+	Remove obsolete method of changing byte-compile-dest-file
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
+	Define unconditionally.
+
+2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	New var write-region-verbose, default nil
+
+	By popular demand, write-region char counts are now off by default
+	(Bug#26796).
+	* src/fileio.c (write-region-verbose): New Lisp var.
+	(write_region): Output char count only if the var is non-nil.
+	* doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
+
+2017-05-07  Glenn Morris  <rgm@gnu.org>
+
+	Write autoloads file atomically
+
+	* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
+	New function, to save buffer atomically.
+	(autoload-save-buffers, update-directory-autoloads):
+	Use autoload--save-buffer.
+	* lisp/Makefile.in ($(lisp)/loaddefs.el):
+	No longer write to a temp file by hand.
+
+2017-05-07  Glenn Morris  <rgm@gnu.org>
+
+	Write autoloads file once only
+
+	* lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
+	Simplify.  Don't bother about ensuring the output file exists.
+	(autoload-generated-file): Add doc.
+	(autoload-ensure-writable): Update doc.
+	(autoload-ensure-file-writeable): Handle non-existing file.
+	(autoload-ensure-default-file): Remove function.
+
+2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port .gdbinit to GDB 7.11.1 + Python 2.7.12
+
+	* src/.gdbinit (Lisp_Object_Printer.to_string):
+	Explicitly convert integer val to 'int', so that
+	older GDBs do not complain about the conversion.
+	* src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
+	Give the struct a tag, so that older GDB pretty-printers have a
+	tag to hang their hat on.
+
+2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pretty-print const Lisp_Objects in .gdbinit
+
+	* src/.gdbinit (Emacs_Pretty_Printers.__call__):
+	Compare unqualified type to Lisp_Object, to do the right thing
+	when the expression has type ‘Lisp_Object const’.
+	Problem reported by Eli Zaretskii in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00138.html
+
+2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pacify GCC setjmp/longjmp warning
+
+	* src/eval.c (internal_lisp_condition_case): Do not modify local
+	var VAR, to pacify GCC’s setjmp/longjmp warning which in some
+	cases mistakenly diagnoses VAR possibly being modified between a
+	setjmp and a longjmp.
+
+2017-05-06  Philipp  <phst@google.com>
+
+	Fix bootstrap build of files.el
+
+	* lisp/files.el (file-name-non-special): Don't use cl-letf.
+
+2017-05-06  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix last change for MS-Windows
+
+	* test/src/emacs-module-tests.el (module-function-object): Port to
+	MS-Windows.
+
+2017-05-06  Philipp Stephani  <phst@google.com>
+
+	Introduce new misc type for module function
+
+	This resolves a couple of FIXMEs in emacs-module.c.
+
+	* src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
+
+	* src/alloc.c (make_module_function): New function.
+	(mark_object): GC support.
+
+	* src/data.c (Ftype_of, syms_of_data): Handle module function type.
+
+	* src/print.c (print_object): Print support for new type.
+
+	* src/emacs-module.c (module_make_function, Finternal_module_call):
+	Use new module function type, remove FIXMEs.
+	(module_format_fun_env): Adapt and give it external linkage.
+
+	* test/src/emacs-module-tests.el (module-function-object): Add unit
+	test.
+
+2017-05-06  Philipp Stephani  <phst@google.com>
+
+	Fix quoted files for 'verify-visited-file-modtime'
+
+	Fixes Bug#25951.
+
+	* lisp/files.el (file-name-non-special): Set the file name for the
+	correct buffer.
+
+	* test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
+	Add unit test.
+	(files-tests--with-advice, files-tests--with-temp-file): New helper
+	macros.
+
+2017-05-06  Eli Zaretskii  <eliz@gnu.org>
+
+	* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
+
+2017-05-06  Eli Zaretskii  <eliz@gnu.org>
+
+	Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
+
+	* src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
+	ENABLE_CHECKING is defined.
+	(mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
+	instead of being defined.
+
+2017-05-06  Tom Tromey  <tom@tromey.com>
+
+	Fix erc-join with channel password
+
+	Bug#25349
+	* lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
+	server names.
+	(erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
+	Likewise.
+	(erc-server-join-channel): Move to erc.el.
+	* lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
+	(erc-cmd-JOIN): Use erc-server-join-channel.
+
+2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
+
+	Ensure the created temp file in a test is new
+
+	* test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
+	to create the temp file.
+
+2017-05-06  Glenn Morris  <rgm@gnu.org>
+
+	Decruftify dns-mode.el a little bit
+
+	* lisp/textmodes/dns-mode.el (dns-mode-control-entities):
+	New constant.
+	(dns-mode-control-entity, dns-mode-bad-control-entity)
+	(dns-mode-type, dns-mode-class): New faces.
+	(dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
+	(dns-mode-type-face, dns-mode-class): Make these variables use the
+	new faces, and mark as obsolete.
+	(dns-mode-font-lock-keywords): Use dns-mode-control-entities.
+
+2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pretty-print Lisp_Object values in GDB
+
+	* src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
+	GDB displays them as "XIL(0xXXX)" rather than displaying them
+	as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
+	otherwise.
+
+2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
+
+	Tweak dns-mode font-lock
+
+	* lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
+	Highlight $TTL as a control entity.  (Bug#26780)
+
+2017-05-05  Glenn Morris  <rgm@gnu.org>
+
+	Fontify the doc-string in some CL forms as such
+
+	* lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
+	Add the doc-string-elt property.  (Bug#26778)
+
+2017-05-05  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
+
+2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
+
+	cl-defmethod: Make the edebug spec more technically correct
+
+	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
+	edebug spec part for qualifiers as [&rest atom], per
+	http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00053.html.
+
+2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
+
+	Fix MH-E not to load cl at runtime (Bug#25552)
+
+	* lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
+	compile time, whether the target is bound.
+	* lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
+	mh-acros at compile time.
+	Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
+	<npostavs@users.sourceforge.net>
+
+2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
+
+	Multiline support in NS "Open Selected File" service.
+
+	* lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
+	original call in a (split-string) to create as many calls as there
+	are lines.
+	(ns-spi-service-call): Call `ns-open-file-service' instead of
+	`dnd-open-file'.
+
+2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
+
+	Require cl-lib at runtime in vc-hg
+
+	* lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
+
+2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
+
+	Inherit incompatible/obsolete package faces from error
+
+	Don't use the same face for installed packages as for incompatible
+	or obsolete ones.
+	* lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
+
+2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
+
+	Set process property `adjust-window-size-function' to `ignore' in Tramp
+
+	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
+	(tramp-adb-maybe-open-connection):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
+	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
+	(tramp-maybe-open-connection):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+	(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
+	(tramp-smb-maybe-open-connection): Set process property
+	`adjust-window-size-function' to `ignore'.
+
+2017-05-04  Nicolas Petton  <nicolas@petton.fr>
+
+	* lisp/emacs-lisp/seq.el: Bump seq version.
+
+2017-05-04  Damien Cassou  <damien@cassou.me>
+
+	Add seq-set-equal-p to test for set equality
+
+	* lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
+	  two lists as if they were sets.
+
+	* test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
+	  for seq-set-equal-p.
+
+2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Spelling fixes
+
+	* lisp/gnus/nndiary.el (nndiary-last-occurrence):
+	Rename from nndiary-last-occurence.
+	(nndiary-next-occurrence):
+	Rename from nndiary-next-occurence.  All uses changed.
+
+2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from pkg-config
+
+	* m4/pkg.m4: Copy from pkg-config 0.29.1.
+
+2017-05-04  Tom Tromey  <tom@tromey.com>
+
+	Add color highlighting to css-mode
+
+	Bug#25525
+	* lisp/textmodes/css-mode.el (css--color-map): New constant.
+	(css-value-class-alist): Use css--color-map.
+	(css--number-regexp, css--percent-regexp)
+	(css--number-or-percent-regexp, css--angle-regexp): New constants.
+	(css--color-skip-blanks, css--rgb-color, css--hsl-color): New
+	functions.
+	(css--colors-regexp): New constant.
+	(css--hex-color, css--named-color, css--compute-color)
+	(css--contrasty-color, css--fontify-colors)
+	(css--fontify-region): New functions.
+	(css-mode): Set font-lock-fontify-region-function.
+	(css-mode-syntax-table): Set syntax on more characters.
+	(css-fontify-colors): New defcustom.
+	(scss-mode-syntax-table): Define syntax for ?$ and ?%.
+	* test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
+	Update.
+	(css-test-rgb-parser, css-test-hsl-parser)
+	(css-test-named-color): New tests.
+	* etc/NEWS: Add entry.
+
+2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#26763
+
+	* lisp/files.el (delete-directory): Call file name handler
+	with `trash' argument.
+
+	* lisp/net/ange-ftp.el (ange-ftp-delete-directory):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
+	Add TRASH arg.  Implement it.  (Bug#26763)
+	(tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
+
+	* lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
+	Add _TRASH arg.
+
+2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use ptrdiff_t, not int, for stack sizes
+
+	* src/thread.c (invoke_thread_function):
+	* src/xterm.c (x_cr_export_frames):
+	Don’t assume SPECPDL_INDEX fits in ‘int’.
+
+2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Check list object type if --enable-gcc-warnings
+
+	* configure.ac (--enable-check-lisp-object-type):
+	Default to "yes" if --enable-gcc-warnings is not "no".
+	* etc/NEWS: Mention this.
+	* src/eval.c (internal_lisp_condition_case): Fix some glitches
+	with 'volatile' uncovered by the above: in particular, 'clauses'
+	should be a pointer to volatile storage on the stack, and need not
+	be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
+	Don’t bother gathering binding count if VAR is nil.  Use
+	more-specific local names to try to clarify what’s going on.
+
+2017-05-02  Glenn Morris  <rgm@gnu.org>
+
+	Tweak auth-source-pass.el to avoid run-time subr-x
+
+	* lisp/auth-source-pass.el (auth-source-pass--parse-data):
+	Avoid needing subr-x at run-time.
+
+2017-05-02  Charles A. Roelli  <charles@aurox.ch>
+
+	Constrain non-child frames to screen area in OS X
+
+	* src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
+	frames in OS X, if they would otherwise go offscreen.
+
+	(Bug#25818)
+
+2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix error in completion for separate Tramp syntax
+
+	* lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
+	Tweak regexp.
+
+	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
+	Run method and host name completion for all syntaxes.
+
+2017-05-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid compilation warnings
+
+	* src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
+	* src/w32term.c (x_draw_glyph_string):
+	* src/w32fns.c (compute_tip_xy):
+	* src/w32font.c (w32font_text_extents):
+	* src/w32menu.c (set_frame_menubar):
+	* src/search.c (Freplace_match): Avoid compiler warnings in
+	optimized builds.
+
+2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-05-02 utimens: port to Emacs + MS-Windows
+	* lib/utimens.c: Copy from gnulib.
+
+2017-05-02  Gemini Lasswell  <gazally@runbox.com>
+
+	Fix Edebug specs for 'cl-defmethod' and 'defmethod'
+
+	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
+	to make Edebug generate a new symbol for each method (Bug#24753) and
+	to support a string following :extra (Bug#23995).
+	* lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
+	make Edebug generate a new symbol for each method (Bug#24753).
+
+2017-05-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Temporary fix for the MS_Windows build
+
+	* nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
+	to be consistent with Gnulib's utimens.c.  This is because utimens.c
+	unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
+	previous definition here conflicted with that.
+
+2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port format-time-string to MS-Windows better
+
+	* test/src/editfns-tests.el (format-time-string-with-zone):
+	Port test cases to MS-Windows.
+
+2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-05-01 New module 'localtime-buffer'
+	2017-04-30 utimens: Add support for native Windows
+	* admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
+	* configure.ac (tzset): No need for Emacs itself to check now.
+	* lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
+	* m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lib/localtime-buffer.c, lib/localtime-buffer.h:
+	* m4/localtime-buffer.m4: New files, copied from gnulib.
+	* src/editfns.c (init_editfns): Assume tzset is callable.
+
+2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Speed up project-find-regexp for simple regexps
+
+	* lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
+	New function.
+	(xref--collect-matches): Use it.  Don't try to enable the
+	appropriate major mode and file-local variables if the regexp
+	does not depend on the buffer's syntax (bug#26710).
+	(xref--collect-matches-1): Don't syntax-propertize in that
+	case either.
+
+2017-05-01  Philipp Stephani  <phst@google.com>
+
+	Warn about missing backslashes during load
+
+	* src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
+	(syms_of_lread): Warn if unescaped character literals are
+	found (Bug#20152).
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
+	unescaped character literals during byte compilation.
+	* test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
+	unit test.
+	(lread-tests--with-temp-file, lread-tests--last-message): Helper
+	functions for unit test.
+	* test/lisp/emacs-lisp/bytecomp-tests.el
+	(bytecomp-tests--unescaped-char-literals): New unit test.
+	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
+	Helper macro for unit test.
+
+2017-05-01  Ken Brown  <kbrown@cornell.edu>
+
+	* configure.ac: Suggest Mailutils on Cygwin.
+
+2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t stress-test time zones near the Epoch
+
+	* test/src/editfns-tests.el (format-time-string-with-zone)
+	(format-time-string-with-outlandish-zone): Don’t format
+	timestamps near the Epoch, as this runs into bugs on MS-Windows,
+	and we don’t want to worry about those bugs.
+
+2017-05-01  Glenn Morris  <rgm@gnu.org>
+
+	Tweak vc-tests.el for bzr
+
+	* test/lisp/vc/vc-tests.el (vc-test--working-revision):
+	Handle test environments where HOME does not exist.
+
+2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
+
+	vc-git-state: Return `ignored' as appropriate with newer Git
+
+	* lisp/vc/vc-git.el
+	(vc-git--program-version): New variable.
+	(vc-git--program-version): New function.
+	(vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
+
+2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
+
+	vc-git-state: Bring back CentOS 6 compatibility
+
+	* lisp/vc/vc-git.el (vc-git-state):
+	Bring back CentOS 6 compatibility (bug#19343).
+
+2017-05-01  Martin Rudalics  <rudalics@gmx.at>
+
+	Rewrite w32fns.c's `x_set_menu_bar_lines'
+
+	* src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
+	regardless of whether menu bar is added or removed.  Clear
+	under internal border iff a W32 window exists.  Store either 0
+	or 1 as new parameter value.
+	(x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
+	FRAME_X_WINDOW.
+
+2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix filenotify-tests.el for cygwin
+
+	* test/lisp/filenotify-tests.el (file-notify--test-read-event):
+	Add an additional `sit-for'.
+	(file-notify-test02-rm-watch): Add an additional
+	`file-notify--test-read-event' call.
+
+2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
+
+	Speed up vc-git-status and make it more precise
+
+	* lisp/vc/vc-git.el (vc-git-state)
+	(vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
+	'git status', so that 'vc-git-state' can now return 'ignored',
+	'conflict', or 'unregistered' when appropriate.  Discussed in
+	bug#26066.  Fixes bug#19343.
+
+2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Fix Git revision navigation in currently removed directories
+
+	* lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
+	default-directory because FILE's parent directory might not exist
+	anymore (bug#26345).
+
+2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-04-30 strftime-fixes: New module
+	2017-04-30 mktime: Work around TZ problem on native Windows
+	2017-04-30 ctime, localtime: New modules
+	2017-04-30 gettimeofday: Provide higher resolution on native Windows
+	2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
+	2017-04-29 Make use of module 'utime-h'
+	2017-04-30 Fix a few typos
+	* admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
+	* lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
+	* m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
+	* m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
+	Copy from gnulib.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+
+2017-04-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Don't lose key bindings on mis-spelled text in flyspell-mode
+
+	* lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
+	explicitly.
+	(make-flyspell-overlay): If the mis-spelled text already has a
+	'keymap' property, make that keymap the parent of
+	flyspell-mouse-map, so as not to lose the parent's bindings.
+	(Bug#26672)
+
+2017-04-30  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix `delete-frame' behavior including Bug#26682
+
+	* src/frame.c (other_frames): Accept two arguments now.  Don't
+	care about minibuffer window.  Don't care about visibility when
+	called from delete_frame with FORCE true (Bug#26682).
+	(delete_frame, Fmake_frame_invisible): Adjust other_frames
+	calls.
+	* src/w32term.c (w32_read_socket): Don't add a move frame event
+	for an invisible frame.
+	* lisp/frame.el (handle-delete-frame): Don't kill Emacs when
+	attempting to delete a surrogate minibuffer frame.
+
+2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This avoids incorporating the following, which I suspect are
+	more trouble for Emacs than they’re worth:
+	2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
+	* admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
+
+2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix buffer overflow in make-docfile
+
+	* lib-src/make-docfile.c (scan_c_stream): Check for buffer
+	overflow when reading an identifier.  Use a static buffer for NAME
+	rather than a small dynamically-allocated buffer.
+
+2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
+	* lib/getopt-pfx-ext.h: Copy from gnulib.
+	* lib/gnulib.mk.in: Regenerate.
+
+2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix dependency error during bootstrap
+
+	* lisp/files.el: Require pcase and easy-mmode at compile time.
+
+2017-04-30  Mats Lidell  <mats.lidell@cag.se>
+
+	* etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
+
+2017-04-29  Philipp Stephani  <phst@google.com>
+
+	Reimplement auto-saving to visited files
+
+	This reacts to confusing behavior of 'auto-save-visited-file-name',
+	cf. Bug#25478.
+
+	* lisp/files.el (auto-save-visited-interval): New customization option.
+	(auto-save-visited-mode): New global minor mode.
+	(auto-save-visited-file-name): Make obsolete.
+	(auto-save--timer): New internal helper variable.
+
+	* doc/emacs/files.texi (Auto Save Files): Document
+	'auto-save-visited-mode' instead of obsolete
+	'auto-save-visited-file-name'.
+	(Auto Save Control): Document customization option
+	'auto-save-visited-interval'.
+
+2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Allow bypassing of some checks when merging
+
+	* build-aux/git-hooks/pre-commit: Don't check merged-in changes.
+
+2017-04-29  Philipp Stephani  <phst@google.com>
+
+	Integrate module test with normal test suite
+
+	* test/Makefile.in (ELFILES): Exclude module test if modules aren't
+	configured.
+	(EMACS_TEST_DIRECTORY): Expand test directory so that it's set
+	correctly even if Emacs changes the current directory.
+	($(srcdir)/src/emacs-module-tests.log)
+	($(test_module)): Proper dependency tracking for test module.
+
+	* test/data/emacs-module/Makefile (ROOT): Adapt to new location.
+	Remove 'check' target and EMACS variable, which are no longer
+	necessary.
+	(SO): Change to include period.
+
+	* test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
+	environment variable to reliably find test data.
+
+	* configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
+	substitutions.
+
+2017-04-28  Glenn Morris  <rgm@gnu.org>
+
+	Broaden comint-password-prompt-regexp
+
+	* lisp/comint.el (comint-password-prompt-regexp):
+	Broaden the regexp, for non-English locales.  (Bug#26698)
+
+2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
+
+2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
+
+	Don't pass the value of point to 'push-mark', as that's the default.
+
+	* lisp/textmodes/bib-mode.el (mark-bib):
+	* lisp/simple.el (mark-whole-buffer, yank):
+	* lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
+	* lisp/progmodes/xscheme.el (xscheme-yank):
+	* lisp/progmodes/verilog-mode.el (verilog-mark-defun):
+	* lisp/progmodes/perl-mode.el (perl-mark-function):
+	* lisp/progmodes/pascal.el (pascal-mark-defun):
+	* lisp/progmodes/meta-mode.el (meta-mark-defun):
+	* lisp/progmodes/icon.el (mark-icon-function):
+	* lisp/progmodes/cc-cmds.el (c-mark-function):
+	* lisp/obsolete/vip.el (ex-goto):
+	* lisp/obsolete/vi.el (vi-put-before):
+	* lisp/mouse.el (mouse-yank-primary):
+	* lisp/menu-bar.el (menu-bar-select-yank):
+	* lisp/mail/sendmail.el (mail-yank-original):
+	* lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
+	* lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
+	(viper-mark-end-of-buffer):
+	* lisp/cedet/semantic/senator.el (senator-mark-defun):
+	* lisp/allout.el (allout-mark-topic): Remove unnecessary argument
+	`(point)' from calls to `push-mark'.  (Bug#25565)
+
+2017-04-28  Glenn Morris  <rgm@gnu.org>
+
+	Merge from origin/emacs-25
+
+	784602b1050 (origin/emacs-25) ; Add release notice
+	3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
+	56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
+	2b0d1118199 ; CONTRIBUTE: Remove stray header.
+	f2ab09ec60d Fix a typo in indexing the user manual
+	bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
+	a6d50401b4b Document 'line-pixel-height'
+	0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
+	c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
+	856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
+	849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
+	84938d79698 default-directory: Remark that it must be a directory name
+	3f0d047d2eb Delete confuse statement in manual
+	ee1bd94dd0c Improve packaging documentation
+	fb18bff91f0 Expand manual section on quitting windows
+	9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
+	afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
+	ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
+	d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
+	e0e9db4c84a ; Spelling fix
+
+	# Conflicts:
+	#	README
+	#	etc/AUTHORS
+	#	etc/HISTORY
+	#	lisp/ldefs-boot.el
+
+2017-04-28  Glenn Morris  <rgm@gnu.org>
+
+	* doc/misc/auth.texi: Commas don't work in node names.
+
+	* test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
+
+2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Test format-time-string with zone arg
+
+	* test/src/editfns-tests.el (format-time-string-with-zone)
+	(format-time-string-with-outlandish-zone): New tests.
+
+2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-04-24 time_rz: fix heap buffer overflow vulnerability
+	2017-04-23 stat-time: Update comments.
+	2017-04-22 ftoastr: cite a newer paper
+	2017-04-21 gettext-h: Avoid -Wundef warning.
+	* lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
+	* m4/getopt.m4: Copy from gnulib.
+	* m4/gnulib-comp.m4: Regenerate.
+
+2017-04-27  Damien Cassou  <damien@cassou.me>
+
+	auth-source-pass: Add documentation; fix tests and indentation.
+
+	* doc/misc/auth.texi: Document new integration with Pass. Use @itemize
+	  instead of @enumerate.
+	* lisp/auth-source-pass.el: Fix indentation.
+	  (auth-source-pass--remove-directory-name): Remove.
+	* test/lisp/auth-source-pass-tests.el: Adjust test macros.
+
+2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
+
+	auth-source-pass: Enable finding entries by "host/username"
+
+	* lisp/auth-source-pass.el: Enable finding entries by "host/username".
+	* test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
+
+2017-04-27  Damien Cassou  <damien@cassou.me>
+
+	Integrate auth-source with password-store
+
+	* lisp/auth-source-pass.el: auth-source backend for password-store.
+	* test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
+	  behavior.
+
+2017-04-27  Damien Cassou  <damien@cassou.me>
+
+	* lisp/auth-source.el: Document parser functions.
+
+2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
+
+	auth-source: factor out parsers and add tests
+
+	* lisp/auth-source.el: Factor out the source parsers. Clean up comments.
+	* test/lisp/auth-source-tests.el: Add tests.
+
+2017-04-27  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix doc and customization type of `window-combination-limit' (Bug#26673)
+
+	* src/window.c (Vwindow_combination_limit): Fix doc-string.
+	* lisp/cus-start.el (window-combination-limit): Fix
+	customization type.
+	* doc/lispref/windows.texi (Recombining Windows): Fix
+	documentation of `window-combination-limit'.
+
+2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
+
+	Drop face from hi-lock--unused-faces only when used
+
+	* lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
+	highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
+	* test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
+
+2017-04-26  Alan Third  <alan@idiocy.org>
+
+	Fix macOS version check (bug#26664)
+
+	* src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
+	macOS versions 10.12+.
+
+2017-04-26  Glenn Morris  <rgm@gnu.org>
+
+	Make charprop.el provide a feature
+
+	* admin/unidata/unidata-gen.el (unidata-gen-charprop):
+	Provide a feature.
+	* lisp/loadup.el: Use the charprop feature.
+
+2017-04-26  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/loadup.el: Get charprop.el into etc/DOC again.
+
+2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/ido.el (ido-everywhere): Use add-function.
+
+2017-04-26  Martin Rudalics  <rudalics@gmx.at>
+
+	Try to fix latest fix of w32_mouse_position
+
+	* src/w32term.c (w32_mouse_position): Fix a bug introduced by
+	latest fix and try to make the affected code more rigorous.
+
+2017-04-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid segfaults when 'find-font' is invoked for a TTY frame
+
+	* src/font.c (font_pixel_size): Don't call GUI functions if F is a
+	text-mode frame.  (Bug#26646)
+
+2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
+
+	New defun.
+
+2017-04-26  Glenn Morris  <rgm@gnu.org>
+
+	* src/Makefile.in (leimdir): Remove variable, no longer used.
+
+2017-04-26  Glenn Morris  <rgm@gnu.org>
+
+	Generate leim-list via lisp/Makefile, not src/Makefile
+
+	* src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
+	(emacs$(EXEEXT)): Don't depend on leim-list.
+	* lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
+
+2017-04-25  Alan Third  <alan@idiocy.org>
+
+	Fix define for GNUstep builds
+
+	* src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
+	doesn't see the code.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Suppress intermittent test failure on hydra
+
+	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
+	(eieio-test-method-order-list-6): Skip on hydra.
+
+2017-04-25  Alan Third  <alan@idiocy.org>
+
+	Fix some NS frame handling issues
+
+	* src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
+	defines intended to make things tidier.
+	(x_set_undecorated): Use the new defines.
+	(windowWillResize): Don't use new macOS 12+ only feature.
+	(initFrameFromEmacs): Use the new defines, and disable automatic
+	window tabbing feature in macOS 12.
+	(x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
+	x_set_z_group): Add NSTRACE notices.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Avoid parallel race condition
+
+	* lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Generate each unicode lisp file independently
+
+	This is better for parallel builds, eg it eliminates race
+	conditions from having one process write multiple files.
+	* admin/unidata/Makefile.in (lparen, unifiles): New variables.
+	Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
+	(all): Explicitly list the output lisp files.
+	(PHONY_EXTRAS): Remove.
+	(${unidir}/charprop.el): Change rule to just be for this file.
+	(${unifiles}): New rule to write each unicode lisp file.
+	(extraclean): Simplify.
+	* admin/unidata/unidata-gen.el (unidata-gen-charprop):
+	Quieten in batch mode.
+	(unidata-gen-files): Remove, no longer used.
+	* lisp/loadup.el: Update command-line parser.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Further refactoring in unidata-gen.el
+
+	* admin/unidata/unidata-gen.el (unidata-gen-charprop):
+	New function, split from unidata-gen-files.
+	(unidata-gen-files): Use unidata-gen-charprop.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Allow unidata-gen-file to work independently
+
+	* admin/unidata/unidata-gen.el (unidata-gen-file):
+	Make it work as a stand-alone function in batch mode.
+	(unidata-gen-files): Pass extra arguments to unidata-gen-file.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Preparatory refactoring in unidata-gen.el
+
+	* admin/unidata/unidata-gen.el (unidata-gen-file):
+	New function, split from unidata-gen-files.
+	(unidata-gen-files): Use unidata-gen-file.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Write each generated character property lisp file only once
+
+	* admin/unidata/unidata-gen.el (unidata-file-alist):
+	Rename from unidata-prop-alist.  All users changed.
+	Use file name rather than property name as the key.
+	(unidata-prop-prop): New function.
+	(unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
+	(unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
+	Change to parse the argument rather than unidata-prop-alist.
+	(unidata-gen-table-character, unidata-gen-table)
+	(unidata-gen-table-symbol, unidata-gen-table-integer)
+	(unidata-gen-table-numeric, unidata-gen-table-word-list)
+	(unidata-gen-table-name, unidata-gen-table-decomposition)
+	(unidata-gen-table-special-casing): Pass index as an argument.
+	(unidata-check): Adapt to unidata-file-alist.
+	Pass index to generator functions.
+	(unidata-gen-files): Adapt to unidata-file-alist.
+	Write each output file once only.  Overwrite rather than delete.
+
+2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
+
+	Fix requesting sparse articles in gnus
+
+	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
+	sparse article number from the list, not its id.
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Don't advertise s_client in tls.el docs
+
+	* lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
+	Don't mention s_client in docs.
+
+2017-04-25  Rob Browning  <rlb@defaultvalue.org>
+
+	Remove s_client usage from tls.el
+
+	* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
+	Ref http://bugs.debian.org/766397
+	http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
+
+2017-04-25  Glenn Morris  <rgm@gnu.org>
+
+	Further robustify cedet bootstrap to loaddefs not yet built
+
+	* lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
+	Avoid void-function error when bootstrapping and semantic/loaddefs.el
+	does not yet exist.
+
+2017-04-24  Alan Third  <alan@idiocy.org>
+
+	Fix XBM colour rendering in NS port (bug#22060)
+
+	src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
+
+2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
+
+	Add support for IRCv3 message tags.
+
+	* erc-backend.el:
+	  erc-response: Add `tags' element.
+	  Add (erc-parse-tags).
+	  (erc-parse-server-response): Use (erc-parse-tags) to parse message
+	  tags (if any), and store them in `erc-resopnse' struct.
+
+	* erc.el: (erc-display-message): Expose message tags with text
+	  properties of the corresponding message line.
+
+2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Add image sizing tests for an image that's narrow
+
+	Needlessly refactor tests for clarity
+
+2017-04-23  Philipp Stephani  <phst@google.com>
+
+	Add missing remappings for Ido mode
+
+	Among others, add a remapping for C-x 4 d, cf. Bug#26360.
+
+	* lisp/ido.el (ido-mode): Remap missing commands.
+	(ido-file-internal, ido-visit-buffer): Add support for new
+	methods.
+	(ido-display-buffer-other-frame)
+	(ido-find-alternate-file-other-window, ido-dired-other-window)
+	(ido-dired-other-frame): New commands.
+
+	* test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
+	test for the bindings.
+
+2017-04-23  Martin Rudalics  <rudalics@gmx.at>
+
+	Let w32_mouse_position pick a child window only if it has a child frame
+
+	* src/w32term.c (w32_mouse_position): When using a frame found
+	by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
+	maybe).
+
+2017-04-23  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't require bytecomp for running ert tests
+
+	"Fix ert-tests when running compiled" 2016-12-06 accidentally
+	introduced a dependency on `bytecomp' into `ert'.  As mentioned in
+	"Avoid ert test failures" 2017-04-18, the accidental dependency of ert
+	on bytecomp was masked by loading other libraries until recently.
+
+	* lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
+	`byte-compile-macro-environment' if it's bound.
+	* test/src/eval-tests.el: Add defvar for dynamic variable
+	`byte-compile-debug'.
+
+2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
+
+	Eliminate unneeded warp-to-article in gnus article referral
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
+	(gnus-summary-refer-article): Remove gnus-warp-to article call.
+
+2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
+
+	Allow limiting gnus summary buffers to a thread
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
+	an optional argument to allow limiting the summary buffer to just the
+	thread-related articles.
+	(gnus-refer-thread-limit-to-thread): Introduce customizable variable
+	to control whether thread-referral adds the thread to the summary
+	buffer or limits to just the thread.
+	(gnus-summary-refer-thread): Use the new variable.
+
+2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
+
+	Correct gnus-newsgroup-limits in gnus when including thread
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
+	only add one list of thread-related articles to gnus-newsgroup-limits
+	rather than two.
+
+2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
+
+	Improve gnus thread matching of similar subjects
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
+	Use the more liberal gnus-general-simplify-subject regexp to
+	find thread articles with similar subjects.
+
+2017-04-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Add new `lisp-indent-region' that doesn't reparse the code.
+
+	Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
+	to get initial state, so they will no longer indent string literal
+	contents.
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
+	`syntax-ppss', but with a more dependable item 2.
+	(lisp-indent-region): New function, like `indent-region-line-by-line'
+	but additionally keep a running parse state to avoid reparsing the
+	code repeatedly.  Use `lisp-ppss' to get initial state.
+	(lisp-indent-line): Take optional PARSE-STATE argument, pass it to
+	`calculate-lisp-indent', use `lisp-ppss' if not given.
+	(lisp-mode-variables): Set `indent-region-function' to
+	`lisp-indent-region'.
+
+2017-04-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Remove ignored argument from lisp-indent-line
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
+	argument, the behavior has long since been handled in
+	`indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
+	variables and use `indent-line-to'.
+
+2017-04-22  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
+
+2017-04-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't reparse the sexp in indent-sexp (Bug#25122)
+
+	* lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
+	PARSE-START be a parse state that can be reused.
+	(indent-sexp): Pass the running parse state to calculate-lisp-indent
+	instead of the sexp beginning position.  Saving the
+	CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
+	needed.  Don't bother stopping if we don't descend below init-depth,
+	since we now alway scan the whole buffer (via syntax-ppss) anyway.
+	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
+	line to test case.
+
+2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
+
+	Add cond test cases for singleton clauses.
+
+	* test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
+	  the default clause is a single non-nil expression.
+
+2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
+
+	b-c--cond-jump-table-info: Use correct body for singleton clauses
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
+	When a clause's body consists of a single constant expression, use
+	that expression as the body to be compiled. This fixes switch bytecode
+	evaluating to nil to such clauses.
+
+2017-04-22  Philipp Stephani  <phst@google.com>
+
+	ffap: Don't switch window unless needed
+
+	When using ffap-other-window, don't change the window configuration
+	unless a new buffer has actually been created (Bug#25352).
+
+	* lisp/ffap.el (ffap-other-frame): Don't change the window
+	configuration if no new buffer has been created.
+	* test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
+	test.
+
+2017-04-22  Alan Mackenzie  <acm@muc.de>
+
+	Fix fontification of C++ declaration with type FOO::FOO.
+
+	* lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
+	cfd-top-level properly.
+	(c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
+	before deciding it is a constructor.
+
+	* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
+	result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
+	(simple bug fix).
+
+2017-04-22  Philipp Stephani  <phst@google.com>
+
+	Fix usage of FRAME_Z_GROUP
+
+	* src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
+	Lisp object, cf. Bug#26597.
+
+2017-04-22  Alan Third  <alan@idiocy.org>
+
+	Fix GNUstep build
+
+	* src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
+	compatibility.
+	* src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
+
+2017-04-21  Alan Third  <alan@idiocy.org>
+
+	Add no-accept-focus and frame-list-z-order to NS port
+
+	* lisp/frame.el (frame-list-z-order): Add NS.
+	* src/nsfns.m: Add x_set_no_accept_focus to handler struct.
+	(Fx_create_frame): Handle no-accept-focus parameter.
+	(ns_window_is_ancestor):
+	(Fns_frame_list_z_order): New functions.
+	* src/nsterm.m (x_set_no_accept_focus): New function.
+	(initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
+	non-fullscreen windows.
+	(EmacsWindow:canBecomeKeyWindow): New function.
+
+2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Improve prefix handling for dash.el
+
+	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
+	Don't drop dash's "-<letter>" prefixes.
+
+2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
+
+	Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
+	and use a different fix for bug#26068.
+	(cl--symbol-macro-key): New function.
+	(cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
+	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
+	Failure is not expected any more.
+
+2017-04-21  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid infinite loop in redisplay when header-line-format is invalid
+
+	* src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
+	string has an invalid %-construct in it and is displayed as part
+	of mode-line or header-line.  (Bug#26586)
+
+2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Add tests to check image scaling functionality
+
+	This is in preparation to doing further work in this area to avoid
+	regressions.
+
+	* test/data/image/blank-200x100.png: New file for testing
+	image scaling.
+
+	* test/manual/image-size-tests.el: New file.
+
+2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Allow svg-image to take all create-image PROPS
+
+	* lisp/svg.el (svg-image): Allow passing in PROPS when
+	creating an image for convenience.
+
+2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
+
+	Treat non-erroring lisp call as successful eshell command (Bug#26161)
+
+	This lets a compound command like 'cd .. && echo ok' print 'ok',
+	similar to how most other shells behave.
+
+	* lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
+	last exit code was zero, rather than first checking whether the last
+	command returned nil.
+	(eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
+
+2017-04-21  Reuben Thomas  <rrt@sc3d.org>
+
+	Fix reading of tab settings in whitespace-mode
+
+	lisp/whitespace.el (whitespace-indent-tabs-mode)
+	whitespace-tab-width): Remove these variables. The underlying
+	variables `indent-tabs-mode' and `tab-width' are already buffer-local
+	when needed, and whitespace-mode never changes them.
+	(whitespace-ensure-local-variables): Remove this function, which only
+	existed to set the above variables.
+	(whitespace-cleanup-region, whitespace-regexp)
+	(whitespace-indentation-regexp, whitespace-report-region)
+	(whitespace-turn-on, whitespace-color-on): Adjust these functions to
+	use `indent-tabs-mode' and `tab-width' directly, and not call
+	`whitespace-ensure-local-variables'.
+
+2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
+
+	by simplifying ascii-test.
+
+2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
+
+	bytecomp: Don't inline functions that use byte-switch (Bug#26518)
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
+	  FORM if the bytecode uses the byte-switch instruction. It is
+	  impossible to guess the correct stack depth while inlining such
+	  bytecode, resulting in faulty code.
+
+2017-04-20  Nicolas Petton  <nicolas@petton.fr>
+
+	Set Emacs version to 25.2 and update AUTHORS file
+
+	* README: Set Emacs version to 25.2.
+	* etc/HISTORY: Add release log.
+	* lisp/ldefs-boot.el:
+	* etc/AUTHORS:
+	* ChangeLog.2: Update.
+
+2017-04-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't register "def" as an autoload prefix (Bug#26412)
+
+	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
+	accept "def" as a prefix.
+
+2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Use substring completion for Info menus and index
+
+	* lisp/info.el (Info-complete-menu-item): Add `category' metadata.
+	(Info-menu): Simplify now that we use the `default' arg of completing-read.
+	* lisp/minibuffer.el (completion-category-defaults): Use substring
+	completion for `info-menu`.
+
+2017-04-19  Glenn Morris  <rgm@gnu.org>
+
+	Remove some explicit runtime loads of pcase
+
+	Pcase is macros, so these should have used eval-when-compile.
+	Anyway, pcase entry points are autoloaded, so the compiler handles it.
+	* lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
+	* lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
+	* lisp/progmodes/xref.el: No need to require pcase.
+
+2017-04-19  Glenn Morris  <rgm@gnu.org>
+
+	Stop cl-lib loading pcase at runtime
+
+	The cause was an unexpanded pcase-defmacro in cl-loaddefs.
+	* lisp/emacs-lisp/autoload.el (make-autoload):
+	Treat pcase-defmacro like defmacro.
+
+2017-04-19  Alan Third  <alan@idiocy.org>
+
+	Note frame documentation exceptions for NS builds
+
+	* doc/lispref/frames.texi (Management Parameters, Child Frames): Note
+	NS differences.
+
+2017-04-19  Alan Third  <alan@idiocy.org>
+
+	Fix bug introduced by my last commit
+
+	* src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
+
+2017-04-19  Alan Third  <alan@idiocy.org>
+
+	Add new frame functionality to NS port
+
+	* lisp/frame.el (frame-restack): Call ns-frame-restack.
+	* src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
+	MOVE_FRAME_EVENT handling.
+	* src/frame.h:
+	* src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
+	definitions.
+	* src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
+	x_set_undecorated (Cocoa only) to handler struct.
+	(Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
+	frame parameter.
+	(Fns_frame_restack): New function.
+	* src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
+	FRAME_TOOLBAR_HEIGHT is no longer a variable.
+	* src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
+	Add #defines to find the screen position of the parent frame.
+	(NS_TOP_POS): Remove defun.
+	(EmacsView): Remove redundant toolbar variables and add createToolbar
+	method.
+	(FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
+	values instead of storing them in a variable.
+	* src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
+	position into account when positioning frames.
+	(initFrameFromEmacs): Remove toolbar creation code and handle new
+	frame parameters.
+	(x_set_window_size): Remove toolbar height calculation.
+	(x_set_z_group):
+	(x_set_parent_frame):
+	(x_set_undecorated) [NS_IMPL_COCOA]: New function.
+	(x_destroy_window): Detach parent if child closes.
+	(updateFrameSize): Change NSTRACE message to reflect new reality and
+	no longer reset frame size.
+	(windowWillResize): Don’t change NS window name when the titlebar
+	is invisible.
+	(createToolbar): Move toolbar creation code into it’s own method.
+	(toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
+	are no longer variables.
+	(windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
+
+2017-04-19  Glenn Morris  <rgm@gnu.org>
+
+	Tweak bytecomp's loading of cl-extra
+
+	* lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
+	post-bootstrap emacs where cl-loaddefs does exist.
+
+2017-04-19  Glenn Morris  <rgm@gnu.org>
+
+	Avoid unnecessary loading of subr-x at run-time
+
+	* lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
+	* lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
+	* lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
+	No need to load subr-x at run-time.
+	* lisp/gnus/nnheader.el: No need to load subr-x.
+
+2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
+
+	Use iteration in math-factorial-iter
+
+	* lisp/calc/calc-comb.el (math-factorial-iter):
+	Use iteration instead of recursion to avoid max-specpdl-size problem.
+
+2017-04-18  Glenn Morris  <rgm@gnu.org>
+
+	* test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
+
+2017-04-18  Glenn Morris  <rgm@gnu.org>
+
+	Avoid ert test failures
+
+	* lisp/emacs-lisp/ert.el (ert--expand-should-1):
+	Avoid errors related to undefined byte-compile-macro-environment.
+	Somehow masked until very recently because loading seq (eg)
+	loads bytecomp.  http://hydra.nixos.org/build/51730765
+
+2017-04-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a typo in indexing the user manual
+
+	* doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
+
+2017-04-18  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
+
+	* lisp/emacs-lisp/find-func.el (find-library--from-load-history):
+	Rename from find-library--from-load-path.  Check for `load-history'
+	entries with nil FILE-NAMEs.  Simplify by not double
+	checking for suffixes and making use of `locate-file'.
+
+2017-04-18  Alan Third  <alan@idiocy.org>
+	    YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	Use vfork if possible on Darwin (bug#26397)
+
+
+	* src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
+	(vfork): Don't define.
+	* src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
+	set, otherwise vfork.
+	* src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
+	the controlling terminal instead of setsid.
+
+2017-04-18  Fran Litterio  <flitterio@gmail.com>
+
+	Small erc-kill-channel fix (bug#23700)
+
+	* lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
+
+2017-04-18  Glenn Morris  <rgm@gnu.org>
+
+	ediff: use user-error rather than debug-ignored-errors
+
+	* lisp/vc/ediff-diff.el (ediff-prepare-error-list):
+	* lisp/vc/ediff-help.el (ediff-help-for-quick-help):
+	* lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
+	(ediff-check-version):
+	* lisp/vc/ediff-merg.el (ediff-shrink-window-C):
+	* lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
+	(ediff-append-custom-diff, ediff-meta-show-patch)
+	(ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
+	(ediff-get-meta-info, ediff-patch-file-form-meta):
+	* lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
+	* lisp/vc/ediff-util.el (ediff-toggle-autorefine)
+	(ediff--check-ancestor-exists, ediff-toggle-read-only)
+	(ediff-toggle-wide-display, ediff-toggle-multiframe)
+	(ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
+	(ediff-next-difference, ediff-previous-difference)
+	(ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
+	(ediff-save-buffer):
+	* lisp/vc/ediff-wind.el (ediff-make-wide-display):
+	* lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
+	(ediff-directories-internal, ediff-directory-revisions-internal)
+	(ediff-regions-wordwise, ediff-regions-linewise)
+	(ediff-load-version-control): Use user-error.
+	(debug-ignored-errors): No longer modify.
+
+2017-04-18  Glenn Morris  <rgm@gnu.org>
+
+	mh-e: use user-error rather than debug-ignored-errors
+
+	* lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
+	* lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
+	(debug-ignored-errors): No longer modify.
+
+2017-04-18  Glenn Morris  <rgm@gnu.org>
+
+	ispell.el: use user-error rather than debug-ignored-errors
+
+	* lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
+	(debug-ignored-errors): No longer modify.
+
+2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	* src/xterm.c (x_fill_rectangle): Now static.
+
+2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	Tighten recently-added UTF-8 check
+
+	* src/coding.c (encode_coding_utf_8): Now extern.
+	* src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
+	Check for UTF-8, not just for multibyte.
+
+2017-04-17  David Engster  <deng@randomsample.de>
+
+	xml: Properly handle symbol-qnames for attribute parsing
+
+	* lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
+	  xml-ns argument (reverts aea67018) (Bug#26533).
+	  (xml-maybe-do-ns): Properly handle default namespace by not
+	  interning new symbol when 'special' flag is set.
+
+	* tests/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
+	  (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
+
+2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	* src/lisp.h (STRING_SET_CHARS): Simplify assertion.
+
+2017-04-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix assertion violations when displaying thread-related error
+
+	* src/process.c (Faccept_process_output): Don't assume a thread's
+	name is always a string.
+
+2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	dired ‘M’ should not complain about ‘.’ and ‘..’
+
+	* lisp/dired-aux.el (dired-do-redisplay):
+	Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
+
+2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove unused coding enums
+
+	* src/coding.h (enum coding_system_type, enum end_of_line_type):
+	Remove; unused.
+
+2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Work around bug with unibyte Linux consoles
+
+	* src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
+	the terminal's coding system is unibyte (Bug#26396).
+
+2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
+
+	Fix org-agenda's command for calendar-lunar-phases
+
+	Function org-agenda-phases-of-moon tries to call a non-existing
+	function calendar-phases-of-moon. The correct function is
+	calendar-lunar-phases.
+
+2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	Tuning for `separate' Tramp syntax
+
+	* lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
+	(tramp-completion-file-name-regexp-separate): Simplify.
+
+	* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
+	Extend test.
+
+2017-04-16  Alan Mackenzie  <acm@muc.de>
+
+	Fix bug #26529: C-h k errors with a lambda function bound to a key.
+
+	* lisp/help-fns.el (help-fns--signature, describe-function-1): Check
+	`function' is a symbol before trying to get property `reader-construct' from
+	it.
+
+2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Fix highlighting of short selectors in CSS mode
+
+	* lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
+	selectors where the part before a colon is only one character long,
+	such as `a:hover'.
+
+2017-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix redisplay performance problems with some fonts
+
+	* src/font.c (font_list_entities): Revert part of the changes
+	introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
+	zero_vector in the font-cache is an important indication that
+	cannot be removed.  (Bug#21028)
+
+2017-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Add assertion to STRING_SET_CHARS
+
+	* src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
+	to prevent incorrect usage.  For details, see this discussion:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00412.html.
+
+2017-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid compilation warnings on MS-Windows
+
+	* src/w32term.c (w32_read_socket): Avoid compiler warnings about
+	parentheses around assignment.
+	* src/w32fns.c (w32_createwindow): Remove unused variable
+	dwStyle.  Use "|=" where appropriate.
+
+2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-04-14 intprops: try to avoid tickling similar bugs
+	2017-04-14 intprops: port to Oracle Studio 12.3 x86
+	* doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
+
+2017-04-15  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
+
+	* lisp/window.el (with-displayed-buffer-window): When a
+	'window-height' action alist entry specifies a function, call
+	`temp-buffer-window-show' with a '(window-height . t)' dummy
+	entry so `window--try-to-split-window' will bind
+	`window-combination-limit' to t and that function does not
+	resize any other window but the one we split this one off
+	(Bug#25055, Bug#25179).
+	(fit-window-to-buffer): Call `window-max-delta' with NOUP t so
+	we steal space only from windows in the same combination.
+	Stealing space from other windows would not allow us to return
+	that space later when this window is deleted (Bug#25055,
+	Bug#25179).
+
+2017-04-15  Glenn Morris  <rgm@gnu.org>
+
+	Avoid userlock queries hanging forever in batch mode
+
+	* lisp/userlock.el (ask-user-about-lock)
+	(ask-user-about-supersession-threat): Abort in batch mode.
+
+2017-04-14  Martin Rudalics  <rudalics@gmx.at>
+
+	Fix segfault when calling frame_ancestor_p (Bug#26493)
+
+	* src/xterm.c (handle_one_xevent): Check that hf was not reset
+	before calling frame_ancestor_p (Bug#26493).
+
+2017-04-14  Martin Rudalics  <rudalics@gmx.at>
+
+	A few additional copy-edits in documentation of frames
+
+	* doc/lispref/frames.texi (Frame Layout)
+	(Implied Frame Resizing): Windows -> MS-Windows.
+	(Deleting Frames): Fix typo.
+
+2017-04-14  Glenn Morris  <rgm@gnu.org>
+
+	Use user-error for some ert.el errors
+
+	* lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
+	(ert-results-find-test-at-point-other-window, ert-describe-test):
+	Use user-error.
+
+2017-04-14  Glenn Morris  <rgm@gnu.org>
+
+	Use user-error for customize's "invalid face" error
+
+	* lisp/cus-edit.el (customize-face): Use user-error.
+	(debug-ignored-errors): No more need to add "Invalid face".
+
+2017-04-14  Glenn Morris  <rgm@gnu.org>
+
+	Remove duplicate lisp-eval-defun definition
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
+	Autoload rather than defining a stub.
+
+2017-04-14  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
+
+2017-04-14  Glenn Morris  <rgm@gnu.org>
+
+	Create generated lisp files before main loaddefs.el
+
+	This should improve reproducibility of lisp/loaddefs.el.
+	* lisp/Makefile.in (gen-lisp): New phony target.
+	($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
+	* src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
+	* lisp/cedet/semantic.el (semantic-mode):
+	* lisp/cedet/semantic/fw.el (top-level):
+	* lisp/emacs-lisp/eieio-core.el (top-level):
+	Robustify to generated input files maybe not yet existing.
+
+2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	Fix minor quoting issues in Makefile.in
+
+	* Makefile.in (install-arch-dep, uninstall):
+	Quote EMACS and EMACS_NAME more consistently.
+
+2017-04-13  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in (install-etc): Use existing Makefile variables.
+
+2017-04-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor copyedits of recent changes in documentation
+
+	* doc/lispref/frames.texi (Frame Layout, Frame Position)
+	(Frame Size, Frame Interaction Parameters, Input Focus)
+	(Raising and Lowering, Child Frames): Improve wording and indexing.
+	* doc/emacs/cmdargs.texi (Borders X): Improve indexing.
+
+2017-04-13  Glenn Morris  <rgm@gnu.org>
+
+	Small src/Makefile simplification
+
+	* src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
+	($(lispsource)/term/ns-win.elc): Combine rules.
+
+2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Add grid layout module to CSS property list
+
+	* lisp/textmodes/css-mode.el (css-property-alist)
+	(css-value-class-alist): Add new properties and value classes from CSS
+	Grid Layout Module.
+
+2017-04-13  Martin Rudalics  <rudalics@gmx.at>
+
+	Describe recent frame and window changes in manuals
+
+	* doc/emacs/emacs.texi (Top):
+	* doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
+	"outer border" (for the X border which can be set from within
+	Emacs) and "external border" (for the border which is added by
+	the window manager).
+	* doc/lispref/display.texi (Tooltips): Clarify slightly.
+	* doc/lispref/elisp.texi (Top): Update node and section names.
+	* doc/lispref/frames.texi (Frames): Describe difference between
+	top-level and child frames.
+	(Frame Layout): Describe outer border.  Add more details about
+	how Emacs obtains the outer size and position of a frame and
+	about menu bar/tool bar wrapping.  Add references to new frame
+	parameters.
+	(Size and Position): Remove subsection.
+	(Frame Position): New subsection excerpted from the earlier Size
+	and Position subsection.  Clarify positioning concepts and
+	some of their shortcomings.  Describe `move-frame-functions'.
+	(Frame Size): New subsection excerpted from the earlier Size
+	and Position subsection.  Describe how to track frame size
+	changes and the new function `frame-size-changed-p'.
+	(Position Parameters): Describe child frame positioning.  Warn
+	about negative offsets.  Describe 'z-group' parameter.
+	(Size Parameters): Describe 'text-pixels' specification
+	facility and new 'min-width' and 'min-height' parameters.
+	(Layout Parameters): Clarify description of 'tool-bar-lines' and
+	'menu-bar-lines' parameters.
+	(Frame Interaction Parameters): New subsubsection describing
+	'parent-frame', 'delete-before', 'mouse-wheel-frame' and
+	'no-other-frame' parameters.
+	(Management Parameters): Describe 'skip-taskbar',
+	'no-focus-on-map', 'no-accept-focus', 'undecorated' and
+	'override-redirect' parameters.
+	(Deleting Frames): Describe handling of 'delete-before'
+	parameter and child frames for `delete-frame' and
+	`delete-other-frames'.
+	(Finding All Frames): Describe `frame-list-z-order' and handling
+	of 'no-other-frame' parameter by `next-frame'.
+	(Minibuffers and Frames): Minor clarifications.
+	(Input Focus): Document `x-focus-frame'.  Clarify descriptions
+	of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
+	(Visibility of Frames): Describe mapping and how the visibility
+	of a parent frame affects that of its child frames.
+	(Raising and Lowering): Describe restacking of frames and
+	z-groups.
+	(Child Frames): New section.
+	* doc/lispref/windows.texi (Selecting Windows): Describe
+	additional semantics of NORECORD argument of `select-window' and
+	how `buffer-list-update-hook' can emulate a "select window
+	hook".
+	(Mouse Window Auto-selection): New section.
+
+2017-04-13  Damien Cassou  <damien@cassou.me>
+
+	Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
+
+	* lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
+	  pairs.
+	* test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
+
+2017-04-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid unnecessary regeneration of the entire loaddefs.el
+
+	* lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
+	why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
+	($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
+	loaddefs.tmp before running 'batch-update-autoloads' on it, to
+	avoid slow regeneration of the full contents.  (Bug#26459)
+	Use 'move-if-change' instead of 'mv', to avoid producing a new
+	Emacs binary when not necessary.
+
+2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Handle indentation of nested ternary operators in JS
+
+	* lisp/progmodes/js.el (js--looking-at-operator-p):
+	Handle nested ternary operators.
+
+2017-04-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Don't call 'kill-this-buffer' outside of menus
+
+	* lisp/simple.el (kill-current-buffer): New function.
+	(completion-list-mode-map): Use it instead of kill-this-buffer.
+	* lisp/type-break.el (type-break-mode):
+	* lisp/term/ns-win.el (global-map):
+	* lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
+	(gdb-disassembly-mode-map, gdb-frames-mode-map)
+	(gdb-locals-mode-map, gdb-registers-mode-map):
+	* lisp/org/org-mhe.el (org-mhe-follow-link):
+	* lisp/net/secrets.el (secrets-mode-map):
+	* lisp/net/eudc.el (eudc-mode-map):
+	* lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
+	kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
+
+2017-04-12  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
+
+2017-04-12  Martin Rudalics  <rudalics@gmx.at>
+
+	New internal-border face and args for select-window and x-focus-frame
+
+	Add `internal-border' face and handle it whenever clearing the
+	internal border.  If NORECORD equals the symbol
+	'mark-for-redisplay', `select-window' will not record the window
+	but still mark it for redisplay.  The new argument NOACTIVATE
+	for `x-focus-frame' tries to not activate FRAME when set.
+
+	* lisp/faces.el (internal-border): New face.
+	* lisp/mwheel.el (mwheel-scroll): Select window to scroll with
+	`mark-for-redisplay'.
+	* lisp/scroll-bar.el (scroll-bar-drag)
+	(scroll-bar-horizontal-drag, scroll-bar-scroll-down)
+	(scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
+	(scroll-bar-toolkit-horizontal-scroll): Select window to scroll
+	with `mark-for-redisplay'.
+	* lisp/window.el (handle-select-window): When
+	`focus-follows-mouse' is not 'auto-raise' try to not activate
+	FRAME.
+	* src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
+	* src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
+	* src/frame.h (x_focus_frame): Update extern declaration.
+	* src/gtkutil.c (xg_clear_under_internal_border): Remove
+	function.
+	(xg_frame_resized, xg_frame_set_char_size): Call
+	x_clear_under_internal_border.
+	(xg_tool_bar_callback): Adapt x_focus_frame call.
+	* src/gtkutil.h (xg_clear_under_internal_border): Remove
+	declaration.
+	* src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
+	* src/w32fns.c (x_clear_under_internal_border): Fill border
+	with internal-border background if specified.
+	* src/w32term.h (x_clear_under_internal_border): Add extern
+	declaration.
+	* src/w32term.c (x_after_update_window_line): Fill border
+	with internal-border background if specified.
+	(w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
+	(x_scroll_bar_clear, w32_read_socket): Call
+	x_clear_under_internal_border.
+	(x_focus_frame): New argument NOACTIVATE.
+	* src/window.c (select_window): Mark WINDOW for redisplay when
+	NORECORD equals 'mark-for-redisplay'.
+	(Fselect_window): Update doc-string.
+	(syms_of_window): Define Qmark_for_redisplay.
+	* src/xdisp.c (clear_garbaged_frames, echo_area_display)
+	(redisplay_internal): Call x_clear_under_internal_border.
+	* src/xfaces.c (lookup_basic_face): Handle `window-divider'
+	and `internal-border' faces.
+	(realize_basic_faces): Realize `internal-border' face.
+	(syms_of_xfaces): Define Qinternal_border.
+	* src/xfns.c (x_set_internal_border_width): Remove call for
+	xg_clear_under_internal_border.
+	(x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
+	activate frame.
+	* src/xterm.c (x_fill_rectangle): No more static.
+	(x_clear_under_internal_border, x_after_update_window_line):
+	Fill border with internal-border background if specified.
+	(xt_horizontal_action_hook): Rewrite.
+	(handle_one_xevent): Call x_clear_under_internal_border.
+	* src/xterm.h (x_fill_rectangle): Add extern declaration.
+
+2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	Port recent frame changes to --enable-gcc-warnings
+
+	* src/frame.c (next_frame, prev_frame):
+	Remove now-redundant assertions.
+	* src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
+
+2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
+
+	Scroll right and left using wheel-right and wheel-left.
+
+	These changes also make use of touchpad and trackpad (Bug#26347).
+
+	* doc/emacs/frames.texi (Mouse Commands): Document horizontal
+	scrolling using the mouse wheel.
+
+	* lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
+	(mwheel-tilt-scroll-p, mwheel-flip-direction)
+	(mwheel-scroll-left-function, mwheel-scroll-right-function): New
+	defcustoms.
+	(mouse-wheel-left-event, mouse-wheel-right-event): New variables,
+	events that calls wheel-left/right.
+
+	* etc/NEWS: Mention horizontal scrolling using the mouse wheel.
+
+2017-04-12  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
+
+2017-04-12  Martin Rudalics  <rudalics@gmx.at>
+
+	Add new frame parameters and associated functions
+
+	Add new frame parameters `undecorated', `override-redirect',
+	`parent-frame', `skip-taskbar', `no-focus-on-map',
+	`no-accept-focus', `z-group', `delete-before', `no-other-frame',
+	`mouse-wheel-frame', `min-width', `min-height'.  Add new
+	functions `frame-restack' and `frame-list-z-order'.
+
+	* lisp/cus-start.el (focus-follows-mouse): Adapt customization
+	type.
+	* lisp/frame.el (handle-delete-frame): Handle child and
+	`delete-before' frames.
+	(other-frame): Stop looking for other frame after one round.
+	(frame-list-z-order, frame-restack): New functions.
+	(delete-other-frames): Handle child frames.
+	* lisp/frameset.el (frameset-persistent-filter-alist)
+	(frameset--record-relationships): Handle `delete-before',
+	`parent-frame' and `mouse-wheel-frame' parameters.  Rename
+	latter from `frameset--record-minibuffer-relationships'.
+	(frameset--restore-frame): Handle ‘parent-frame’ parameter
+	specially.
+	(frameset-restore): Handle `delete-before', `parent-frame' and
+	`mouse-wheel-frame' parameters.
+	* lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
+	parameter.
+	* lisp/window.el (window--min-size-ignore-p): Fix doc-string.
+	(mouse-autoselect-window-select, handle-select-window): Major
+	rewrite.  Try to not ignore errors.  Handle auto-selection of
+	child frames and different values of `focus-follows-mouse'.
+	* src/frame.c (frame_windows_min_size): Handle new `min-width'
+	and `min-height' frame parameters.
+	(make_frame): Initialize new frame structure members.
+	(do_switch_frame): Don't reset internal_last_event_frame for
+	descendant frames.
+	(Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
+	functions.
+	(candidate_frame): Don't return `no-other-frame' frame.
+	(other_frames): New function replacing other_visible_frames.
+	(delete_frame): Rewrite.  Handle child and `delete-before' frames.
+	(Fmake_frame_invisible): Call other_frames.
+	(store_frame_param): Check `delete-before' and `parent-frame'
+	parameters for circular dependencies.
+	(frame_parms, syms_of_frame): Add entries for and define new
+	frame parameters.
+	(focus_follows_mouse): New meaningful value `auto-raise'.
+	* src/frame.h (z_group): New enumeration type.
+	(frame): New slots parent_frame, undecorated, override_redirect,
+	skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
+	(fset_parent_frame): New inlined function.
+	(FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
+	(FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
+	(FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
+	(FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
+	(FRAME_Z_GROUP_BELOW): New macros.
+	(frame_ancestor_p): Add declaration.
+	* src/gtkutil.c (xg_create_frame_widgets): Handle
+	`undecorated' and `override-redirect' frame parameters.
+	(x_wm_set_size_hint): None for child frames.
+	(xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
+	(xg_set_no_focus_on_map, xg_set_no_accept_focus)
+	(xg_set_override_redirect): New functions.
+	(xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
+	Don't let scrollbars obscure child frames.
+	* src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
+	(xg_set_skip_taskbar, xg_set_no_focus_on_map)
+	(xg_set_no_accept_focus, xg_set_override_redirect): Add extern
+	declarations.
+	* src/nsfns.m (ns_frame_parm_handlers): Add entries for new
+	frame parameters.
+	(Fx_create_frame): Install `min-width' and `min-height' frame
+	parameters.
+	* src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
+	* src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
+	(x_real_positions): Handle child frames.
+	(x_set_menu_bar_lines): Don't for child frames.
+	(x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
+	(x_set_no_focus_on_map, x_set_no_accept_focus)
+	(x_set_z_group): New functions.
+	(w32_createvscrollbar, w32_createhscrollbar): Don't draw
+	scroll bars over child frames.
+	(w32_createwindow): Handle new frame parameters and child frames.
+	(w32_wnd_proc): Let mouse clicks into a child frame activate
+	the frame.  Try to handle the `no-accept-focus' parameter.  Do
+	SetFocus when our window is brought to top or becomes the
+	foreground window.
+	(w32_window): Don't initialize menu bar for child frames.
+	(Fx_create_frame): Handle new frame parameters.
+	(x_create_tip_frame): Set explicit_parent slot.
+	(w32_dialog_in_progress): New function.
+	(Fx_file_dialog): Handle `z-group-above' frames.
+	(w32_frame_list_z_order, Fw32_frame_list_z_order)
+	(w32_frame_restack, Fw32_frame_restack): New functions.
+	(w32_frame_parm_handlers): Add entries for new frame
+	parameters.
+	* src/w32font.c (Fx_select_font): Handle `z-group-above'
+	frames during font selection dialogue.
+	* src/w32term.c (construct_mouse_wheel): Construct mouse wheel
+	event from F's w32 window.
+	(w32_mouse_position): Handle child frames.
+	(w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
+	Don't draw scroll bars over child frames.
+	(w32_read_socket): Always erase background of child frames.
+	When generating SELECT_WINDOW_EVENTs handle new value of
+	`focus-follows-mouse' and handle `no-accept-focus' parameter.
+	Handle `mouse-wheel-frame' parameter.
+	(x_calc_absolute_position, x_set_offset, x_set_window_size):
+	Handle child frames.
+	(x_make_frame_visible): Handle child frames specially.  Handle
+	`no-focus-on-map' parameter.
+	* src/w32term.h (w32_dialog_in_progress): Add external
+	declaration.
+	* src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
+	for child frames.
+	* src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
+	(PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
+	non-Motif, non-GTK case.
+	(x_real_pos_and_offsets): Handle child frames.
+	(x_set_undecorated, x_set_parent_frame)
+	(x_set_no_focus_on_map, x_set_no_accept_focus)
+	(x_set_override_redirect): New functions.
+	(x_set_menu_bar_lines): Not for child frames.
+	(x_window): Handle `undecorated' and `override_redirect' cases.
+	(Fx_create_frame): Handle new frame parameters.
+	(frame_geometry): Handle child frames and outer border.
+	(x_frame_list_z_order, Fx_frame_list_z_order)
+	(x_frame_restack, Fx_frame_restack): New functions.
+	(Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
+	(x_frame_parm_handlers): Add entries for new frame parameters.
+	* src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
+	frames.
+	* src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
+	for child frames.
+	(XTmouse_position): Handle child frames.
+	(x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
+	bars obscure child frames.
+	(handle_one_xevent): Handle child frame positions.  If necessary
+	set `skip-taskbar' and reassign proper `z-group' when we are
+	mapped.  When generating SELECT_WINDOW_EVENTs handle new value
+	of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
+	Let mouse clicks into a child frame activate the frame.
+	(x_calc_absolute_position, x_set_offset): Handle child frames
+	specially.
+	(x_set_skip_taskbar, x_set_z_group): New functions.
+	(x_make_frame_visible): Handle child frames.
+	(ATOM_REFS_INIT): Add entries for
+	Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
+	Xatom_net_wm_state_below.
+	* src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
+	Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
+	(x_set_skip_taskbar, x_set_z_group): Add extern declarations.
+
+2017-04-11  Glenn Morris  <rgm@gnu.org>
+
+	Update a package test for hydra
+
+	* test/lisp/emacs-lisp/package-tests.el (with-package-test):
+	Also bind package-gnupghome-dir, see eg
+	http://hydra.nixos.org/build/51462182 .
+
+2017-04-11  Martin Rudalics  <rudalics@gmx.at>
+
+	Frame movement, focus and hook related changes
+
+	New hook `move-frame-functions'.  Run `focus-in-hook'
+	after switching to frame that gets focus.  Don't run
+	XMoveWindow for GTK.
+
+	* lisp/frame.el (handle-move-frame, frame-size-changed-p): New
+	functions.
+
+	* src/frame.c (do_switch_frame): Simplify code.
+	(Fhandle_switch_frame): Switch frame before running
+	`handle-focus-in'.
+	(Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
+	(Vmove_frame_functions): New hook variable.
+	* src/keyboard.c (kbd_buffer_get_event): Handle
+	MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
+	(head_table): Add Qmove_frame entry.
+	(syms_of_keyboard): Add Qmove_frame.
+	(keys_of_keyboard): Define key for `move-frame'.
+	* src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
+	* src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
+	* src/window.c (run_window_size_change_functions): Record size of
+	FRAME's minibuffer window too.
+	* src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
+	(x_set_offset): For GTK call gtk_widget_move instead of
+	XMoveWindow.
+
+2017-04-11  Werner LEMBERG  <wl@gnu.org>
+
+	Avoid abort in ftfont.c due to faulty fonts
+
+	* src/ftfont.c (ftfont_get_metrics): Try loading the font without
+	hinting, before aborting.  (Bug#25945)
+
+2017-04-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Document 'line-pixel-height'
+
+	* doc/lispref/display.texi (Size of Displayed Text): Document
+	line-pixel-height.  Suggested by Tak Kunihiro
+	<tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
+
+2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
+
+	Introduce customizable variable 'package-gnupghome-dir'
+
+	* lisp/emacs-lisp/package.el (package-import-keyring)
+	(package--check-signature-content, package-check-signature):
+	Use new variable package-gnupghome-dir to control which GnuPG
+	homedir to use.
+	* doc/emacs/package.texi: Mention package-gnupghome-dir.
+	* etc/NEWS: Mention package-gnupghome-dir.
+
+2017-04-11  Martin Rudalics  <rudalics@gmx.at>
+
+	Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
+
+	This activates a change that was installed a few weeks ago but whose
+	ChangeLog was inadvertently dropped during its commit.  The proper
+	ChangeLog is included below as part of the present commit.
+
+	* src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
+	is set avoid calling x_gtk_parse_geometry (Bug#25851).
+	(x_wm_set_size_hint): When x_gtk_use_window_move is set, set
+	PPosition, USPosition and USSize flags if requested.
+	* src/xterm.c (x_set_offset): With GTK when
+	x_gtk_use_window_move is set, leave it entirely to
+	gtk_window_move to position the window and skip any
+	post-adjustments (Bug#25851 and Bug#25943).
+	(x_gtk_use_window_move): New variable.
+
+2017-04-10  Alan Mackenzie  <acm@muc.de>
+
+	Fix a loop in C Mode caused by inadequate analysis of comments.
+
+	After M-;, and the insertion of the opening "/*", the CC Mode after-change
+	function got confused, since the new comment opener matched the end of a
+	subsequent comment, but moving back over that comment did not come back to the
+	starting point.  Fix this.
+
+	* lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
+	point is left if no end-of-macro is found before it.
+	(c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
+	non-nil except where we have an unclosed block comment at the end of a macro.
+	This enables us to populate the cache more fully, at the cost of some run
+	time.
+
+2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
+
+	Add PVSIZE function to return the size of a pseudovector.
+
+	* src/lisp.h (PVSIZE): New function.
+
+	* src/chartab.c (copy_char_table):
+	* src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
+	* src/doc.c (Fdocumentation, store_function_docstring):
+	* src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
+	* src/fns.c (Flength, Fcopy_sequence):
+	* src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
+	* src/lread.c (substitute_object_recurse):
+	* src/src/print.c (print_object):
+	  Use it.
+
+2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add Tramp tests
+
+	* lisp/net/tramp.el (tramp-syntax): Adapt docstring.
+
+	* test/lisp/net/tramp-tests.el
+	(tramp-test01-file-name-syntax-simplified)
+	(tramp-test01-file-name-syntax-separate)
+	(tramp-test02-file-name-dissect-simplified)
+	(tramp-test02-file-name-dissect-separate): New tests.
+
+2017-04-10  Martin Rudalics  <rudalics@gmx.at>
+
+	Make sure that `shell' makes BUFFER current
+
+	* lisp/shell.el (shell): Restrict scope of recently added
+	`with-current-buffer' to make sure that BUFFER is current when
+	`shell' returns.
+
+2017-04-10  Jim Blandy  <jimb@red-bean.com>
+
+	Default to PCRE syntax when reading .hgignore
+
+	* lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
+	Default to the PCRE syntax (bug#26249).
+
+2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
+
+	Document Tramp changes
+
+	* doc/misc/tramp.texi (Change file name syntax): New node.
+
+	* etc/NEWS: Mention `tramp-change-syntax'.
+
+	* lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
+	External packages uses it.
+	(tramp-syntax): Set also `tramp-file-name-regexp'.
+
+2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib (Bug#26398)
+
+	This incorporates:
+	2017-04-08 getopt: prefer - to _ in new file names
+	2017-04-08 getopt: port recent getopt changes to macOS
+	* .gitignore: Add lib/getopt-cdefs.h.
+	* lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
+	* lib/getopt-core.h: Rename from lib/getopt_core.h.
+	* lib/getopt-ext.h: Rename from lib/getopt_ext.h.
+	* lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
+	* lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
+	* lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
+	Copy from Gnulib.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+
+2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
+
+	Write updated loaddefs to a temporary file and rename into place.
+
+	In a parallel build, byte compilation can be running at the same times
+	as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
+	loaddefs.el is read at startup and must always be in a usable state.
+
+	* lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
+	loaddefs.el.new and then rename it to loaddefs.el.
+
+2017-04-09  Glenn Morris  <rgm@gnu.org>
+
+	In the manual, mention pops and imaps
+
+	* doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
+	Mention pops and imaps protocols.
+
+2017-04-09  Glenn Morris  <rgm@gnu.org>
+
+	* doc/emacs/rmail.texi: Prefer @command to @code for movemail.
+
+2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix rmail handling of movemail protocols (bug#18278)
+
+	* lisp/mail/rmail.el (rmail-remote-proto-p): New function.
+	(rmail-parse-url): Return protocol in second list element.
+	Only use passwords with remote mailboxes.
+	(rmail-insert-inbox-text): Handle non-simple local
+	mailboxes (maildir, MH, etc.).
+
+2017-04-09  Glenn Morris  <rgm@gnu.org>
+
+	Fix typos in manual re movemail local mailboxes
+
+	* doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
+	Fix examples of local mailbox urls.
+
+2017-04-08  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
+
+2017-04-08  Glenn Morris  <rgm@gnu.org>
+
+	Remove references to OS/2 in code, doc, and comments
+
+	* lisp/gnus/nnheader.el (nnheader-read-timeout)
+	(nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
+	* lisp/emulation/viper-util.el (viper-color-defined-p):
+	* lisp/net/pop3.el (pop3-read-timeout):
+	* lisp/net/imap.el (imap-read-timeout):
+	* lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
+	* lisp/emulation/viper-ex.el (viper-glob-function):
+	* lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
+	* lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
+	* doc/emacs/msdos-xtra.texi (MS-DOS):
+	* doc/misc/gnus.texi (Various Various):
+	* doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
+
+2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
+
+	Tune Tramp syntax
+
+	* lisp/net/tramp-cmds.el (tramp-change-syntax):
+	Use `tramp-syntax-values'.
+
+	* lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
+
+	* lisp/net/tramp.el (tramp-syntax): Rename possible values.
+	(tramp-syntax-values): New defun.
+	(tramp-prefix-format, tramp-method-regexp)
+	(tramp-postfix-method-format, tramp-prefix-ipv6-format)
+	(tramp-postfix-ipv6-format, tramp-postfix-host-format)
+	(tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
+	and changed values.
+	(tramp-completion-file-name-regexp-default): Rename from
+	`tramp-completion-file-name-regexp-unified'.  Adapt docstring.
+	(tramp-completion-file-name-regexp-simplified): Rename from
+	`tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
+	(tramp-initial-completion-file-name-regexp):
+	Use `tramp-completion-file-name-regexp-default'.
+	(tramp-run-real-handler): Do not autoload any longer.
+
+2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace more nested ifs with cond
+
+	This is a continuation of d526047 "Replace more nested ifs with cond".
+	* lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
+	when and cond where appropriate.
+
+2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Adjust the edebug spec of if-let*
+
+	This was fixed in Bug#24748, but now looking more closely, using gate in
+	the spec seems correct.  See (info "(elisp) Backtracking").
+	* lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
+
+2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace some uses of cl-member-if with apply
+
+	From the mhtml-mode series.  Some of the uses of cl-lib are not
+	necessary.
+	* lisp/align.el: Don't require cl-lib.
+	(align-region): Use apply instead of cl-member-if.
+	* lisp/emulation/viper.el: Don't require cl-lib.
+	(viper-mode, this-major-mode-requires-vi-state): Use apply instead of
+	cl-member-if.
+
+2017-04-08  Philipp Stephani  <phst@google.com>
+
+	Validate SPEC of `dolist', cf. Bug#25477.
+
+	* lisp/subr.el (dolist): Test type and length of SPEC.
+	* test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
+	Add unit test.
+
+2017-04-08  Philipp Stephani  <phst@google.com>
+
+	Add unit test for Bug#26378
+
+	* test/lisp/vc/ediff-diff-tests.el
+	(ediff-diff-tests--ediff-exec-process--nil): New unit test.
+
+2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
+
+	Fix circular read syntax for records.
+
+	* lread.c (substitute_object_recurse): Work with records.
+
+	* lread-tests.el (lread-record-1): New test.
+
+2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Deprecate copy-record in favor of copy-sequence
+
+	Since copy-sequence seems to be needed anyway for records, have it
+	work on records, and remove copy-record as being superfluous.
+	* doc/lispref/records.texi (Records, Record Functions):
+	* lisp/emacs-lisp/cl-macs.el (cl-defstruct):
+	* lisp/emacs-lisp/eieio.el (make-instance, clone):
+	* test/src/alloc-tests.el (record-3):
+	Use copy-sequence, not copy-record, to copy records.
+	* doc/lispref/sequences.texi (Sequence Functions)
+	(Array Functions): Document that aref and copy-sequence
+	work on records.
+	* etc/NEWS: Omit copy-record.
+	* src/alloc.c (Fcopy_record): Remove.
+	* src/data.c (Faref): Document that arg can be a record.
+	* src/fns.c (Fcopy_sequence): Copy records, too.
+
+2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix dependency checking in src/Makefile.in
+
+	* src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
+	dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
+	Otherwise, some dependencies will be missed.
+
+2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor tuneup of write-region change
+
+	* src/fileio.c (write_region): Use SCHARS, not Flength,
+	on a value known to be a string.
+
+2017-04-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Adjust write-region so file name is at the beginning again
+
+	* lisp/epa-file.el (epa-file-write-region):
+	* lisp/gnus/mm-util.el (mm-append-to-file):
+	* lisp/jka-compr.el (jka-compr-write-region):
+	* lisp/net/ange-ftp.el (ange-ftp-write-region):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
+	* src/fileio.c (write_region): Put file name at the beginning and move
+	number of characters to the end of the message.
+
+2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
+
+	Check that file argument is a string
+
+	* lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
+	  passed to `file-local-copy' is a string (Bug#26378).  Also fix
+	  the existing comment for this function, and convert it to its
+	  doc-string.
+
+2017-04-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix handling of non-integer START param to write-region
+
+	The previous patch for Bug#354 incorrectly assumed that START would
+	always be an integer.
+
+	* lisp/epa-file.el (epa-file-write-region):
+	* lisp/jka-compr.el (jka-compr-write-region):
+	* lisp/net/ange-ftp.el (ange-ftp-write-region):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
+	* src/fileio.c (write_region): Handle nil and string values of START.
+
+2017-04-07  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
+
+2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add Tramp versions to `customize-package-emacs-version-alist'
+
+	* lisp/net/trampver.el (customize-package-emacs-version-alist):
+	Add Tramp versions to `customize-package-emacs-version-alist'.
+
+2017-04-07  Tom Tromey  <tom@tromey.com>
+
+	* lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
+
+2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
+
+	* records.texi (Record Functions): fix typo.
+
+2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	More casefiddle minor fixes
+
+	* src/casefiddle.c (case_character_impl): Omit unnecessary casts.
+	(case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
+	(GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
+
+2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
+
+	Output number of characters added to file (Bug#354)
+
+	* fileio.c (write_region):
+	* epa-file.el (epa-file-write-region):
+	* jka-compr.el (jka-compr-write-region):
+	* ange-ftp.el (ange-ftp-write-region):
+	* tramp-gvfs.el (tramp-gvfs-handle-write-region):
+	* tramp-sh.el (tramp-sh-handle-write-region):
+	* mm-util.el (mm-append-to-file): Functions now output
+	characters written in addition to file name.
+	* files.texi: Added documentation to write-region and
+	append-to-file describing their output.
+
+2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
+
+	Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
+
+	The recent changes to src/casefiddle.c cause build failure as seen
+	below:
+
+	    Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
+		--batch --load loadup bootstrap
+	    [Thread debugging using libthread_db enabled]
+	    Using host libthread_db library "/usr/lib/libthread_db.so.1".
+	    Loading loadup.el (source)...
+	    Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
+		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
+		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
+		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
+		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
+		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
+	    Loading emacs-lisp/byte-run (source)...
+	    Loading emacs-lisp/backquote (source)...
+	    Loading subr (source)...
+	    Loading version (source)...
+	    Loading widget (source)...
+	    Loading custom (source)...
+	    Loading emacs-lisp/map-ynp (source)...
+	    Loading international/mule (source)...
+	    Loading international/mule-conf (source)...
+
+	    lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
+
+	    Breakpoint 1, terminate_due_to_signal at emacs.c:363
+	    363	  signal (sig, SIG_DFL);
+	    (gdb) bt
+	    #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
+	    #1  0x000000000060ec33 in die at alloc.c:7352
+	    #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
+	    #3  0x0000000000576884 in intern_c_string at lisp.h:3790
+	    #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
+	    #5  0x00000000005dd37f in casify_object at casefiddle.c:311
+	    #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
+	    #7  0x00000000006325ac in eval_sub at eval.c:2219
+	    #8  0x0000000000632368 in eval_sub at eval.c:2184
+	    #9  0x000000000063446c in apply_lambda at eval.c:2875
+	    #10 0x00000000006329af in eval_sub at eval.c:2294
+	    #11 0x000000000062d462 in Fprogn at eval.c:449
+	    #12 0x000000000062d4cf in prog_ignore at eval.c:461
+	    #13 0x000000000062f19c in Fwhile at eval.c:982
+	    #14 0x00000000006321f4 in eval_sub at eval.c:2172
+	    #15 0x000000000062d462 in Fprogn at eval.c:449
+	    #16 0x000000000062f0c4 in Flet at eval.c:963
+	    #17 0x00000000006321f4 in eval_sub at eval.c:2172
+	    #18 0x0000000000632963 in eval_sub at eval.c:2290
+	    #19 0x000000000062d462 in Fprogn at eval.c:449
+	    #20 0x000000000062f0c4 in Flet at eval.c:963
+	    #21 0x00000000006321f4 in eval_sub at eval.c:2172
+	    #22 0x0000000000668caa in readevalloop at lread.c:1927
+	    #23 0x0000000000667253 in Fload at lread.c:1332
+	    #24 0x0000000000632683 in eval_sub at eval.c:2233
+	    #25 0x0000000000668caa in readevalloop at lread.c:1927
+	    #26 0x0000000000667253 in Fload at lread.c:1332
+	    #27 0x0000000000632683 in eval_sub at eval.c:2233
+	    #28 0x0000000000631be5 in Feval at eval.c:2041
+	    #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
+	    #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
+	    #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
+	    #32 0x000000000062f51e in internal_catch at eval.c:1091
+	    #33 0x000000000057e0ea in command_loop at keyboard.c:1090
+	    #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
+	    #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
+	    #36 0x000000000057b55b in main at emacs.c:1687
+
+	    Lisp Backtrace:
+	    "capitalize" (0xffffcf70)
+	    "format" (0xffffd130)
+	    "define-charset" (0xffffd370)
+	    "while" (0xffffd560)
+	    "let" (0xffffd7c0)
+	    "dolist" (0xffffd910)
+	    "let" (0xffffdb70)
+	    "load" (0xffffdfe0)
+	    "load" (0xffffe4a0)
+
+	* src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
+	Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
+	Qspecial_titlecase.
+	(prepare_casing_context): Use aforementioned symbols.
+
+2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This merges some getopt fixes from Zack Weinberg, and affects only
+	non-GNUish platforms.  It incorporates:
+	2017-04-06 getopt-gnu: omit some duplicate code
+	2017-04-06 getopt-posix: use angle-bracket include
+	2017-04-06 getopt: annotate files with relationship to glibc
+	2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
+	2017-04-06 getopt: better handling of ambiguous options
+	2017-04-06 getopt: refactor long-option handling
+	2017-04-06 getopt: tidy up _getopt_initialize a bit
+	2017-04-06 getopt: merge from glibc: repetition reduction
+	2017-04-06 getopt: clean up error reporting
+	2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
+	2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
+	2017-04-06 getopt: harmonize comments with glibc
+	2017-04-06 getopt: remove USE_NONOPTION_FLAGS
+	2017-04-06 getopt: tabify, in preparation for merge with glibc
+	2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
+	* build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
+	* lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
+	* lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
+	* lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
+	Copy from gnulib.
+	* lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
+	* lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
+	New files, taken from gnulib.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4:
+	Regenerate.
+
+2017-04-07  Hong Xu  <hong@topbug.net>
+
+	* search.c (Fre_search_forward, Fre_search_backward): Improve doc (Bug#25193).
+
+2017-04-07  Noam Postavsky  <npostavs@gmail.com>
+
+	Mention that processes start in default-directory (Bug#18515)
+
+	* doc/lispref/processes.texi (Synchronous Processes):
+	(Asynchronous Processes):
+	* lisp/subr.el (start-process):
+	* src/callproc.c (call-process): Mention that the subprocess starts in
+	`default-directory' when local, suggest `start-file-process' and
+	`process-file' otherwise.
+
+2017-04-07  Noam Postavsky  <npostavs@gmail.com>
+
+	* src/xdisp.c (vmessage, message): Clarify commentary.
+
+2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor casefiddle.c cleanups
+
+	* src/casefiddle.c: Redo recent changes to match GNU style,
+	and prefer C99-style decls within blocks.
+	(GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
+	we are merely using the Unicode name, and make it a constant
+	rather than a macro.  All uses changed.
+	(SMALL_SIGMA): Remove; unused.
+	(GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
+	and make it a constant rather than a macro.  All uses changed.
+	(do_casify_multibyte_string): Use ‘verify’ rather than an
+	unportable static_assertion local.
+
+2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lisp/international/README: Update to match current list.
+
+2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix 'make clean' in lib subdirectory
+
+	* lib/Makefile.in (clean): Remove *-t files.
+	(mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
+	This removes files like lib/getopt.h that should be removed
+	even if this configuration did not need to build them.
+	(maintainer-clean): Remove TAGS here, not in distclean,
+	to be consistent with ../src/Makefile.in.
+
+2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add new Tramp syntax
+
+	* lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
+
+	* lisp/net/tramp.el (tramp-syntax): Change default to `def'.
+	Add :set function.
+	(tramp-prefix-port-format): Simplify.
+	(tramp-file-name-regexp-separate): Remove.
+	(tramp-initial-file-name-regexp)
+	(tramp-completion-file-name-regexp-old-style)
+	(tramp-initial-completion-file-name-regexp): New defconst.
+	(tramp-prefix-format, tramp-prefix-regexp)
+	(tramp-method-regexp, tramp-postfix-method-format)
+	(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
+	(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
+	(tramp-postfix-ipv6-regexp)
+	(tramp-postfix-host-format, tramp-postfix-host-regexp)
+	(tramp-remote-file-name-spec-regexp)
+	(tramp-file-name-structure, tramp-file-name-regexp)
+	(tramp-completion-file-name-regexp)
+	(tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
+	(tramp-tramp-file-p, tramp-find-method)
+	(tramp-dissect-file-name, tramp-make-tramp-file-name)
+	(tramp-completion-make-tramp-file-name)
+	(tramp-rfn-eshadow-update-overlay)
+	(tramp-register-autoload-file-name-handlers)
+	(tramp-register-file-name-handlers)
+	(tramp-unload-file-name-handlers)
+	(tramp-completion-handle-file-name-all-completions)
+	(tramp-completion-dissect-file-name, tramp-clear-passwd):
+	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
+	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
+	(tramp-compute-multi-hops): Use them.
+
+2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
+
+	Implement special sigma casing rule  (bug#24603)
+
+	In Greek, a sigma character has two lower case forms which depend on
+	their position in the word.  Implement logic determining it.
+
+	* src/casefiddle.c (struct casing_context, case_character_impl): Don’t
+	assume inword is true when flag is CASE_UP and false when flag is
+	CASE_DOWN.  For final sigma detection we need this information tracked
+	reliably;.
+	(CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
+	Unicode code point of different forms of sigma letter.
+	(case_character): Implement support for final sigma casing.
+	(do_casify_multibyte_string, do_casify_multibyte_region): Update after
+	changes to case_character.
+
+	* test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
+	cases for final sigma.
+
+2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
+
+	Support casing characters which map into multiple code points  (bug#24603)
+
+	Implement unconditional special casing rules defined in Unicode standard.
+
+	Among other things, they deal with cases when a single code point is
+	replaced by multiple ones because single character does not exist (e.g.
+	‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
+	into SS).
+
+	* admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
+	standard distribution.
+	* admin/unidata/README: Mention SpecialCasing.txt.
+
+	* admin/unidata/unidata-get.el (unidata-gen-table-special-casing,
+	unidata-gen-table-special-casing--do-load): New functions generating
+	‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
+	character Unicode properties built from the SpecialCasing.txt Unicode
+	data file.
+
+	* src/casefiddle.c (struct casing_str_buf): New structure for
+	representing short strings used to handle one-to-many character
+	mappings.
+
+	(case_character_imlp): New function which can handle one-to-many
+	character mappings.
+	(case_character, case_single_character): Wrappers for the above
+	functions.  The former may map one character to multiple (or no)
+	code points while the latter does what the former used to do (i.e.
+	handles one-to-one mappings only).
+
+	(do_casify_natnum, do_casify_unibyte_string,
+	do_casify_unibyte_region): Use case_single_character.
+	(do_casify_multibyte_string, do_casify_multibyte_region): Support new
+	features of case_character.
+	* (do_casify_region): Updated to reflact do_casify_multibyte_string
+	changes.
+
+	(casify_word): Handle situation when one character-length of a word
+	can change affecting where end of the word is.
+
+	(upcase, capitalize, upcase-initials): Update documentation to mention
+	limitations when working on characters.
+
+	* test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
+	Add test cases for the newly introduced character properties.
+	(casefiddle-tests-casing): Update test cases which are now passing.
+
+	* test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
+	char-fold--ascii-downcase): New functions which behave like old ‘upcase’
+	and ‘downcase’.
+	(char-fold--test-match-exactly): Use the new functions.  This is needed
+	because otherwise fi and similar characters are turned into their multi-
+	-character representation.
+
+	* doc/lispref/strings.texi: Describe issue with casing characters versus
+	strings.
+	* doc/lispref/nonascii.texi: Describe the new character properties.
+
+2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
+
+	Split up casify_region function  (bug#24603)
+
+	No functional changes at this time but splitting casify_region into
+	a function dealing with multibyte and another dealing with unibyte
+	buffers will make future code changes slightly easier.
+
+	* src/casefiddle.c (casify_region): Move most of the code into two
+	new functions:
+	(do_casify_multibyte_region, do_casify_unibyte_region): new functions.
+
+2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
+
+	Add support for title-casing letters  (bug#24603)
+
+	* src/casefiddle.c (struct casing_context, prepare_casing_context): Add
+	titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
+	property table if capitalisation has been requested.
+	(case_character): Make use of the titlecase_char_table to title-case
+	initial characters when capitalising.
+
+	* test/src/casefiddle-tests.el (casefiddle-tests--characters,
+	casefiddle-tests-casing): Update test cases which are now passing.
+
+2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
+
+	Introduce case_character function
+
+	Move single-character casing logic into a separate function so that
+	it is collected in a single place.  This will make future changes to
+	the logic easier.  This commit introduces no functionality changes.
+
+	* src/casefiddle.c (struct casing_context, prepare_casing_context): New
+	sturcture for saving casing context and function to initialise it.
+	(case_character): New function which cases character base on provided
+	context.
+	(do_casify_integer, do_casify_multibyte_string,
+	do_casify_unibyte_string, casify_object, casify_region): Convert to
+	use casing_context and case_character.
+
+2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
+
+	Split casify_object into multiple functions
+
+	casify_object had three major cases to cover and those were mostly
+	independent of each other.  Move those branches to separate function
+	so it’s easier to comprehend each individual case.
+
+	While at it, use somewhat more descriptive ch and cased variable names
+	rather than c and c1.
+
+	This commit introduces no functional changes.
+
+	* src/casefiddle.c (casify_object): Split into…
+	(do_casify_integer, do_casify_multibyte_string,
+	do_casify_unibyte_string): …new functions.
+
+2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
+
+	Update documentation for type semantics of records.
+
+	* objects.texi (Record Type): improve description of what
+	`type-of' returns for records.
+	(Type Descriptors): new section.
+	* elisp.texi: reference it.
+	* records.texi (Records): reference it.  Document behaviour when type
+	slot is a record.
+
+	* alloc.c (Fmake_record, Frecord): mention type desciptors.
+
+2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
+
+2017-04-06  Tom Tromey  <tom@tromey.com>
+
+	require cl-lib to fix fallout from mhtml series
+
+	* lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
+	lisp/emulation/viper.el: Require cl-lib.
+
+2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
+
+	In CANNOT_DUMP builds, allow editing of files named "dump".
+
+	* lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
+	calling dump-emacs only if dump-emacs is defined; otherwise, don't
+	treat those command-line argument specially.
+
+2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
+
+	In CANNOT_DUMP builds, don't prepare for unexec.
+
+	Having a command-line argument of "dump" or "bootstrap" would trigger
+	behavior like not installing signal handlers.  In CANNOT_DUMP modes,
+	we should get signal handlers installed regardless of whatever funny
+	file names we decide to edit.
+
+	src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
+	alterations to initialization that prepares the process for unexec.
+
+2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
+
+	Allow a CANNOT_DUMP build to use exec-path during bootstrap.
+
+	During a bootstrap, loading rmail.el invokes movemail to determine its
+	flavor, but call-process doesn't work if exec-path is nil.
+
+	* lisp/loadup.el: Only clear exec-path if dumping.
+
+2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
+
+	Fix CANNOT_DUMP build on Darwin/macOS.
+
+	* src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
+	CANNOT_DUMP]: Don't define as unexec_malloc, etc.
+	* src/emacs.c (main): Don't call unexec_init_emacs_zone.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	add two more mhtml tests
+
+	* test/manual/indent/html-multi-2.html: New file.
+	* test/manual/indent/html-multi-3.html: New file.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	enable mhtml-mode by default
+
+	* lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
+	html-mode.
+	(magic-fallback-mode-alist): Likewise.
+	* lisp/net/eww.el (eww-view-source): Use mthml-mode.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	add mhtml-mode.el
+
+	* etc/NEWS: Update.
+	* lisp/textmodes/mhtml-mode.el: New file.
+	* test/manual/indent/html-multi.html: New file.
+	* test/lisp/textmodes/mhtml-mode-tests.el: New file.
+	* doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	change sgml-mode to help multi-html mode
+
+	* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
+	defconst.
+	(sgml-syntax-propertize): Use it.
+	(sgml--find-<>-backward): New function.
+	(sgml-parse-tag-backward): Use it.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	make js.el respect prog-first-column
+
+	* lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	make smie.el respect prog-first-column
+
+	* lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	change viper to use derived-mode-p
+
+	* lisp/subr.el (provided-mode-derived-p): New function.
+	(derived-mode-p): Use it.
+	* lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
+	(this-major-mode-requires-vi-state): Use provided-mode-derived-p.
+	(set-viper-state-in-major-mode): Use derived-mode-p.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	change align to use derived-mode-p
+
+	* lisp/align.el (align-region): Use derived-mode-p.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	change org to use derived-mode-p
+
+	* lisp/org/org-list.el (org-list-insert-radio-list): Use
+	derived-mode-p.
+	* lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
+	derived-mode-p.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	change semantic to use derived-mode-p
+
+	* lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	change calc to use derived-mode-p
+
+	* lisp/calc/calc-embed.el (calc-embedded-find-modes)
+	(calc-embedded-make-info): Use derived-mode-p.
+
+2017-04-05  Tom Tromey  <tom@tromey.com>
+
+	change auto-insert to use derived-mode-p
+
+	* lisp/autoinsert.el (auto-insert): Use derived-mode-p.
+
+2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lisp/info.el (Info-search): Fix typo in April 1 change.
+
+2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor cleanups related to type-of
+
+	* src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
+	* src/data.c (syms_of_data):
+	* src/frame.c (syms_of_frame): Put all the primitive type names
+	together, under the "Types that type-of returns" comment.
+
+2017-04-05  Glenn Morris  <rgm@gnu.org>
+
+	* doc/lispref/package.texi (Package Archives): Mention https.
+
+2017-04-05  Glenn Morris  <rgm@gnu.org>
+
+	Advertise https for homepage of gnu.org packages
+
+	* lisp/emacs-lisp/package.el (describe-package-1):
+	Use https, if supported, for the homepage of packages on gnu.org.
+
+2017-04-05  Glenn Morris  <rgm@gnu.org>
+
+	Default to https for elpa.gnu.org if gnutls available
+
+	* lisp/emacs-lisp/package.el (package-archives):
+	Default to https for elpa.gnu.org if gnutls is available.  Ref:
+	http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00130.html
+
+2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor simplifications and doc for records
+
+	* doc/lispref/records.texi (Records): Mention size limit.
+	* etc/NEWS: Mention records.
+	* src/alloc.c (allocate_pseudovector, allocate_record):
+	Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
+	(allocate_record): Check arg range here, not in callers, as this
+	simplifies the code.  Use allocate_vectorlike instead of
+	allocate_vector, to avoid duplicate runtime tests.
+	(Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
+	the doc string, as it is not visible to the user.
+	(Fmake_record, record, Fcopy_record):
+	Prefer make_lisp_ptr to XSETVECTOR.
+	(record): Broaden memcpy to copy the type, too.
+
+2017-04-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix recent changes in record data type
+
+	* src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
+	compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
+
+2017-04-04  Philipp Stephani  <phst@google.com>
+
+	Make subprocess functions resolve the default directory
+
+	`call-process' doesn't respect file name handlers in
+	`default-directory', so `file-name-non-special' has to resolve them
+	for `process-file', `start-file-process', and
+	`shell-command' (Bug#25949).
+
+	* lisp/files.el (file-name-non-special): Also resolve default
+	directory for 'process-file', 'start-file-process', and
+	'shell-command'.
+	* test/lisp/files-tests.el
+	(files-tests--file-name-non-special--subprocess): Add unit test.
+
+2017-04-04  Philipp Stephani  <phst@google.com>
+
+	Make ediff handle remote and quoted file names
+
+	Quoted file names need to be unquoted before passed to
+	subprocesses (Bug#25950).
+
+	* lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
+	file names.
+	* test/lisp/vc/ediff-diff-tests.el
+	(ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
+
+2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Backward compatibility with pre-existing struct instances.
+
+	* lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
+	(cl-old-struct-compat-mode): New minor mode.
+
+	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
+	cl-struct-define to signal use of record objects.
+
+	* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
+	cl-struct-define): Enable legacy defstruct compatibility.
+
+	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
+	old-struct): New tests.
+
+	* doc/lispref/elisp.texi, doc/lispref/records.texi: Document
+	`old-struct-compat'.
+
+2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
+
+	Make the URL library use records.
+
+	* lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
+	lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
+	lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
+
+	* lisp/url/url-http.el (url-http): Check for type `url' instead of
+	`vector'.
+
+2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Make EIEIO use records.
+
+	* lisp/emacs-lisp/eieio-compat.el
+	(eieio--generic-static-object-generalizer): Adjust to new tags.
+
+	* lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
+	directly as tag.
+	(eieio--object-class): Adjust to new tag representation.
+	(eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
+	(eieio-defclass-internal): Use `make-record'.
+	(eieio--generic-generalizer): Adjust generalizer code accordingly.
+
+	* lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
+
+	* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
+	Add `recordp'.
+
+	* doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
+
+2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
+
+	Make cl-defstruct use records.
+
+	* lisp/emacs-lisp/cl-extra.el (cl--describe-class)
+	(cl--describe-class-slots): Use the new `type-of'.
+
+	* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
+	(cl--generic-struct-specializers): Adjust to new tag.
+
+	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
+	Use the type symbol as the tag.  Use copy-record to copy structs.
+	(cl--defstruct-predicate): New function.
+	(cl--pcase-mutually-exclusive-p): Use it.
+	(cl-struct-sequence-type): Can now return `record'.
+
+	* lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
+	code to new format.
+	(cl--struct-register-child): Work with records.
+	(cl-struct-define): Don't touch the tag's symbol-value and
+	symbol-function slots when we use the type as tag.
+
+	* lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
+
+	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
+	New test.
+
+	* doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
+
+2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
+
+	Add record objects with user-defined types.
+
+	* src/alloc.c (allocate_record): New function.
+	(Fmake_record, Frecord, Fcopy_record): New functions.
+	(syms_of_alloc): defsubr them.
+	(purecopy): Work with records.
+
+	* src/data.c (Ftype_of): Return slot 0 for record objects, or type
+	name if record's type holds class.
+	(Frecordp): New function.
+	(syms_of_data): defsubr it.  Define `Qrecordp'.
+	(Faref, Faset): Work with records.
+
+	* src/fns.c (Flength): Work with records.
+
+	* src/lisp.h (prec_type): Add PVEC_RECORD.
+	(RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
+
+	* src/lread.c (read1): Add syntax for records.
+
+	* src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
+	(print_object): Add syntax for records.
+
+	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
+	New test.
+
+	* test/src/alloc-tests.el (record-1, record-2, record-3):
+	New tests.
+
+	* doc/lispref/elisp.texi, doc/lispref/objects.texi,
+	doc/lispref/records.texi: Add documentation for records.
+
+2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix a test in python-test.el
+
+	Fix a test that breaks the test suite when it is run within a
+	virtual environment.
+	See following link for details:
+	https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00857.html
+	* test/lisp/progmodes/python-tests.el
+	(python-shell-calculate-process-environment-7): Bind
+	python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
+	bind it to '/env'.
+
+2017-04-04  Noam Postavsky  <npostavs@gmail.com>
+
+	Throw a `search-failed' derived error in Info search
+
+	The original fix for Bug#6106 switched from signalling `search-failed'
+	to `user-error'.  However, this breaks incremental searching over
+	multiple nodes because the isearch code doesn't expect a `user-error'.
+
+	* src/search.c (syms_of_search): New error, `user-search-failed',
+	with `user-error' and `search-failed' as parents.
+	* doc/lispref/errors.texi (Standard Errors): Document it.
+	* etc/NEWS: Announce it.
+	* lisp/info.el (Info-search): Use it instead of `user-error' so that
+	isearch will handle failed searches correctly.
+
+2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add Tramp test
+
+	* doc/misc/tramp.texi (Remote processes): Fix typo.
+
+	* lisp/shell.el (shell): Fix typo.
+
+	* lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
+
+	* test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
+	New test.
+	(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
+	(tramp-test31-vc-registered)
+	(tramp-test32-make-auto-save-file-name)
+	(tramp-test33-make-nearby-temp-file)
+	(tramp-test34-special-characters)
+	(tramp-test34-special-characters-with-stat)
+	(tramp-test34-special-characters-with-perl)
+	(tramp-test34-special-characters-with-ls, tramp-test35-utf8)
+	(tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
+	(tramp-test35-utf8-with-ls)
+	(tramp-test36-asynchronous-requests)
+	(tramp-test37-recursive-load, tramp-test38-unload): Rename.
+
+2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/ses.el: Silence byte-compiler warnings.
+
+	(ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
+	byte-compiler warnings.
+
+2017-04-02  Glenn Morris  <rgm@gnu.org>
+
+	Belated fixes for admin.el's M-x make-manuals-dist
+
+	* admin/admin.el (make-manuals-dist-output-variables): Additions.
+	(make-manuals-dist--1): Also copy docstyle.texi.
+
+2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix bugs in simplified test dependencies
+
+	Problem reported by Glenn Morris in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00017.html
+	* test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
+	(TESTS): Omit unnecessary patsubst.
+	(test_template): Redo dependency heuristic, hopefully
+	correctly this time.  It's the .log file that depends,
+	not the phony test target.  Declare the phonies to be PHONY.
+	Resurrect the exception for the *-tests subdirectory.
+	Adjust to the fact that leading "./" is omitted now.
+
+2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
+
+	Fix typo in docstring
+
+	* lisp/help.el: Fix typo.
+
+2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
+
+	Apply connecion-local variables for shells
+
+	* doc/misc/tramp.texi (Remote processes): Show use of connection-local
+	variables.  Don't mention Emacs 23 anymore.
+	(Frequently Asked Questions): Precise Emacs and MS Windows version.
+
+	* lisp/files-x.el (connection-local-normalize-criteria):
+	Suppress nil properties.
+	(connection-local-set-profiles, with-connection-local-profiles):
+	Adapt docstring.
+
+	* lisp/shell.el (shell): Apply connecion-local variables.
+
+2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
+
+	Propertize only perl prototype chars `][$%&*;+@\' as punctuation
+
+	This prevents variables in signatures such as `sub add ($a, $b)' from
+	being treated as punctuation.
+	* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
+	Strictly match only prototype characters as punctuation.  (Bug#26037)
+
+2017-04-01  Tom Tromey  <tom@tromey.com>
+
+	fix two js-mode syntax propertization bugs
+
+	Bug#26070:
+	* lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
+	zero-or-one to regular expression.
+	(js-syntax-propertize-regexp): Update.  Propertize body of regexp
+	literal up to END.
+	* test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
+	(js-mode-propertize-bug-2): New tests.
+
+2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify test dependency generation
+
+	Generate default dependencies by using GNU extensions to ‘make’
+	rather than via a hacky auxiliary program and script.
+	* .gitignore: Remove test/make-test-deps.mk.
+	* test/Makefile.in (ELFILES, LOGFILES, TESTS):
+	Use :=, not =, to avoid multiple redundant invocations of ‘find’.
+	(test_template): Infer dependency directly instead of via
+	make-test-deps.mk.
+	(check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
+	(clean): No need to clean make-test-deps.mk.
+	(make-test-deps.mk): Remove rule.
+	* test/make-test-deps.emacs-lisp: Remove.
+
+2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
+
+	(cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
+	test suite.
+	(cl-lib-symbol-macrolet-2): New test.
+
+2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
+
+	Use only posix options in a ediff-ptch test
+
+	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
+	Use just "-b" patch option.  Don't assume a particular suffix for
+	the backup files.
+
+2017-04-01  Jarno Malmari  <jarno@malmari.fi>
+
+	Initial implementation of HTTP Digest qop for url
+
+	This also refactors digest authentication functions in url-auth.el.
+
+	* lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
+	(url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
+	(url-digest-auth-name-value-string, url-digest-auth-source-creds):
+	(url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
+	(url-digest-find-new-key, url-digest-prompt-creds): Add new functions
+	to simplify code and aid in unit testing.
+	(url-digest-auth-build-response): Hook up new functionality, or fall
+	back to previous.
+	(url-digest-auth-make-request-digest-qop):
+	(url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
+	(url-digest-auth-name-value-string): Add new helper functions.
+	* test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
+	(url-auth-test-digest-ha1, url-auth-test-digest-ha2):
+	(url-auth-test-digest-request-digest): Add a few tests as now more
+	features are testable via intermediate functions.
+	(url-auth-test-challenges, url-auth-test-digest-request-digest): Test
+	the new implementation.  Parts of these were accidentally already
+	merged in the past.
+
+2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
+
+	Tweak ediff-ptch test in previous commit a bit more
+
+	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
+	Apply patches without requiring a shell.  Add some comments.
+
+2017-03-31  Glenn Morris  <rgm@gnu.org>
+
+	Tweak an ediff-ptch test
+
+	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
+	Add skip conditions.  Avoid going through shell where not needed.
+
+2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp-smb.el (tramp-smb-errors):
+
+	Add "NT_STATUS_PASSWORD_MUST_CHANGE".
+
+2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
+
+2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
+
+	dired-mark-suffix: New command
+
+	Now dired-mark-extension prepends '.' to extension when not present.
+	Add command dired-mark-suffix to preserve the previous
+	behaviour (Bug#25942).
+	* lisp/dired-x.el (dired-mark-suffix): New command;
+	mark files ending in a given suffix.
+	(dired--mark-suffix-interactive-spec): New defun.
+	(dired-mark-extension, dired-mark-suffix): Use it.
+	* doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
+	* test/lisp/dired-x-tests.el: New test suite; add test for these features.
+
+2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
+
+	default-directory: Remark that it must be a directory name
+
+	* src/buffer.c (default-directory): Update docstring (Bug#26272).
+
+2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
+
+	Delete confuse statement in manual
+
+	* doc/misc/cl.texi (For Clauses): Delete confuse statement
+	and its example (Bug#23550).
+
+2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use find -delete if available
+
+	This shortens the ‘make’ output and should avoid some
+	repetitive scanning of directories during a build.
+	* configure.ac (FIND_DELETE): New var.
+	* lisp/Makefile.in (compile-always, bootstrap-clean):
+	* test/Makefile.in (clean, bootstrap-clean): Use it.
+	* test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
+
+2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Remove gnus-boundp
+
+	* lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
+	bound-and-true-p.
+	* lisp/gnus/gnus-util (gnus-boundp): Remove.
+
+2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
+
+	Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
+
+	* lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
+	end of line after deleting horizontal whitespace.
+
+2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/inotify.c (add_watch): Add comment.
+
+2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
+
+	Minor filenotify.el fixes
+
+	* lisp/filenotify.el: Require subr-x.
+	(file-notify-callback): Use equal, not eq.
+
+2017-03-31  Noam Postavsky  <npostavs@gmail.com>
+
+	Improve packaging documentation
+
+	* doc/lispref/package.texi (Packaging Basics):
+	* doc/lispref/tips.texi (Library Headers): Clarify some header
+	formats, relation between file headers and package
+	attributes (Bug#13281).
+
+2017-03-31  John Mastro  <john.b.mastro@gmail.com>
+
+	Fix a small incompatibility in ibuffer
+
+	Translate nil values from column functions to the empty string, so that
+	subsequent calls to string-width don't signal an error (Bug#26317).
+	* lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
+	nil, treat it like the empty string.
+
+2017-03-30  Alan Mackenzie  <acm@muc.de>
+
+	Fix C++ fontification problems 500 bytes after typing a space, and other bugs
+
+	Also implement the "asymmetric space" rule for fontifying otherwise
+	ambiguous
+	declarations/expressions.
+
+	* lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
+	c-new-BEG or c-new-END when there is no need.
+	(c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
+	space" rule.
+
+	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
+	extracted from c-font-lock-declarations.  Add to this function processing to
+	make `context' 'decl for lines contained within parens when these are also
+	declarations.
+	(c-font-lock-declarations): Call the newly extracted function above in place
+	of inline code.
+
+	* lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
+	c-literal-start.
+
+	* lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
+
+	* doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
+	"asymmetric fontification" rule, including the variable
+	c-asymmetric-fontification-flag.
+
+2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Some inotify cleanup
+
+	This catches some problems with integer overflow and races
+	that I noticed in inotify.c after reviewing the changes
+	installed to fix Bug#26126.
+	* src/fns.c, src/lisp.h (equal_no_quit): Now extern.
+	* src/inotify.c (aspect_to_inotifymask):
+	Check for cycles and for improper lists.
+	(make_lispy_mask, lispy_mask_match_p): Remove.
+	All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
+	(inotifyevent_to_event, add_watch):
+	Don’t assume watch descriptors and cookies fit in fixnums.
+	(add_watch): Use assoc_no_quit, not Fassoc.
+	Avoid integer overflow in (very!) long-running processes where
+	the Emacs watch ID could overflow.  Avoid some duplicate code.
+	(find_descriptor): New function.
+	(remove_descriptor): First arg is now the returned value from
+	find_descriptor, rather than the descriptor.  This way, the
+	value can be removed without calling Fdelete, which might quit.
+	Wait until the end (when watch_list is consistent) before signaling
+	any errors.
+	(remove_watch, inotify_callback):
+	Use find_descriptor to avoid the need for Fdelete.
+	(inotify_callback): Use simpler tests for ioctl failure.
+	Free temporary buffer if signaled, and put it on the stack if small.
+	Use ssize_t to index through read results, to avoid a cast.
+	(valid_watch_descriptor): New function, with a tighter check.
+	(Finotify_rm_watch, Finotify_valid_p): Use it.
+	(Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
+	of Fassoc.  Do not assume the first assoc succeeds.
+	* test/src/inotify-tests.el (inotify-valid-p-simple):
+	Add inotify-valid-p tests, some of which dump core without
+	the fixes noted above.
+
+2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
+
+2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
+
+2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix assoc_no_quit so that it does not quit
+
+	The problem was that it called Fequal, which can quit.
+	* src/fns.c (enum equal_kind):
+	New enum, to be used in place of a boolean.
+	(equal_no_quit): New function.
+	(Fmemql, Feql): Use it to compare floats, as a minor tuneup.
+	(assoc_no_quit): Use it to avoid quitting, the main point here.
+	(internal_equal): Generalize bool to enum equal_kind arg, so that
+	there are now 3 possibilities instead of 2.  Do not signal an
+	error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
+	should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
+	changed.
+
+2017-03-29  Alan Mackenzie  <acm@muc.de>
+
+	Amend gitmerge to recognize the injunction "don't merge".
+
+	* admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
+	well as "do not".
+
+2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Add one more CSS pseudo-class
+
+	* lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
+	`focus-within'.
+
+2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Update list of CSS pseudo-classes
+
+	* lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
+	pseudo-classes.
+
+2017-03-29  Noam Postavsky  <npostavs@gmail.com>
+
+	Adjust some search failure errors in info.el
+
+	* lisp/info.el (Info-select-node): The search for beginning of node is
+	an internal detail, and is not normally expected to fail, so it should
+	not be a user error.
+	(Info-complete-menu-item): Failing to find a menu indicates the user
+	searched for a menu when there isn't one, so change to `use-error'.
+
+2017-03-28  Alan Mackenzie  <acm@muc.de>
+
+	* lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
+
+2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t mishandle (format "%i" -1.0)
+
+	* src/editfns.c (styled_format): Treat %i like %d when converting arg.
+
+2017-03-28  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
+
+2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
+
+	* src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
+
+2017-03-28  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't add `search-failed' to ignored errors in info.el (Bug#6106)
+
+	* lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
+	(Info-select-node, Info-search): Replace (signal 'search-failed ...)
+	with (user-error "Search failed: "...).
+
+2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix obsolete ‘test/automated’ references
+
+	* Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
+	(bootstrap-clean, maintainer-clean):
+	Clean ‘test’, not ‘test/automated’.  Test for existence of
+	subdirectory only for ‘test’, not for directories that should
+	always exist.
+	* admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
+	* lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
+	* lisp/man.el (Man-parse-man-k):
+	* lisp/url/url-domsuf.el, make-dist:
+	* test/file-organization.org:
+	Fix obsolete references to test/automated.
+
+2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	shr-image-fetched: Work for narrowed Gnus article
+
+	See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
+
+	* lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
+
+2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
+
+2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+	Expand manual section on quitting windows
+
+	* doc/lispref/windows.texi (Quitting Windows): Provide more
+	  information about the elements of the quit-restore window parameter,
+	  and how they affect the behavior of quit-restore-window.
+
+2017-03-26  Philipp Stephani  <phst@google.com>
+
+	Add check for expected backtrace in module calls.
+
+	* test.el (mod-test-non-local-exit-signal-test): Compare actual
+	  backtrace to expected backtrace.
+
+2017-03-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix redisplay glitches due to recent change in redisplay_internal
+
+	* src/xdisp.c (redisplay_internal): A better fix for bug#26097.
+	See http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00695.html
+	for the problems caused by the original fix.
+
+2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#26258
+
+	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
+	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
+	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
+	Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
+
+	* lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
+	(tramp-register-autoload-file-name-handlers)
+	(tramp-register-file-name-handlers): Do not handle
+	`tramp-autoload-file-name-handler' anymore.  Mark `operations'
+	the handlers are responsible for.
+	(tramp-register-foreign-file-name-handler): New defun.
+
+2017-03-26  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix docstring of dabbrev-abbrev-char-regexp
+
+	* lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
+	is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
+	previous character doesn't match, we search backwards for one that
+	does, not throw an error.  Replace Lisp example with C based one to
+	make it clear that "symbol" means a sequence of word and symbol
+	constituent characters, not a Lisp symbol (Bug#358).
+
+2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
+
+	* doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
+
+2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
+
+	Minor fixes for inotify.c and filenotify.el
+
+	* lisp/filenotify.el (file-notify--watch-absolute-filename):
+	Add docstring.
+	(file-notify-callback): Simplify.
+
+	* src/inotify.c (Finotify_add_watch): Adapt docstring.
+
+2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
+
+	Fix issues regarding inotify file-notification
+
+	Remove special code handling the inotify back-end.
+	* lisp/filenotify.el (file-notify--watch): New struct
+	representing a file-watch.
+	(file-notify-descriptors): Use the new struct as hash-value.
+	(file-notify-handle-event): Check that event is a cons.
+	(file-notify--rm-descriptor, file-notify--event-watched-file)
+	(file-notify--event-file-name, file-notify--event-file1-name)
+	(file-notify-callback, file-notify-add-watch)
+	(file-notify-rm-watch, file-notify-valid-p): Use new struct.
+	Remove special code handling inotify descriptors.  Remove code
+	handling multiple clients per descriptor.
+	(file-notify--descriptor): Remove unused function.
+
+	Let inotify-add-watch return a unique descriptor on every
+	call, like every other back-end does (Bug#26126).  Prevent
+	multiple clients from interfering with each other, when
+	watching a shared descriptor.
+	* src/inotify.c (watch_list): Extend the format by including a
+	id and the provided mask.
+	(INOTIFY_DEFAULT_MASK): Default mask used for all clients.
+	(make_watch_descriptor): Removed.
+	(make_lispy_mask, lispy_mask_match_p): New functions.
+	(inotifyevent_to_event): Match event against the mask provided
+	by the client.
+	(add_watch, remove_descriptor, remove_watch): New functions
+	for managing the watch_list.
+	(inotify_callback): Use the new functions.
+	(Finotify_add_watch, Finotify_rm_watch): Remove deprecated
+	flags from documentation.  Add check for validity of provided
+	descriptor.  Use the new functions.  Use the default mask.
+	(INOTIFY_DEBUG): Add new debug conditional.
+	(inotify-watch-list, inotify-allocated-p): New debug functions.
+	(symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
+
+	* test/lisp/filenotify-tests.el:
+	(file-notify-test02-rm-watch): Remove expected failure for inotify.
+
+2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
+
+	* lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
+
+2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
+
+	Stop edebug getting stuck on backquote (Bug#23651)
+
+	* lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
+	reading backquote or comma.
+
+2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+	Expand manual section on quitting windows
+
+	* doc/lispref/windows.texi (Quitting Windows): Provide more
+	  information about the elements of the quit-restore window parameter,
+	  and how they affect the behavior of quit-restore-window.
+
+2017-03-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Support in ispell.el multiple dictionaries loaded by Hunspell
+
+	* lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
+	Support Hunspell configurations that load more than one dictionary
+	by default.  Doc fix.  (Bug#25830)
+
+2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
+
+	Simplify Tramp autoloading.
+
+	* lisp/net/tramp.el (tramp-completion-file-name-handler):
+	Simplify autoloading.  Give it the `operations' property.
+	(tramp-completion-handle-expand-file-name): Remove.
+
+2017-03-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a segfault due to failure to realize some faces
+
+	* src/xdisp.c (redisplay_internal): If the frame becomes garbaged
+	while redisplaying its windows, redisplay all of its windows
+	again.  (Bug#26097)
+	(init_iterator): When freeing all realized faces on all frames,
+	reset the 'face_change' flag of the frame whose window we are
+	about to iterate.
+
+2017-03-25  Philipp Stephani  <phst@google.com>
+
+	Use a named function for 'safe-local-variable
+
+	This improves the help screen for `version-control' (Bug#25431).
+
+	* lisp/files.el (version-control-safe-local-p): New function.
+	(version-control): Use it.
+
+2017-03-25  Eli Zaretskii  <eliz@gnu.org>
+
+	;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
+
+2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
+
+	Make it easier to abort a series of tests with C-g
+
+	* emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
+	interactively is true and a test was aborted then ask if the remaining
+	tests should be aborted too.
+	(ert-run-tests-batch, ert-run-tests-interactively): Pass in
+	interactively arg.
+
+2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t require chown/chgrp for game installation
+
+	Problem reported by Joseph Mingrone in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00622.html
+	* lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
+	chgrp fails with update-game-score and the game directory.
+	Instead, expect the installer to fix this up afterwards.
+
+2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
+
+	(elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
+	Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
+
+2017-03-23  Philipp Stephani  <phst@google.com>
+
+	Protect against an infloop in python-mode
+
+	There appears to be an edge case caused by using `syntax-ppss' in a
+	narrowed buffer during JIT lock inside of Python triple-quote strings.
+	Unfortunately it is impossible to reproduce without manually
+	destroying the syntactic information in the Python buffer, but it has
+	been observed in practice.  In that case it can happen that the syntax
+	caches get sufficiently out of whack so that there appear to be
+	overlapping strings in the buffer.  As Python has no nested strings,
+	this situation is impossible and leads to an infloop in
+	`python-nav-end-of-statement'.  Protect against this by checking
+	whether the search for the end of the current string makes progress.
+
+	* python.el (python-nav-end-of-statement): Protect against infloop.
+	* progmodes/python-tests.el
+	(python-tests--python-nav-end-of-statement--infloop): Add unit test.
+
+2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	* doc/lispref/os.texi (File Notifications):
+
+	Strengthen the recommendation to use filenotify.el.
+
+2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-03-22 getopt: merge from glibc
+	* build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
+	* lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
+	* lib/gnulib.mk.in: Regenerate.
+
+2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	Use lexical-bind in Tramp
+
+	* lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
+
+	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
+	rather than `add-to-list'.
+	(tramp-adb-get-device): Remove unused variable.
+
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
+	variable.
+
+	* lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
+	(tramp-find-file-name-coding-system-alist): Use `push' rather
+	than `add-to-list'.
+
+	* test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
+	Require 'dired.  Move declarations up.
+	(tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
+	and `temporary-file-directory' calls with `with-no-warnings'.
+	(tramp-test35-asynchronous-requests): Mark unused variable.
+
+2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
+	    Noam Postavsky  <npostavs@gmail.com>
+
+	Do not include comment start chars in ffap string
+
+	* lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
+	ensure that the returned string does not contain the comment start
+	characters (especially for major modes that have '//' as comment start
+	characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
+	enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
+	C-f" on a "//foo" comment will initiate an attempt to access a path
+	"//foo" (Bug#24057).
+
+2017-03-23  Martin Rudalics  <rudalics@gmx.at>
+
+	c:/Temp/gtk-window-move/ChangeLog.txt
+
+2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix filenotify.el issue for kqueue
+
+	* lisp/filenotify.el (file-notify-add-watch): Use directory
+	for remote file name handlers.
+
+	* test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
+	Create/delete temporary file only for "kqueue".
+	(file-notify-test02-rm-watch): Create/delete temporary files.
+
+2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
+
+	Extend `file-notify-test02-rm-watch'
+
+	* test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
+	Expect it failed for inotify.  Divide tests into different
+	`unwind-protect' clauses.  Check, that removing watch
+	descriptors out of order do not harm.  (Bug#26126)
+
+2017-03-22  Noam Postavsky  <npostavs@gmail.com>
+
+	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
+
+2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
+
+	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
+
+2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve configure --with-pop etc. diagnostics
+
+	* configure.ac: Improve diagnostics re --with-pop and
+	--with-mailutils (Bug#26102).
+
+2017-03-21  Eli Zaretskii  <eliz@gnu.org>
+
+	Revert "Make --without-pop the default."
+
+	This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
+
+2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don’t remove dependency files when configuring
+
+	Problem reported by Tom Tromey in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00533.html
+	* configure.ac: Don’t remove */*.o and */deps/* when
+	--enable-autodepend is in effect.
+
+2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make --without-pop the default.
+
+	Suggested by Angelo Graziosi in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
+	* configure.ac: Change the default from --with-pop to
+	--without-pop.  Adjust diagnostics to match.
+
+2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Streamline dependency-file generation
+
+	* configure.ac (AUTODEPEND_PARENTS): New var.
+	mkdir the dependency directories here, to simplify ‘make’.
+	Remove dependency files just before outputting Makefiles, so that
+	they are preserved if ‘configure’ exits early due to some other problem.
+	* lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
+	* src/Makefile.in: Adjust deps strategies to be similar, as follows:
+	(MKDEPDIR): Remove.  All uses removed.  This cuts down on the
+	number of processes spun off by ‘make’.
+	(clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
+	(distclean): Remove $(DEPDIR) itself.
+	* lwlib/Makefile.in (all): Move to front, so that depdir includes
+	do not alter default action.
+
+2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port and simplify example sh script
+
+	* doc/misc/org.texi (noweb-ref): Simplify shell script example and
+	don’t use ‘tail -1’, which is not portable.
+
+2017-03-21  Noam Postavsky  <npostavs@gmail.com>
+
+	Narrow scope of modification hook renabling in org-src fontification
+
+	Modification hooks should be enabled while modifying text in the
+	org-src temp buffer, but in 2017-01-29 "Call modification hooks in
+	org-src fontify buffers" the hooks were enabled also for modifications
+	to the original org buffer.  This causes fontification errors when
+	combined with certain packages, as reported in
+	http://lists.gnu.org/archive/html/emacs-orgmode/2017-03/msg00420.html.
+
+	* lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
+	of inhibit-modification-hooks let-binding.
+
+2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
+
+	epatch: Save right backups in Git multipatches
+
+	Multipatches on N Git files save wrong backups for
+	N-1 files; only the last one has a correct backup (Bug#26084).
+	* lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
+	* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
+	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
+	Rename from ibuffer-test-bug25010.
+	(ediff-ptch-test-bug26084): New test.
+
+2017-03-21  Michael R. Mauger  <michael@mauger.com>
+
+	    * lisp/progmodes/sql.el: Version 3.6
+
+	    (sql-login-params): Added :must-match for completition of
+	    `server' and `database' login parameters.
+	    (sql-sqlite-login-params, sql-postgres-login-params): Set
+	    :must-match to `confirm'.
+	    (sql-get-login-ext): Use :must-match value to control
+	    `read-file-name' or `completing-read'.
+	    (sql-connect): Added optional BUF-NAME parameter; Reworked
+	    connection variable processing; Pass buffer name to
+	    `sql-product-interactive'.
+	    (sql-product-interactive): Pass buffer name along.
+	    (sql-comint): Add optional BUF-NAME and calculate reasonable default.
+	    (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
+	    (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
+	    (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
+	    (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
+	    (sql-comint-vertica): Add optional BUF-NAME, pass to
+	    `sql-comint'.
+	    (sql-oracle--list-oracle-name): New function.
+	    (sql-oracle-list-all): Use it.
+	    (sql-oracle-completion-object): Enhanced.
+
+2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+	Solve ses-recalculate-cell updating only current line bug.
+
+	* lisp/ses.el (ses-recalculate-cell): Add optional argument
+	ses--curcell to avoid overwriting ses--curcell when function is
+	called from ses-recalculate-all.  Update docstring accordingly.
+	(ses-recalculate-all): Call ses-recalculate-cell with argument
+	ses--curcell to avoid its overwriting.
+
+2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix problem with out-of-date dependencies
+
+	Problem reported by Robert Marshall in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00501.html
+	Although this problem has been with us for a while, the recent
+	change from Automake to GNU Make exposed it again.
+	* configure.ac (AUTO_DEPEND): When autodepending, clean out any
+	leftover dependency and object files, since the previous sources'
+	dependencies may disagree with the current ones.  Reconfiguring
+	typically needs to force a rebuild anyway.
+
+2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Simpler filter implementation
+
+	* lisp/play/dunnet.el (dun-endgame-question): Get or set
+	dun-endgame-questions one time only.  Use dolist and an index to
+	prune the list.
+
+2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/button.el (forward-button): Use user-error instead.
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This gets Emacs working again with HP-UX Itanium cc.
+	It incorporates:
+	2017-03-19 stdalign: tweak version# and test for HP-UX IA64
+	2017-03-18 stdalign: restore previous behavior for HP-UX IA64
+	2017-03-17 stat-time, timespec: Support header files in C++ mode
+	2017-03-17 stdalign: Make it work with HP-UX cc
+	2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
+	2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
+	2017-03-14 gnulib-tool: don't produce tests with only snippets
+	2017-03-14 limits-h: Make it work with HP-UX cc.
+	* etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
+	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+	* lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
+	* lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
+	Copy from gnulib.
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* ChangeLog.2: Merge from emacs-25.
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fixups after merge from emacs-25
+
+	* etc/NEWS: Remove stray entry.
+	* etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
+	* lisp/textmodes/rst.el (rst-package-emacs-version-alist):
+	Make it nondecreasing.
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	d71e071 Improve documentation of interactive "r".
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
+	1925dd9 Fix duplicate wording in Emacs manual
+	6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
+	2d671fd Fix wording in Emacs manual
+	a8766a2 Document how to customize input methods
+	6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
+	aceac95 Fix warning message about native completion (Bug#25984)
+	a314c1f Clarify documentation of 'raise' and 'height' display specs
+	f366f6e Mention problems with GPaste in PROBLEMS
+	6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
+	6406618 Fix doc strings in info.el
+	c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
+	eed9677 Fix doc string of 'posn-at-point'
+	0d5957e Documentation fix in elisp reference manual
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
+	2b774fa Mention "editor" in Emacs man page header
+	ae60d0c Document problems with nerd-fonts
+	2fdb5a9 ; Details about pinning Emacs to w32 task bar
+	5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
+	4c51ef4 Clarify what is the "cursor"
+	8303c32 ; * etc/NEWS: Copyedits.
+	3f7493e ; Fix a typo in comment
+	c54cf8d Improve commentary in lisp.h
+	8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
+	0ba9932 Disable native completion for ipython (Bug#25067)
+	38fc456 Fix a typo in ada-mode manual
+	00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
+	a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
+
+	# Conflicts:
+	#	etc/NEWS
+	#	etc/PROBLEMS
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
+	7e02a47 Index byte-compile-debug
+	7c1e598 Document `byte-compile-debug' in the ELisp manual
+	4d81eb4 Document variable `byte-compile-debug'
+	72ef710 Fix call to debugger on assertion failure
+	ae8264c Call modification hooks in org-src fontify buffers
+	b3139da ; Fix last change in doc/lispref/strings.texi
+	c331f39 Improve documentation of 'format' conversions
+	9f52f67 Remove stale functions from ert manual
+	c416b14 Fix a typo in Eshell manual
+	06695a0 ; Fix a typo in ediff-merg.el
+	954e9e9 Improve documentation of hooks related to saving buffers
+	9fcab85 Improve documentation of auto-save-visited-file-name
+	2236c53 fix typo in mailcap-mime-extensions
+	85a3e4e Fix typos in flymake.el
+	a1ef10e More NEWS checking for admin.el's set-version
+
+	# Conflicts:
+	#	lisp/emacs-lisp/bytecomp.el
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	5569e64 ; Spelling fixes
+	24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
+	9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
+	69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
+	42eae54 Improve documentation of dabbrevs
+	b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
+	3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
+
+	# Conflicts:
+	#	lisp/textmodes/rst.el
+
+2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	0e35405 Improve documentation of coding-systems
+	c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
+	16fb50d Fix an error message in python.el
+	a2a2073 Clarify major mode switching
+	fc38671 Add helpful comment to compile-command's docstring
+	ee65d85 Fix ':version' of 'select-enable-primary'
+
+2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
+
+	Fix bug in generator function with pcase (Bug#26068)
+
+	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
+	to symbol-name.
+
+2017-03-19  Alan Mackenzie  <acm@muc.de>
+
+	Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
+
+	* lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
+	invocation of c-on-identifier with a check we're not at the _end_ of an
+	identifier.
+
+	* doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
+	perl versions of texi2dvi haven't implemented it.
+	(Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
+	in Pike Mode.
+	(Statement Block Symbols): Add a section illustrating a C++ lambda function.
+	(FAQ): Add a question about "excessive" indentation of the contents of a C++
+	lambda function, and how to get rid of it.
+
+2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Remove unused vars in cl-extra.el and tramp.el.
+
+	* lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
+
+	* lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
+	(outline-regexp, ls-lisp-use-insert-directory-program): Declare.
+	(tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
+
+2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Improve describe-symbol's layout of slots when describing types
+
+	* lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
+	(cl--describe-class-slots): Use it.
+
+2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#26156
+
+	* lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
+	<expand-file-name>: Remove handler.  (Bug#26156)
+
+2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/obarray.el (obarray-size): Avoid compiler warning.
+
+2017-03-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix last change in lib/Makefile.in
+
+	* lib/Makefile.in (srcdir): Define, as including
+	$(srcdir)/../nt/gnulib-cfg.mk needs that.
+
+2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* configure.ac: Fix typo in diagnostic.
+
+2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port out-of-source builds to windows-nt
+
+	Problem reported by Angelo Graziosi in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
+	* lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
+	to handle out-of-source builds if windows-nt.
+
+2017-03-17  Eli Zaretskii  <eliz@gnu.org>
+
+	MS-Windows followup for switch from Automake
+
+	* nt/INSTALL:
+	* nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
+
+2017-03-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of interactive "r".
+
+	* doc/lispref/commands.texi (Interactive Codes): Mention that mark
+	must be set for "r" to work.
+
+2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fixups for GNU Make switchover
+
+	This fixes some minor problems introduced in the recent switch to GNU
+	Make, discovered by further testing.  Without some of these changes
+	'make -j' would sometimes have race conditions caused by missing
+	dependencies.  (Bug#26100)
+	* .gitignore: Remove src/stamp-h.in, src/stamp-h1.
+	* Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
+	src/config.in, since the former's timestamp now represents
+	the latter's.
+	($(srcdir)/configure): Use plain ./autogen.sh, for consistency
+	with other autogen.sh invocations.
+	($(srcdir)/src/stamp-h.in):
+	Remove rule, as this file is no longer created.
+	* Makefile.in (top_distclean):
+	* src/Makefile.in (bootstrap-clean):
+	No need to remove stamp-h1, as that was an Automake byproduct
+	and Automake is no longer in use.
+	* lib/Makefile.in, src/Makefile.in:
+	(AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
+	(../config.status, Makefile): Simplify by limiting dependencies
+	to files we care about and files in the repository, and by
+	using just one file to represent the timestamps on multiple
+	targets updated by the same rule.
+	* autogen.sh: Do not create or use src/stamp-h.in.
+	Instead, have 'find' test the two output files directly.
+
+2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Switch from Automake to GNU Make
+
+	Emacs assumes GNU Make, and GNU Make has much of the functionality of
+	Automake built-in.  The Emacs build process uses Automake primarily
+	because Emacs uses some Gnulib code and Gnulib formerly required
+	Automake.  Now that Gnulib no longer requires Automake, Emacs can
+	stop using Automake and this should simplify Emacs maintenance
+	in the future (Bug#26100).  Although this patch may look long, most of
+	it is generated automatically: the changes to build-aux/config.guess,
+	build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
+	all done by admin/merge-gnulib.
+	* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
+	build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
+	build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
+	as they are no longer built by autogen.sh.
+	Add lib/gnulib.mk, as it is now built by 'configure'.
+	Remove nt/gnulib.mk, as it is no longer built by 'make'.
+	* INSTALL.REPO, README, admin/make-tarball.txt:
+	Remove mention of Automake.
+	* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
+	(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
+	($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
+	($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
+	Remove.
+	($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
+	($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
+	($(srcdir)/src/config.in):
+	Use autogen.sh instead of doing it by hand.
+	* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
+	New vars, to simplify processing of avoided modules.
+	(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
+	Add --gnu-make, and change makefile name to gnulib.mk.in.
+	Copy config.guess, config.sub, and install-sh too, since
+	Automake no longer does that for us.
+	* admin/notes/copyright:
+	* admin/update_autogen (genfiles):
+	Update list of files.
+	Remove hack for nt/gnulib.mk, a file that is no longer needed.
+	* autogen.sh (progs): Remove Automake.
+	(automake_min): Remove.
+	Build aclocal.m4 so that autoreconf need not use aclocal.
+	* build-aux/config.guess, build-aux/config.sub:
+	* build-aux/install-sh:
+	New files, copied from Gnulib.  These are now updated by
+	admin/merge-gnulib instead by autogen.sh.
+	* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
+	Remove.
+	(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
+	(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
+	(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
+	(--disable-silent-rules): New option, since Automake no longer
+	does this for us.
+	(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
+	with AM_SUBST_NOTMAKE.
+	(AC_PROG_INSTALL): Add call.
+	(MAKEINFO): Do not bother with the 'missing' program.
+	(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
+	(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
+	(SUBDIR_MAKEFILES): Remove duplication.
+	* lib/Makefile.am: Remove, replacing with:
+	* lib/Makefile.in: New file, with the old Makefile.am contents
+	and with the following changes:
+	(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
+	(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
+	(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
+	(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
+	Remove.
+	(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
+	(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
+	(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
+	(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
+	New macros and rules, since Automake no longer does them.
+	Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
+	instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
+	Include dependency files if AUTO_DEPEND.
+	(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
+	New macros.
+	(bootstrap-clean): Depend on distclean, not maintainer-clean,
+	and remove gnulib.mk.
+	(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
+	New macros and rules, copied from ../Makefile.in.
+	($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
+	(.c.o, e-%.o): New generic rules.
+	* lib/gnulib.mk: Remove.
+	* lib/gnulib.mk.in: New file, which is built by autogen.sh
+	and contains much of what used to be in lib/gnulib.mk.
+	* m4/gnulib-common.m4: Copy from gnulib.
+	* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
+	build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
+	nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
+	lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
+	* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
+	(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
+	* nt/gnulib-cfg.mk: New file, which supersedes ...
+	* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
+	* src/Makefile.in (ACLOCAL_INPUTS): Remove.
+	(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
+	($(top_srcdir)/configure, ../config.status, config.in Makefile):
+	Defer to parent Makefile.
+
+2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Don't suggest Mailutils on MS-Windows
+
+	* configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
+	hasn't been ported.
+
+2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	Fix bug: Range-check integer ‘alpha’ frame parm value
+
+	Typo introduced 2013-04-01, "Prefer < to >
+	in range checks such as 0 <= i && i < N".
+
+	* src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
+
+2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	Fix bug: Range-check integer ‘alpha’ frame parm value
+
+	Typo introduced 2013-04-01, "Prefer < to >
+	in range checks such as 0 <= i && i < N".
+
+	* src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
+
+2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#26127
+
+	* lisp/filenotify.el (file-notify--rm-descriptor): Check, that
+	there is a function which could be called.  (Bug#26127)
+
+	* test/lisp/filenotify-tests.el (file-notify--test-cleanup):
+	Clear also `file-notify-descriptors'.
+	(file-notify--test-make-temp-name): Move up.
+	(file-notify-test02-rm-watch): New test.
+	(file-notify-test03-events, file-notify-test04-autorevert)
+	(file-notify-test05-file-validity)
+	(file-notify-test06-dir-validity)
+	(file-notify-test07-many-events, file-notify-test08-backup)
+	(file-notify-test09-watched-file-in-watched-dir)
+	(file-notify-test10-sufficient-resources): Rename.
+
+2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* etc/PROBLEMS: Say that HP-UX cc doesn't work.
+
+2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Emacs 'movemail' is now a configure-time option
+
+	The new configure option --with-mailutils lets the builder say
+	that Emacs should assume that GNU Mailutils is installed, instead
+	of continuing to build and install its own limited and insecure
+	substitute for 'movemail'.
+	* INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
+	* configure.ac: Add --with-mailutils option.
+	(with_mailutils): New variable.
+	Do not bother configuring 'movemail' when not building it.
+	Warn about issues relating to --with-mailutils.
+	* doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
+	(Movemail, Remote Mailboxes): Document port numbers in
+	POP and IMAP URLs.
+	* lib-src/Makefile.in (with_mailutils): New macro.
+	(UTILITIES): Use it.
+
+2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
+
+	* lisp/obarray.el (obarray-size): New function.
+
+	* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
+	(semantic-lex-spp-save-table, semantic-lex-spp-macros):
+	* lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
+	Use obarrayp.
+
+	* test/lisp/obarray-tests.el (obarray-make-default-test)
+	(obarray-make-with-size-test): Use it.
+
+2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
+
+	Document remote file name syntax change
+
+	* doc/emacs/files.texi (Remote Files, Quoted File Names):
+	* doc/misc/org.texi (dir): Change examples to use a method.
+
+	* doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
+	`Testing' menu entry.
+	(History): Fix typos.  Mention syntax change.
+	(Configuration, Default Host, File name Syntax)
+	(File name completion, Frequently Asked Questions):
+	Change examples to use a method.
+	(External methods, Default Host, Multi-hops, Remote processes):
+	Fix typos.
+	(Default Method): Mention pseudo method "-".
+	(External packages): Rewrite intention of `non-essential'.
+
+	* etc/NEWS: Mark recent Tramp entries as documented.
+
+2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	(semantic-lex-type-invalid): Fix nested backquote.
+
+	* lisp/cedet/semantic/lex.el: Use lexical-binding.
+	(semantic-lex-type-invalid): Fix nested backquote.
+	(semantic-lex-map-symbols, semantic-lex-type-symbol)
+	(semantic-lex-keyword-symbol): Use obarrayp.
+
+2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
+
+	* lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
+
+2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Write a named function
+
+	* lisp/comint.el (comint-nonblank-p): New function.
+	(comint-input-filter): Use it.
+
+2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace more nested ifs with cond
+
+	This is a continuation of 0db5ba4 "Replace nested ifs with cond".
+	* lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
+	(dun-drop-check, dun-swim, dun-break): Use when and cond where
+	appropriate.
+	(dun-examine): Fix indentation.
+	(dun-doverb): Use when.
+	(dun-read-line): Refactor.
+
+2017-03-15  Noam Postavsky  <npostavs@gmail.com>
+
+	Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
+
+	Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
+	\n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
+	causes the regex engine to backtrack a lot when searching for
+	"\\s-+$" (Bug#26079).
+
+	* lisp/simple.el (delete-trailing-whitespace): Don't change newline
+	syntax, search for "\\s-$" and then skip backward over trailing
+	whitespace.
+
+2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-03-14 snippets: move unadjusted snippet sources to lib
+	2017-03-14 gnulib-tool: fix typo in comment output
+	2017-03-14 snippets: work around GNU Make 3.82 VPATH
+	2017-03-13 gnulib-tool: minor --gnu-make fixups
+	2017-03-12 gnulib-tool: new option --gnu-make
+	* .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
+	lib/warn-on-use.h.  Change exception from
+	build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
+	* admin/authors.el (authors-renamed-files-regexps):
+	* admin/notes/copyright, make-dist:
+	The snippet files moved from build-aux/snippet to lib.
+	* lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
+	* lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
+	* lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
+	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
+	* lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
+
+2017-03-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix duplicate wording in Emacs manual
+
+	* doc/emacs/programs.texi (Which Function): Delete duplicate
+	wording.  (Bug#26098)
+
+2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
+
+	Reenable lost Tramp test case
+
+	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
+	Reenable lost test case.
+
+2017-03-14  Alan Third  <alan@idiocy.org>
+
+	Revert "Remove NSEvent loop from ns_select (bug#25265)"
+
+	This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
+
+2017-03-14  Alan Third  <alan@idiocy.org>
+
+	Revert "Add missing timeout value in ns_select"
+
+	This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
+
+2017-03-14  Alan Third  <alan@idiocy.org>
+
+	Remove old macOS compatibility code
+
+	* src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
+	macOS versions below 10.6 as they are not supported in Emacs 25+.
+
+2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
+
+	Tune `tramp-completion-file-name-regexp-unified'
+
+	* lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
+	Extend this regexp to match also "/".
+
+2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
+
+	Show ancestor buffer in 3way merges
+
+	Add an option ediff-show-ancestor', to control if the ancestor buffer
+	must be shown in 3way merges (Bug#25493); set it non-nil by default.
+	Add a toggle to change this option interactively; the original
+	value of the option is restored on exit.
+
+	Update the window setup so that the ancestor buffer is
+	shown in 3way merges when ediff-show-ancestor is non-nil.
+
+	Any operation on ediff windows must take in account the
+	ancestor window as well, when this is shown.
+
+	* lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
+	(ediff--show-ancestor-orig): New defvar.
+	* lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
+	(ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
+	Display ancestor buffer if ediff-show-ancestor is non-nil.
+	(ediff-keep-window-config): Expect ancestor window in
+	ediff-window-config-saved.
+	(ediff-window-alist): Add entry for the ancestor window.
+	* lisp/vc/ediff-util.el (ediff-setup-control-buffer):
+	ediff-window-config-saved contains ancestor window.
+	(ediff-show-ancestor): Delete this command.
+	(ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
+	(ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
+	don't cheat it to think that is performing a comparison, that trick is not
+	necessary anymore: simply call 'ediff-setup-diff-regions-function'
+	with file-A, file-B and the file ancestor.
+	(ediff-recenter): Update doc string.  Consider the ancestor buffer.
+	(ediff--check-ancestor-exists): New defun.
+	(ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
+	(ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
+	(ediff-scroll-vertically, ediff-scroll-horizontally)
+	(ediff-operate-on-windows): Consider the ancestor as well.
+	* lisp/vc/ediff-help.el (ediff-long-help-message-merge):
+	List ediff-toggle-show-ancestor.
+	* doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
+
+2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
+
+	diff-mode: Improve default faces for buffer ancestor
+
+	* lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
+	(ediff-fine-diff-Ancestor): Use defaults consistent with
+	faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
+
+2017-03-14  Hong Xu  <hong@topbug.net>
+
+	* lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
+
+2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix make-dist typo
+
+	* make-dist: Fix typo introduced in the Bug#25895 fix.
+
+2017-03-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix wording in Emacs manual
+
+	* doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
+	(Bug#26086)
+
+2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
+
+	etc/NEWS: Remote file names require a method.
+
+2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
+
+	Require method in remote file name syntax
+
+	* lisp/minibuffer.el (completion--nth-completion):
+	Do not bind `non-essential'.
+
+	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
+	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
+	`tramp-check-proper-method-and-host'.
+
+	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
+	(tramp-maybe-open-connection): Do not use argument for
+	´tramp-completion-mode-p'.
+
+	* lisp/net/tramp.el (tramp-default-method-marker): New defconst.
+	(tramp-prefix-format, tramp-postfix-method-format)
+	(tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
+	(tramp-prefix-port-format, tramp-postfix-host-format)
+	(tramp-file-name-regexp, tramp-completion-file-name-regexp):
+	Use `eq' instead of `eqal'.
+	(tramp-method-regexp, tramp-domain-regexp)
+	(tramp-remote-file-name-spec-regexp)
+	(tramp-file-name-regexp-unified)
+	(tramp-completion-file-name-regexp-unified)
+	(tramp-completion-file-name-regexp-separate): Adapt regexp.
+	(tramp-completion-file-name-handler-alist)
+	(tramp-run-real-handler): Autoload them.
+	(tramp-find-method): Handle `tramp-default-method-marker'.
+	(tramp-check-proper-method-and-host)
+	(tramp-completion-run-real-handler): Remove them.
+	(tramp-error-with-buffer, tramp-connectable-p): Do not use
+	argument for ´tramp-completion-mode-p'.
+	(tramp-find-foreign-file-name-handler): Remove COMPLETION
+	argument.  Do not apply heuristic for completion.
+	(tramp-file-name-handler): Do not modify `non-essential'.
+	(tramp-completion-file-name-handler): Change implementation.
+	(tramp-autoload-file-name-handler)
+	(tramp-completion-handle-file-name-all-completions):
+	Call `tramp-run-real-handler'.
+	(tramp-completion-mode-p): Do not autoload.  Remove argument.
+	Do not apply heuristic for completion.
+	(tramp-completion-dissect-file-name): Simplify implementation.
+	(tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
+
+	* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
+	(tramp-test02-file-name-dissect)
+	(tramp-test03-file-name-defaults)
+	(tramp-test06-directory-file-name): Adapt to the new syntax.
+	(tramp-test11-copy-file, tramp-test12-rename-file)
+	(tramp--test-check-files): Deactivate temporarily tests with
+	quoted file names.
+	(tramp-test16-directory-files, tramp-test17-insert-directory):
+	Adapt tests.
+	(tramp-test24-file-name-completion): Do not check for
+	completion mode.
+	(tramp-test31-make-auto-save-file-name): Deactivate temporarily
+	two tests.
+
+2017-03-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix bidi paragraph direction when inserting text at newline
+
+	* src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
+	paragraph cache when inserting immediately after a newline.
+	(Bug#26083)
+
+2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
+
+	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
+
+2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
+
+	(cl-print-object) <compiled-function>: Print the docstring and
+	interactive form.  Obey cl-print-compiled.
+
+2017-03-13  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix indent-sexp when called from inside a string (Bug#21343)
+
+	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
+	state from `syntax-ppss'.
+
+2017-03-13  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
+
+	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
+	(indent-subsexp, indent-sexp-in-string): New tests.
+
+2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Use switch on pseudovector types; plus cleanups along the way
+
+	* src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
+	(PSEUDOVECTOR_TYPEP): Change type of `code'.
+
+	* src/alloc.c (sweep_vectors): Remove out-of-date assertion.
+	(mark_object): Use PSEUDOVECTOR_TYPE.
+
+	* src/data.c (Ftype_of): Use switch on pvec type.
+
+	* src/print.c (print_object): Use switch on pvec type.
+
+	* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
+	Add recently added types.
+
+2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Install update-game-score only on request
+
+	Most distributions do not install update-game-score properly
+	due to setuid/setgid complications, so install it only when
+	the installer specifies a user or group (Bug#25895).
+	* .gitattributes: Remove lib-src/update-game-score.exe.manifest.
+	* Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
+	New vars.
+	(epaths-force): Use PATH_GAME.
+	(uninstall): Remove snake-scores and tetris-scores only if shared.
+	* configure.ac: Default --with-gameuser to 'no'.
+	(UPDATE_MANIFEST): Remove.
+	* etc/NEWS: Mention this.
+	* lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
+	(use_gamedir): New macro.
+	(UTILITIES): Remove update-game-score unless use_gamedir.
+	(SCRIPTS): Remove $(UPDATE_MANIFEST).
+	($(DESTDIR)${archlibdir}): Install game directory program and data
+	only if use_gamedir.
+	* lib-src/update-game-score.exe.manifest: Remove, as
+	update-game-score is no longer installed on MS-Windows.
+	* lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
+	Use auxiliary program only if setuid or setgid.
+	* make-dist: Do not distribute update-game-score.exe.manifest.
+	* src/callproc.c (init_callproc):
+	Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
+	(syms_of_callproc): Remove unnecessary initialization of
+	Vshared_game_score_directory.
+
+2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Add `touch-action' to list of CSS properties
+
+	* lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
+	property.
+
+2017-03-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Teach etags to process ENUM_BF correctly
+
+	* lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
+	(hash): Regenerated values for asso_values[] array.
+	(in_word_set): Update values of TOTAL_KEYWORDS and
+	MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
+	(in_enum_bf): New file-global variable.
+	(consider_token): Skip ENUM_BF if not in a macro definition.
+	(C_entries): Reset the in_enum_bf flag when past its closing
+	parenthesis.
+
+	* test/manual/etags/ETAGS.good_1:
+	* test/manual/etags/ETAGS.good_2:
+	* test/manual/etags/ETAGS.good_3:
+	* test/manual/etags/ETAGS.good_4:
+	* test/manual/etags/ETAGS.good_5:
+	* test/manual/etags/ETAGS.good_6:
+	* test/manual/etags/CTAGS.good: Adapt to changes in etags.
+
+2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
+
+	Use path/to/file instead of path/to.file in tramp.texi
+
+	* doc/misc/tramp.texi (Configuration, File name Syntax):
+	Use path/to/file instead of path/to.file.
+
+2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove some stray gnulib files
+
+	* admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
+	(GNULIB_MODULES): Remove unsetenv, as it is not needed and
+	the --avoid=unsetenv option avoided most of it anyway.
+	* lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
+	* lib/gnulib.mk: Regenerate.
+
+2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
+	* doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
+
+2017-03-12  Glenn Morris  <rgm@gnu.org>
+
+	Remove trivial duplication in epg-config
+
+	* lisp/epg-config.el (epg-config--program-alist):
+	Use epg-gpg-minimum-version.
+
+2017-03-12  Glenn Morris  <rgm@gnu.org>
+
+	Small epg-find-configuration improvement
+
+	* lisp/epg-config.el (epg-find-configuration):
+	Handle epg-gpg-program customized but not saved.  (Bug#25947)
+
+2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Improve last change
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
+	Use ppss to check escaping and add help-echo.
+
+2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Highlight useless backslashes in Elisp strings
+
+	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
+	Put warning face on backslashes that have no effect.
+
+2017-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Document how to customize input methods
+
+	* doc/emacs/mule.texi (Input Methods): Document how to customize
+	input methods.
+
+2017-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
+
+2017-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix generation of nt/gnulib.mk on macOS
+
+	* nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
+	to Sed, as that is not portable with non-GNU Sed variants.
+	(Bug#26043)
+
+2017-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
+
+	* src/xdisp.c (handle_single_display_spec): If position to be
+	restored after processing the display property comes from an
+	overlay, protect against that overlay's end point being outside of
+	the narrowed region.
+	Reported by Filipe Silva <filipe.silva@gmail.com> in
+	http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00176.html.
+
+2017-03-10  Glenn Morris  <rgm@gnu.org>
+
+	Small improvement for epa-display-error (bug#24553)
+
+	* lisp/epa.el (epa-display-error): Report the actual program in use.
+
+2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Tweak X toolkit code to pacify modern GCC
+
+	* lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
+	Don’t include <stdlib.h>, since this code now calls emacs_abort
+	rather than abort.
+	* lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
+	(wm_delete_window):
+	* lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
+	* lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
+	* lwlib/xlwmenu.c (abort_gracefully, draw_separator)
+	(separator_height, XlwMenuInitialize):
+	Use emacs_abort, not abort.  Without this change, some calls
+	to ‘abort’ were invalid, as stdlib.h was not always included.
+	* src/widget.c (resources, emacsFrameClassRec):
+	* src/xfns.c (x_window) [USE_X_TOOLKIT]:
+	* src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
+	* src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
+	(x_term_init) [USE_X_TOOLKIT]:
+	Cast string constants to char * to pacify --enable-gcc-warnings.
+
+2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	* doc/misc/tramp.texi (Android shell setup): Require adb program
+
+2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	Adapt tramp-tests.el
+
+	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
+	(tramp-test24-file-name-completion): Call
+	`tramp-completion-mode-p' with argument.
+
+2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	[doc] Replace bindat example: s/fortune cookie/rfc868 payload/
+
+	* doc/lispref/processes.texi (Bindat Examples):
+	Mention two examples in intro blurb; rewrite first example.
+
+2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify checks for xdg-open and xdg-email
+
+	browse-url's xdg-open detection was too picky on some GNU/Linux
+	desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
+	if it is executable, as nowadays this is more likely to be correct than
+	trying to use heuristics from a few years ago.  Don't test for nohup: it
+	is ineffective nowadays, as xdg-open's child uses the default action for
+	SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
+	allow for Wayland here, as "emacs -nw" might be running in a non-X
+	Wayland terminal.
+	* lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
+	* lisp/net/browse-url.el (browse-url-can-use-xdg-open):
+	Simplify to a test for DISPLAY and whether the helper program is
+	executable.  Allow WAYLAND_DISPLAY as an option.
+
+2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
+
+	Byte compile cond clauses without any bodies correctly.
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
+	cond clause has no body, push t on to the stack.
+
+2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix bug#23006
+
+	* lisp/minibuffer.el (completion--nth-completion):
+	Let-bind `non-essential'.
+
+	* lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
+	(tramp-completion-mode-p): Optional parameter VEC.  Replace
+	check for `last-input-event' by analysing VEC argument.
+	(tramp-error-with-buffer, tramp-file-name-handler)
+	(tramp-connectable-p, tramp-handle-file-name-as-directory):
+	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
+
+2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
+
+	etc/NEWS: Add entry for new `switch' bytecode.
+
+2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/data.c (arithcompare): Add comments.
+
+2017-03-08  Glenn Morris  <rgm@gnu.org>
+
+	Update a cl-print test
+
+	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
+	Update for recent change in cl-print-object function output.
+
+2017-03-08  Sam Steingold  <sds@gnu.org>
+
+	Replace change-log-date-face -> change-log-date
+
+	This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
+
+2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix bug#26011
+
+	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
+	Check, whether file is too large.  (Bug#26011)
+
+2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
+	(Fmax, Fmin): Restore documentation.
+
+	* data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
+	comparisons that are written backward.
+
+2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	[doc elisp] Add some index entries for "old" advice mechanism
+
+	* doc/lispref/functions.texi (Porting old advice):
+	Add one @cindex and two @findex entries.
+
+2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* etc/NEWS: Adjust to match previous patch.
+
+2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	min and max should not return markers
+
+	Problem reported by Glenn Morris in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00147.html
+	* src/data.c (minmax_driver): Convert any marker result to an
+	integer, since some callers assume this.
+	* test/src/data-tests.el (data-tests-max, data-tests-min):
+	Test for this.
+
+2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
+
+2017-03-08  Alan Third  <alan@idiocy.org>
+
+	Add missing timeout value in ns_select
+
+	* src/nsterm.m (ns_select): Set timeout to distant future when relying
+	on fd_handler's timeout.
+
+2017-03-07  Glenn Morris  <rgm@gnu.org>
+
+	* admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
+
+2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove isnan hack for Solaris 10 gcc 3.4.3
+
+	This seems to have been a false alarm (Bug#26018).
+	* src/data.c (isnan):
+	* src/floatfns.c (isfinite, isnan):
+	Use standard implementation if available.
+
+2017-03-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Support browsing URLs with embedded spaces on MS-Windows
+
+	* lisp/net/browse-url.el (browse-url-default-windows-browser):
+	Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
+	support that in file:// URLs.  (Bug#26014)
+
+2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Define copysign on all platforms
+
+	* configure.ac (copysign): Remove test.
+	* src/floatfns.c (signbit): New macro, if not already defined.
+	(Fcopysign): Use it instead of copysign.
+	(Fcopysign, syms_of_floatfns): Define the function on all platforms.
+
+2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Revert "Replace ldefs-boot with a much smaller file"
+
+	This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
+
+	This commit has been reverted because the new mechanism was too
+	sensitive to changes in the lisp source, generation of new ldefs-boot
+	files was platform specific and resulted in warnings about undefined
+	variables.
+
+	See also 11436e2890d.
+
+2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Revert "Record autoloads till emacs dump"
+
+	This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
+
+	This commit has been reverted because the new mechanism was too
+	sensitive to changes in the lisp source, generation of new ldefs-boot
+	files was platform specific and resulted in warnings about undefined
+	variables.
+
+	See also 11436e2890d.
+
+2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Revert "Remove unused ldefs-boot.el"
+
+	This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
+
+	This commit has been reverted because the new mechanism was too
+	sensitive to changes in the lisp source, generation of new ldefs-boot
+	files was platform specific and resulted in warnings about undefined
+	variables.
+
+	See also 11436e2890d.
+
+2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Revert "Remove conditional includes from bootstrap"
+
+	This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
+
+	This commit has been reverted because the new mechanism was too
+	sensitive to changes in the lisp source, generation of new ldefs-boot
+	files was platform specific and resulted in warnings about undefined
+	variables.
+
+	See also 11436e2890d.
+
+2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Revert "Speed generation of ldefs-boot-auto"
+
+	This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
+
+	This commit has been reverted because the new mechanism was too
+	sensitive to changes in the lisp source, generation of new ldefs-boot
+	files was platform specific and resulted in warnings about undefined
+	variables.
+
+	See also 11436e2890d.
+
+2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Revert "Fix minor problems with loaddefs autogeneration"
+
+	This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
+
+	This commit has been reverted because the new mechanism was too
+	sensitive to changes in the lisp source, generation of new ldefs-boot
+	files was platform specific and resulted in warnings about undefined
+	variables.
+
+2017-03-07  Noam Postavsky  <npostavs@gmail.com>
+
+	Set default when asking for send-mail-function (Bug#25874).
+
+	* lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
+	option as default for `completing-read'.
+
+2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	min and max now return one of their arguments
+
+	* doc/lispref/numbers.texi (Comparison of Numbers):
+	* etc/NEWS: Document this.
+	* src/data.c (Amax, Amin): Remove constants.  All uses removed.
+	(minmax_driver): New function.
+	(Fmax, Fmin): Use it instead of arith_driver.
+	* test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
+
+2017-03-06  Alan Third  <alan@idiocy.org>
+
+	Remove NSEvent loop from ns_select (bug#25265)
+
+	* src/nsterm.m (ns_select): Remove event processing loop and replace
+	with simple test for a new event.
+
+2017-03-06  Eli Zaretskii  <eliz@gnu.org>
+
+	A better fix for bug#25845
+
+	* src/xdisp.c (font_for_underline_metrics): New function.
+	* src/dispextern.h: Add its prototype.
+	* src/xterm.c (x_draw_glyph_string):
+	* src/w32term.c (x_draw_glyph_string):
+	* src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
+	having identical code 3 times in 3 different files.
+
+2017-03-06  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix warning message about native completion (Bug#25984)
+
+	* lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
+	The relevant variable is `python-shell-completion-native-enable'.
+
+2017-03-06  Tom Tromey  <tom@tromey.com>
+
+	Fix typos in EIEIO manual
+
+	* doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
+
+2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-03-04 dtotimespec: simplify
+	* lib/dtotimespec.c: Copy from gnulib.
+
+2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	ffloor etc. now accept only floats
+
+	* etc/NEWS: Say why.
+	* src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
+	Require arg to be float.
+	* test/src/floatfns-tests.el (fround-fixnum): Check this.
+
+2017-03-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix display of cursor on underlined text
+
+	* src/nsterm.m (ns_draw_text_decoration):
+	* src/xterm.c (x_draw_glyph_string):
+	* src/w32term.c (x_draw_glyph_string): Compute the position and
+	thickness of the underline by looking for the first glyph of the
+	run of underlined glyphs that includes the glyph string we are
+	drawing.  (Bug#25845)
+
+2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add more CL concept index items, print Concept Index
+
+	* doc/misc/cl.texi: Print concept index.
+	(Generalized Variables, Variable Bindings):
+	(Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
+	(Blocks and Exits, Iteration, Multiple Values): Add concept index
+	items.
+
+2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add 'loop facility' to the CL concept index
+
+	* doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
+	index item.
+
+2017-03-05  martin rudalics  <rudalics@gmx.at>
+
+	In `window--display-buffer' fix behavior reported in Bug#25946
+
+	* lisp/window.el (window--display-buffer): Set the dedicated
+	status of the window used and clear its history of previous
+	buffers also for the case that the window already shows the
+	buffer to be displayed.  (Bug#25946)
+
+2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Compare and round more carefully
+
+	* etc/NEWS: Document this.
+	* src/data.c (store_symval_forwarding):
+	* src/sound.c (parse_sound):
+	Do not botch NaN comparison.
+	* src/data.c (cons_to_unsigned, cons_to_signed):
+	Signal an error if a floating-point arg is not integral.
+	* src/data.c (cons_to_unsigned, cons_to_signed):
+	* src/fileio.c (file_offset):
+	Use simpler overflow check.
+	* src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
+	Avoid rounding error in overflow check.
+	(Fcar_less_than_car): Use arithcompare directly.
+	* test/src/charset-tests.el: New file.
+
+2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fewer rounding errors with (format "%f" fixnum)
+
+	* etc/NEWS: Document this.
+	* src/editfns.c (styled_format): When formatting integers via a
+	floating-point format, use long double instead of double
+	conversion, if long double’s extra precision might help.
+
+2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
+
+	* src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
+
+2017-03-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Clarify documentation of 'raise' and 'height' display specs
+
+	* doc/lispref/display.texi (Other Display Specs): Clarify the
+	effect of 'height' display spec on the following 'raise'.
+	(Bug#25824)
+
+2017-03-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix header shown by Info 'L' command
+
+	* lisp/info.el (Info-history-find-node): A better heading for the
+	list of visited nodes.  (Bug#25876)
+
+2017-03-04  K. Handa  <handa@gnu.org>
+
+	Add a section about incorrect Bengali rendering.
+
+2017-03-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix minor problems with loaddefs autogeneration
+
+	* admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
+	and coding-system-for-write, to produce a UTF-8 file with Unix
+	EOLs on MS-Windows.
+
+	* lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
+
+2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
+
+	Fix issues with dedicated windows in shr.el
+
+	* lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
+	the window not dedicated, to avoid errors if it was, before
+	setting its buffer temporarily.  (Bug#25828)
+
+2017-03-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Mention problems with GPaste in PROBLEMS
+
+	* etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
+	GPaste, and its solution.  (Bug#25902)
+
+2017-03-04  Glenn Morris  <rgm@gnu.org>
+
+	Avoid duplicate gud menu items with gdb-mi
+
+	* lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
+	entries in gdbmi mode.  (Bug#23923)
+
+2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/editfns.c (styled_format): Omit unnecessary code.
+
+2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	logb now works correctly on large integers
+
+	* admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
+	* etc/NEWS: Document the change.
+	* lib/count-leading-zeros.c, lib/count-leading-zeros.h:
+	* m4/count-leading-zeros.m4: New files, copied from Gnulib.
+	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
+	* src/floatfns.c: Include count-leading-zeros.h.
+	(Flogb): Do not convert fixnum to float before taking the log,
+	as the rounding error can cause the answer to be off by 1.
+	* src/lisp.h (EMACS_UINT_WIDTH): New constant.
+	* test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
+
+2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
+	2017-02-24 ftoastr: port to -Wdouble-promotion
+	* lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
+
+2017-03-03  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid duplicating characters recorded in macros
+
+	* src/keyboard.c (record_char): Don't store in macro definitions
+	characters that came from executing a macro.  (Bug#25860)
+
+2017-03-03  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix color component calculations in color.el
+
+	* lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
+	(color-rgb-to-hex): Accept an optional argument
+	DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
+	notation either for 8 or 16 bits per component.  (Bug#25890)
+	* lisp/net/shr-color.el (shr-color->hexadecimal): Call
+	color-rgb-to-hex with the optional argument of 2, to match color
+	processing on the Web.
+
+2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
+
+	Use lexical binding in benchmark.el
+
+	* lisp/emacs-lisp/benchmark.el: Enable lexical binding.
+	(benchmark-elapse): Use 'declare'.
+	* test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
+
+2017-03-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Switch pp.el to lexical binding
+
+	Additionally, do some minor code cleanup.
+
+	* lisp/emacs-lisp/pp.el: Set lexical-binding.
+	(pp-buffer): Use skip-syntax-forward.
+	(pp-eval-expression): Use push.
+	(pp-last-sexp): Use with-syntax-table.
+	* test/lisp/emacs-lisp/pp-tests.el: New tests.
+
+2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
+
+	Fix completing-read call in reb-change-syntax
+
+	* lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
+	of completing-read.
+
+2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
+
+	sql-mode w/ sqlite: In-memory database
+
+	Enable the usage of an in-memory database. Prior to this, sql-mode w/
+	sqlite could only be used with file databases.
+	* list/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
+	file name provided by the user, but call sub-process sqlite with that,
+	in which case it uses an in-memory database.
+
+2017-03-03  Allen Li  <vianchielfaura@gmail.com>
+
+	Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
+
+	`abbrev--before-point' does not adjust `pos' to account for when it
+	deletes the "-" left by abbrev-prefix-mark.  Therefore, when
+	`abbrev-before-point' goes to restore point, it moves point one
+	character too far forward.
+
+	* lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
+
+2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
+
+	* lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
+
+2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Restore XFLOATINT but with restricted args
+
+	Turn instances of extract_float into XFLOAT_DATA when possible,
+	and to a resurrected XFLOATINT when the arg is a number.
+	The resurrected XFLOATINT is more like XFLOAT and XINT in
+	that is valid only if its arg is a number.  This clarifies
+	the ways in which floats can be extracted at the C level.
+	* src/editfns.c (styled_format):
+	* src/floatfns.c (extract_float, Fexpt):
+	Use XFLOATINT rather than open-coding it.
+	* src/fns.c (internal_equal):
+	* src/image.c (imagemagick_load_image):
+	* src/xdisp.c (resize_mini_window):
+	Prefer XFLOAT_DATA to extract_float on values known to be floats.
+	* src/frame.c (x_set_screen_gamma):
+	* src/frame.h (NUMVAL):
+	* src/image.c (x_edge_detection, compute_image_size):
+	* src/lread.c (read_filtered_event):
+	* src/window.c (Fset_window_vscroll):
+	* src/xdisp.c (handle_single_display_spec, try_scrolling)
+	(redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
+	(on_hot_spot_p):
+	Prefer XFLOATINT to extract_float on values known to be numbers.
+	* src/lisp.h (XFLOATINT): Bring back this function, except
+	it now assumes its argument is a number.
+
+2017-03-02  Glenn Morris  <rgm@gnu.org>
+
+	Ert commands to error if no test at point (bug#25931)
+
+	* lisp/emacs-lisp/ert.el (ert-results-mode-menu):
+	Deactivate some items if no test at point.
+	(ert--results-test-at-point-no-redefinition):
+	Add option to signal an error rather than return nil.
+	(ert-results-pop-to-backtrace-for-test-at-point)
+	(ert-results-pop-to-messages-for-test-at-point)
+	(ert-results-pop-to-should-forms-for-test-at-point)
+	(ert-results-describe-test-at-point): Error if no test at point.
+
+2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove XFLOATINT
+
+	* src/lisp.h (XFLOATINT): Remove this alias for extract_float.
+	All callers changed to use extract_float.
+	* src/frame.h (NUMVAL): Now an inline function, not a macro.
+
+2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix rounding errors in <, =, etc.
+
+	* etc/NEWS: Document this.
+	* src/bytecode.c (exec_byte_code):
+	* src/data.c (arithcompare):
+	Do not lose information when comparing floats to integers.
+	* test/src/data-tests.el (data-tests-=, data-tests-<)
+	(data-tests->, data-tests-<=, data-tests->=):
+	Test this.
+
+2017-03-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix display of mouse-highlight produced by overlapping overlays
+
+	* src/xfaces.c (face_at_buffer_position): If called to find the
+	mouse-face, only consider the highest-priority source for that
+	face, and ignore the rest.  Previously, all the mouse-face
+	definitions at POS were merged in that case.
+	* src/xdisp.c (note_mouse_highlight): Record the overlay that
+	specifies mouse-face _after_ clearing the info about the previous
+	overlay, so as not to clear the information about the just-recorded
+	overlay.  (Bug#25906)
+
+2017-03-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix display of strike-through text in variable-height lines
+
+	* src/nsterm.m (ns_draw_text_decoration):
+	* src/xterm.c (x_draw_glyph_string):
+	* src/w32term.c (x_draw_glyph_string): Fix calculation of the
+	strike-through y-coordinate for a glyph row which is taller than
+	the strike-through text.  (Bug#25907)
+
+2017-03-02  Martin Rudalics  <rudalics@gmx.at>
+
+	Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
+
+	* src/xterm.c (handle_one_xevent): For ConfigureNotify events
+	don't call x_net_wm_state when the window is a scroll bar window.
+	(Bug#24963, Bug#25887)
+
+2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	gnus-summary-select-article-buffer: Don't re-render existing article
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
+	Don't re-render existing article.
+
+2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Don't add debbugs address to message body (bug#25896)
+
+	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
+	Don't add debbugs address to message body (bug#25896), and
+	don't add it to message header either if it already exists.
+
+2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/cedet/semantic/db-global.el: Make dynbind use explicit
+
+	(semanticdb--ih): Declare.
+	(semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
+	(semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
+	(semanticdb-find-tags-for-completion-method): Silence compiler warning.
+
+2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/help-fns.el (describe-variable): Use cl-print for the value
+
+	Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
+
+2017-03-02  Glenn Morris  <rgm@gnu.org>
+
+	* test/lisp/net/puny.el: New file.
+
+2017-03-02  Glenn Morris  <rgm@gnu.org>
+
+	Small puny.el fix
+
+	* lisp/net/puny.el (puny-decode-string-internal):
+	Handle strings with no ascii parts.  (Bug#23688)
+
+2017-03-02  Glenn Morris  <rgm@gnu.org>
+
+	Small recover-this-file improvement
+
+	* lisp/files.el (recover-this-file): Explicit error if not
+	visiting a file.  (Bug#23671)
+
+2017-03-01  Glenn Morris  <rgm@gnu.org>
+
+	Fix for coding-system completion (bug#23670)
+
+	* lisp/international/mule.el (read-buffer-file-coding-system):
+	Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
+	so that completion-pcm--pattern->regex can append "*?".
+
+2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix rounding error in ‘ceiling’ etc.
+
+	Without this fix, (ceiling most-negative-fixnum -1.0) returns
+	most-negative-fixnum instead of correctly signaling range-error,
+	and similarly for floor, round, and truncate.
+	* configure.ac (trunc): Add a check, since Gnulib’s doc says
+	‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
+	also missing from some other older operating systems like Solaris
+	9 which I know we don’t care about any more, so MSVC is the only
+	reason to worry about ‘trunc’ here.
+	* src/editfns.c (styled_format): Formatting a float with %c is now an
+	error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
+	had rounding errors.  Besides, the "if (FLOATP (...))" was in there
+	only as a result of my misunderstanding old code that I introduced
+	2011.  Although %d etc. is sometimes used on floats that represent
+	huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
+	happen with characters.
+	* src/floatfns.c (rounding_driver): Rework to do the right thing
+	when the intermediate result equals 2.305843009213694e+18, i.e.,
+	is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
+	Simplify so that only one section of code checks for overflow,
+	rather than two.
+	(double_identity): Remove.  All uses changed to ...
+	(emacs_trunc): ... this new function.  Add replacement for
+	platforms that lack ‘trunc’.
+	* src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
+	Make it clear that the arg cannot be floating point.
+	* test/src/editfns-tests.el (format-c-float): New test.
+	* test/src/floatfns-tests.el: New file, to test for this bug.
+
+2017-03-01  Glenn Morris  <rgm@gnu.org>
+
+	Small help--loaded-p fix
+
+	* lisp/help-fns.el (help--loaded-p): Handle entry in load-history
+	with nil file name.  (Bug#25847)
+
+2017-03-01  Leo Liu  <sdl.web@gmail.com>
+
+	* src/fns.c (Fbuffer_hash): Doc fix.
+
+2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+	Don't use mapconcat with chars in gnus registry marks (Bug#25839)
+
+	* lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
+	Instead, use a plain concat, which will create a string out of a list
+	of characters.
+
+2017-03-01  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix epg-tests with dummy-pinentry program (Bug#23619)
+
+	* test/data/epg/dummy-pinentry: New file.
+	* test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
+	when a passphrase is required.  Add debug declaration.  Set
+	GPG_AGENT_INFO non-destructively.
+
+2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Speed generation of ldefs-boot-auto
+
+	Previously, generation of ldefs-boot-auto required at least one full
+	bootstrap and, in extreme cases, two. Now, from build system, it
+	requires the same time as taken to dump Emacs.
+
+	* Makefile.in: Remove all calls, pass to src.
+	* admin/ldefs-clean.el: Update for changed messages.
+	* lisp/Makefile.in (compile-first-delete): Add.
+	* lisp/ldefs-boot-auto.el: Update.
+	* src/Makefile.in (generate-ldefs-boot): Add.
+
+2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Add error handling to magic-mode-alist
+
+	* lisp/files.el (set-auto-mode): Add explicit error handling in two
+	  places.
+
+2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Remove conditional includes from bootstrap
+
+	Previously, bootstrap-emacs includes optional functionality, depending
+	on the platform which is not needed for bootstrap function.  As a
+	result, bootstrap-emacs contains different functions in different
+	circumstances.  If ldefs-boot-auto.el is generated, then loaded
+	functions will not be added to ldefs-boot-auto.el, although they may be
+	required during some builds.  With this change, bootstrap-emacs should
+	always behave the same way and, therefore, require the same autoloads.
+
+	 * lisp/loadup.el: No longer load optional includes during bootstrap
+	   dumping.
+	 * lisp/ldefs-boot-auto.el: Regenerate.
+	 * lisp/ldefs-boot-manual.el: Add two autoloads.
+
+2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Do not use find-file non-interactively
+
+	 * lisp/international/titdic-cnv (miscdic-convert): Use
+	   insert-file-contents in place of find-file.
+
+2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
+
+	(update_overlay_arrows): Skip non-markers.
+
+2017-02-28  Ken Brown  <kbrown@cornell.edu>
+
+	Try to avoid hang when logging out of MS-Windows
+
+	* src/w32term.c (x_update_window_begin, x_update_window_end)
+	(my_show_window, my_set_window_pos, my_set_focus)
+	(my_set_foreground_window, my_destroy_window)
+	(my_bring_window_to_top, x_iconify_frame): Replace calls to
+	SendMessage by calls to SendMessageTimeout with a 6-second
+	timeout.  (Bug#25875)
+
+2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
+
+2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* doc/misc/eieio.texi: Update to account for the cl-generic facilities
+
+	(Quick Start, Class Options, Generics): Adjust names for cl-generic.
+	(Methods): Document cl-defmethod.
+	Explain in more detail the order in which the various
+	methods are executed.  Document the conditions under which a method
+	is redefined.  Remove reference to `eieio-generic-call-arglst`.
+	Don't document the precise return value of cl-next-method-p.
+	(Static Methods): Adjust to use `subclass` specializer.
+	(Method Invocation): Use cl-call-next-method and drop mention of :primary.
+	(Signal Handling, Signals): Adjust names and args for cl-generic; add
+	cl-no-primary-method.
+	(CLOS compatibility, Wish List): Adjust to new featureset.
+
+2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
+
+	* lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
+
+2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
+
+	(sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
+	(sgml-syntax-propertize-inside): New fun.
+
+2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
+
+	": ;" after completing a property.
+
+2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
+
+	Show Ibuffer and jump to line listing current buffer
+
+	* lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
+
+2017-02-27  Juri Linkov  <juri@linkov.net>
+
+	* lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
+
+	before adding it to the list of files.
+
+2017-02-27  Juri Linkov  <juri@linkov.net>
+
+	Put text properties on query-replace separator string instead of "\0"
+
+	* lisp/replace.el (query-replace--split-string):
+	Split at a substring instead of just character.
+	(query-replace-read-from): Put text properties on the
+	separator string instead of "\0".  (Bug#25482)
+
+2017-02-27  Juri Linkov  <juri@linkov.net>
+
+	Add file name and its extension to suggestions in dired-mark-files-regexp
+
+	* lisp/dired.el (dired-mark-files-regexp): Add file name
+	and its extension to the list of suggested defaults.  (Bug#25578)
+
+2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
+
+	Prompt default extension in dired-mark-extension
+
+	* lisp/dired-x.el (dired-mark-extension): Prompt default extension
+	based on extension of file at point.  (Bug#25578)
+
+2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
+
+	Prevent for consing in cl-mapc and cl-mapl
+
+	* lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
+	If non-nil, accumulate values in the result (Bug#25826).
+	(cl-mapc): Do computations inside function instead of call cl-map.
+	(cl-mapl): Do computations inside function instead of call cl-maplist.
+	* lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
+	Call cl--mapcar-many with non-nil 3rd argument.
+	* test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
+	(cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
+	(cl-extra-test-maplist): New tests.
+
+2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
+
+	Choose the right target dir on dired operations
+
+	Prevent from changing the input target dir
+	when dired-dwim-target is non-nil (Bug#25609).
+	* lisp/dired-aux.el (dired-do-create-files):
+	If dired-dwim-target is non-nil, then bind 'default' to nil.
+	* test/lisp/dired-tests.el (dired-test-bug25609): Add test.
+
+2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* src/xdisp.c (overlay_arrows_changed_p): Fix last change.
+
+2017-02-27  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't record eshell/clear "command" in history (Bug#25838)
+
+	`eshell/clear' is implemented by sending a series of blank lines,
+	which is not a useful thing to have in the history.
+
+	* lisp/eshell/em-hist.el (eshell-input-filter-default): Use
+	`string-blank-p' which does check for newlines (even though newlines
+	have comment-end syntax, not whitespace syntax class).
+	* lisp/eshell/esh-mode.el (eshell/clear): Remove
+	`eshell-add-to-history' from `eshell-input-filter-functions' while
+	sending the blank lines.  This change is needed to solve the bug if
+	the user customizes `eshell-input-filter' to something that doesn't
+	filter newlines.
+
+2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove a few unused C functions
+
+	* src/eval.c (let_shadows_global_binding_p):
+	* src/print.c (write_string):
+	* src/systhread.c (sys_mutex_destroy, sys_thread_equal):
+	Remove.
+	* src/print.c (write_string): Rename from write_string_1.
+	All uses changed.
+
+2017-02-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid segfault in overlay_arrows_changed_p
+
+	* src/xdisp.c (overlay_arrows_changed_p): Fix recent change
+	to avoid a segfault.
+
+2017-02-26  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't call package--ensure-init-file if initialized during startup
+
+	* lisp/emacs-lisp/package.el (package-initialize): Check
+	`after-init-time' rather than `load-file-name' to decide if
+	`package--ensure-init-file' should be called.  Depending on
+	`load-file-name' will fail if the user calls `pacakge-initialize' in
+	file which is loaded from the init file (Bug#24643, Bug#25819).
+
+2017-02-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix display of before- and after-strings at invisible text
+
+	* src/xdisp.c (next_overlay_string): Don't raise the
+	ignore_overlay_strings_at_pos_p flag if the iterator is already
+	set to continue at a buffer position different from the one
+	where the overlay strings we just processed were loaded.  (Bug#25856)
+
+2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	Work on `tramp-completion-mode-p'
+
+	* etc/NEWS: Say that `tramp-completion-mode' is obsolete.
+
+	* lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
+	(tramp-completion-mode-p): Reintroduce the check for 'tab.
+
+2017-02-25  Tom Tromey  <tom@tromey.com>
+
+	Use font-lock-doc-face in js-mode
+
+	Bug#25858:
+	* lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
+	defun.
+	(js-mode): Use it.
+	* test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
+	test.
+
+2017-02-25  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't use IP 0.0.0.0 for package test server (Bug#22582)
+
+	* test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
+	'server_address' when port number is given on the command line.  Print
+	IP and port number as a URL, and flush it after printing.
+	* test/lisp/emacs-lisp/package-tests.el:
+	(package-test-update-archives-async): Grab the whole URL from server
+	output.
+
+2017-02-25  Tom Tromey  <tom@tromey.com>
+
+	Add more branch support to vc-dir
+
+	Bug#25859:
+	* lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
+	* lisp/vc/vc.el (vc-revision-history): New defvar.
+	(vc-read-revision): Use vc-revision-history.
+	(vc-print-branch-log): New function.
+	* doc/emacs/maintaining.texi (VC Directory Commands): Document new
+	bindings.
+	* etc/NEWS: Mention new vc-dir bindings.
+
+2017-02-25  Alan Mackenzie  <acm@muc.de>
+
+	Allow for the :: operator in C++ "enum class" declarations.
+
+	* lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
+	"::".
+
+2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix bug#25854
+
+	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
+	Simplify error handling for huge inodes.
+	(tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
+
+2017-02-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid leaving garbage on screen when using 'raise' display property
+
+	* src/xdisp.c (display_line): Reset voffset value of the iterator
+	when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
+	which then leaves stuff on screen that needs to be cleared by
+	redisplay.  (Bug#25855)
+
+2017-02-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix doc strings in info.el
+
+	* lisp/info.el (Info-selection-hook, Info-mode-hook)
+	(Info-edit-mode-hook): Doc fixes.  (Bug#25794)
+
+2017-02-25  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix doc string of 'posn-at-point'
+
+	* src/keyboard.c (Fposn_at_point): Clarify the doc string.
+	(Bug#25796)
+
+2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
+
+	New option -u / --suppress-output to emacsclient
+
+	* lib-src/emacsclient.c (print_help_and_exit, longopts)
+	(decode_options, main): Implement new option --suppress-output / -u to
+	suppress printing of eval-results.
+	* doc/emacs/misc.texi (emacsclient Options): Document the new
+	"--suppress-output/-u" options.
+	* etc/NEWS: Mention the new options.
+
+2017-02-25  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix scrolling with partial line corner case (Bug#25792)
+
+	Also fix up the scrolling tests so that they don't make so many
+	assumptions about the current window configuration.
+
+	* src/xdisp.c (try_window): Take partial line height into account when
+	comparing cursor position against scroll margin.
+
+	* test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
+	HEIGHT argument, to allow setting up window with exact height and
+	partial line.
+	(scroll-tests-display-buffer-with-height): New display-buffer action
+	function.
+	(scroll-tests-scroll-margin-over-max):
+	(scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
+	`scroll-tests--scroll-margin-whole-window'.
+	(scroll-tests-conservative-show-trailing-whitespace): New test.
+	(scroll-tests-scroll-margin-negative): Fix line counting.
+	(scroll-tests--point-in-middle-of-window-p): Set window height
+	properly.
+
+2017-02-25  Tom Tromey  <tom@tromey.com>
+
+	Fix indentation error in js.el
+
+	* lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
+	call in condition-case.
+	* test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
+	test.
+
+2017-02-24  Tom Tromey  <tom@tromey.com>
+
+	add "async" and "await" keywords
+
+	* lisp/progmodes/js.el (js--keyword-re): Add async, await.
+
+2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Use cl-print for Edebug and EIEIO
+
+	* lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
+	(edebug-prin1, edebug-print): Remove.
+
+	* lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
+	(cl-print-object): Add a method for EIEIO objects.
+	(eieio-edebug-prin1-to-string): Delete.
+	(edebug-prin1-to-string): Don't advise any more.
+
+	* lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
+	Replace `object-print' -> `cl-prin1-to-string'.
+
+2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Fix left over uses of `call-next-method'
+
+	* lisp/cedet/semantic/db-global.el (object-print):
+	* lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
+
+2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Minor redisplay optimisations
+
+	* src/frame.c (Ficonify_frame): No need to redisplay everything.
+
+	* src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
+	(redisplay_internal): Use it to avoid redisplaying everything.
+	(try_window_id): Use it keep the same behavior as before.
+
+2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-print.el: New file
+
+	* lisp/emacs-lisp/nadvice.el (advice--where): New function.
+	(advice--make-docstring): Use it.
+
+	* src/print.c (print_number_index): Don't declare here any more.
+	(Fprint_preprocess): New function.
+
+	* test/lisp/emacs-lisp/cl-print-tests.el: New file.
+
+2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
+
+	Make calc's least common multiple positive (bug#25255)
+
+	* lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
+	* doc/misc/calc.texi (Combinatorial Functions): Update for the above.
+
+2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
+
+	Documentation fix in elisp reference manual
+
+	* doc/lispref/macros.texi (Defining Macros): Drop redundant mention
+	on 'declare' forms (Bug#25846).
+
+2017-02-24  Gemini Lasswell  <gazally@runbox.com>
+
+	Support read syntax for circular objects in Edebug (Bug#23660)
+
+	* lisp/emacs-lisp/edebug.el (edebug-read-special): New name
+	for edebug-read-function. Handle the read syntax for circular
+	objects.
+	(edebug-read-objects): New variable.
+	(edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
+
+	* src/lread.c (Fsubstitute_object_in_subtree): Make
+	substitute_object_in_subtree into a Lisp primitive.
+
+2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
+
+	Add Conference to the list of valid bibtex entry types
+
+	* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
+	Add Conference as a duplicate of InProceedings.  (Bug#25143)
+
+2017-02-23  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
+
+2017-02-23  Glenn Morris  <rgm@gnu.org>
+
+	Small dunnet score file improvements
+
+	* lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
+	(dun-do-logfile): Handle non-existing score file.
+
+2017-02-23  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/play/dunnet.el (dun-help): Doc fix.
+
+2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Declare dun-line and dun-line-list
+
+	Previously, there were free variables 'line' and 'line-list'.
+	* lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
+	(dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
+	(dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
+	(dun-batch-unix-interface): Use them.
+
+2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-02-16 xbinary-io: rename from xsetmode
+	2017-02-15 xsetmode: new module
+	* lib-src/etags.c (main):
+	* lib-src/hexl.c (main):
+	* src/emacs.c (main) [MSDOS]:
+	Prefer set_binary_mode to the obsolescent SET_BINARY.
+	* lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
+
+2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	hexl: handle large files and I/O errors
+
+	* lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
+	Do not include ctype.h, as the code no longer uses isdigit.
+	(DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
+	(DEFAULT_BASE, endian): Remove; was not really used.
+	(usage): Remove; now done by ‘main’, as that’s simpler.
+	(progname): Now static.
+	(output_error, hexchar): New functions.
+	(main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
+	"-little-endian" options, as they did not work and were not used.
+	Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
+	Use SET_BINARY only once on stdout.
+	Do not assume file offsets fit in ‘long’.
+	If an I/O error occurs, report it and exit with nonzero status.
+
+2017-02-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid quitting inside a critical section on MS-Windows
+
+	* src/w32uniscribe.c (uniscribe_list_family):
+	* src/w32font.c (w32font_list_family, w32font_text_extents)
+	(w32font_list_internal, w32font_match_internal)
+	(list_all_matching_fonts): Prevent quitting while these functions
+	cons lists of fonts, to avoid leaving the critical section taken
+	by the main thread, which will then cause any other thread
+	attempting to enter the critical section to hang.  (Bug#25279)
+
+2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Use revision-completion-table in vc-retrieve-tag
+
+	* lisp/vc/vc.el (vc-retrieve-tag): Use the
+	revision-completion-table command for completion (bug#25710).
+
+2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
+
+	remove entries whose car can't be returned by type-of.
+	(cl--generic-all-builtin-types): New var.
+	(cl-generic-generalizers): Use it to avoid requiring
+	extra entries in cl--generic-typeof-types.
+
+2017-02-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Find macro binding for symbol-bound macros too (Bug#6848)
+
+	There are 2 ways to bind a macro: with global-set-key or
+	kmacro-bind-to-key.  The former binds a key to a symbol, while the
+	latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
+	lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
+	case, but broke the symbol case.
+
+	* lisp/macros.el (insert-kbd-macro): Also check for bindings of
+	MACRONAME.
+
+2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
+
+2017-02-22  Juri Linkov  <juri@linkov.net>
+
+	* lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
+
+2017-02-22  Juri Linkov  <juri@linkov.net>
+
+	* lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
+
+	(isearch-lazy-highlight-update): Check it to decide whether to apply
+	overlays only on the selected window.
+
+	* lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
+	(Bug#17453, bug#21092)
+
+2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Minor weak hash table performance tweaks
+
+	* src/fns.c (make_hash_table): Omit unnecessary assignment to
+	h->next_weak when the hash table is not weak.
+	(copy_hash_table): Put the copy next to the original in the
+	weak_hash_tables list, as this should have better locality
+	when scanning the weak hash tables.
+
+2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use float instead of Lisp_Object for rehash_size
+
+	* src/alloc.c (purecopy_hash_table):
+	* src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
+	(Fhash_table_rehash_size):
+	* src/lisp.h (struct Lisp_Hash_Table.rehash_size):
+	The rehash_size member of struct Lisp_Hash_Table is now a
+	float, not a Lisp_Object.
+	* src/alloc.c (purecopy_hash_table): Assign members in order.
+	* src/fns.c (make_hash_table): Use EMACS_INT for size and
+	float for rehash_size, instead of Lisp_Object for both.
+	All callers changed.
+	* src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
+	and 1 smaller.
+	* src/print.c (print_object): Simplify by calling
+	Fhash_table_rehash_size and Fhash_table_rehash_threshold.
+	Avoid unnecessary NILP.
+
+2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use ptrdiff_t instead of Lisp_Object for collision
+
+	* src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
+	* src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
+	arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
+	integer (or Qnil if empty).  All callers changed.
+	(larger_vecalloc): New static function.
+	(larger_vector): Use it.
+	(HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
+	index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
+	* src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
+	(hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
+	* src/profiler.c (evict_lower_half, record_backtrace):
+	-1, not nil, is now the convention for end of collision list.
+	* src/fns.c (maybe_resize_hash_table): Avoid double-initialization
+	of the free list.  Reallocate H->next last, in case other
+	reallocations exhaust memory.
+	* src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
+	ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
+	‘index’, which no longer contain nil.
+	(HASH_NEXT, HASH_INDEX): Move to src/fns.c.
+
+2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Hash table threshold is now float, not double
+
+	Change default from 0.8 to 0.8125 so it fits in float without
+	rounding glitches.
+	* doc/lispref/hash.texi (Creating Hash):
+	* doc/lispref/objects.texi (Hash Table Type):
+	* etc/NEWS:
+	Document change.
+	* src/fns.c (make_hash_table, maybe_resize_hash_table)
+	(Fmake_hash_table): Threshold is now float, not double.
+	Be consistent about how this is rounded.
+	* src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
+	Change back to float, now that the other code rounds consistently.
+	(DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
+
+2017-02-22  Juri Linkov  <juri@linkov.net>
+
+	Avoid flicker in lazy-highlight by doing all updates without redisplay.
+
+	* lisp/isearch.el (lazy-highlight-max-at-a-time):
+	Change default value from 20 to nil to not trigger redisplay
+	between updating iterations.
+	(lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
+	overlays when non-nil.
+	(isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
+	with non-nil second arg when the search string is not empty.
+	Run timer with isearch-lazy-highlight-start instead of
+	isearch-lazy-highlight-update.
+	(isearch-lazy-highlight-start): New function. (Bug#25751)
+
+2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
+
+	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
+
+2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
+
+	which resulted in incomplete list of parents in one copy of the
+	cl-structure-class class.
+
+2017-02-21  Glenn Morris  <rgm@gnu.org>
+
+	Tweak recent custom-reevaluate-setting change
+
+	* lisp/custom.el (custom-reevaluate-setting):
+	Tweak previous change to avoid font-lock init issues.
+
+2017-02-21  Glenn Morris  <rgm@gnu.org>
+
+	Ensure delayed-init custom variables get marked special
+
+	* lisp/custom.el (custom-reevaluate-setting):
+	If the variable has never been set, defvar it.  (Bug#25770)
+
+2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Turn on lexical-binding in dunnet.el
+
+	* lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
+	byte compile warnings.
+
+2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Make dunnet insertion functions n-ary
+
+	* lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
+	(dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
+	any number of arguments.
+	(dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
+	(dun-take, dun-go, dun-move, dun-press, dun-score):
+	(dun-compile-save-out, dun-do-logfile): Collect arguments from
+	multiple insertion calls into less calls with more args.
+
+2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	message-goto-body-1: Fix regexp so as not to match multi-line
+
+	* lisp/gnus/message.el (message-goto-body-1):
+	Fix regexp so as not to match multi-line.
+
+2017-02-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Simplify cl-get using `plist-member'
+
+	* lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
+	`plist-member' instead of explicit loop.
+	* test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
+
+2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Verify xwidget USE_LSB_TAG assumption
+
+	* src/xwidget.c (Fxwidget_webkit_execute_script):
+	Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
+
+2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* src/insdel.c (make_gap): Improve comment.
+
+2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Do not use switch-to-buffer for working in a temp buffer
+
+	* lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
+	cf. Bug#22244.
+	(dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
+	with-temp-buffer instead.
+
+2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Make dun-room-shorts a defconst
+
+	* lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
+	initial value into the declaration.
+	(dun-space-to-hyphen): Remove.
+
+2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port xwidget to -DCHECK_LISP_OBJECT_TYPE
+
+	* src/xwidget.c (webkit_javascript_finished_cb)
+	(Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
+	integer.  This fix is just a hack; I’ll file a bug report about
+	the underlying problem.
+
+2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	mm-decode.el: Simplify regexp used to search html meta tag
+
+	* lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
+	Simplify regexp used to search html meta tag.
+
+2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	mm-shr: Ignore coding-system `ascii'
+
+	* lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
+
+2017-02-20  Tom Tromey  <tom@tromey.com>
+
+	vc-log-outgoing fixes for git; add binding to vc-dir
+
+	* lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
+	* lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
+	async execution.
+	(vc-git-log-view-mode): Also truncate lines for log-outgoing and
+	log-incoming.
+	* lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
+	as remote-location argument.
+
+2017-02-20  Tom Tromey  <tom@tromey.com>
+
+	Remove stale comments from vc-git and vc-hg
+
+	* lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
+	* lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
+
+2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Remove member clone
+
+	* lisp/play/dunnet.el (dun-answer): Use member instead.
+	(dun-members): Remove.
+
+2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Prefix global var
+
+	* lisp/play/dunnet.el (room): Rename to dun-room.
+	(dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
+	(dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
+
+2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace nested ifs with cond
+
+	* lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
+	(dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
+	and cond where appropriate.
+	(dun-sauna-heat): Accept sauna level as an argument.  Use cond.
+	(dun-take): Use null and dun-mprincl.
+	(dun-inven-weight, dun-load-d): Reformat.
+	(dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
+
+2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix glitches in recent hash table changes
+
+	* src/fns.c (Fmake_hash_table): Simplify the machine code slightly
+	by using 0 rather than -1.
+	* src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
+	than a bitfield, for speed (the bitfield did not save space).
+	(struct Lisp_Hash_Table.rehash_threshold): Now double rather than
+	float, since the float caused unwanted rounding errors, e.g.,
+	(hash-table-rehash-threshold (make-hash-table)) yielded
+	0.800000011920929 instead of the correct 0.8.
+
+2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
+
+2017-02-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid aborts during loadup
+
+	* src/emacs-module.c (syms_of_module):
+	* src/image.c (xpm_make_color_table_h): Update calls to
+	make_hash_table to adjust to a recent change in fns.c.
+	* src/fns.c (make_hash_table):
+	* src/lisp.h (make_hash_table): 4th arg is now of type double.
+
+2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	Rework connection local variables
+
+	For connection local variables interface, `class' is renamed
+	to `profile'.  All arguments `criteria' are a plist now.
+
+	* doc/lispref/variables.texi (Connection Local Variables):
+	Rewrite.
+
+	* lisp/files-x.el (connection-local-profile-alist): Rename
+	from `connection-local-class-alist'.  Adapt docstring.
+	(connection-local-criteria-alist): Adapt docstring.
+	(connection-local-normalize-criteria): New defun.
+	(connection-local-get-profiles): Rename from
+	`connection-local-get-classes'.  Rewrite.
+	(connection-local-set-profiles): Rename from
+	`connection-local-set-classes'.  Rewrite.
+	(connection-local-get-profile-variables): Rename from
+	`connection-local-get-class-variables'.  Rewrite.
+	(connection-local-set-profile-variables): Rename from
+	`connection-local-set-class-variables'.  Rewrite.
+	(hack-connection-local-variables)
+	(hack-connection-local-variables-apply)): Rewrite.
+	(with-connection-local-profiles): Rename from
+	`ith-connection-local-classes'.  Rewrite.
+
+	* lisp/net/tramp.el (tramp-set-connection-local-variables):
+	Compute criteria.
+
+	* lisp/net/tramp-cmds.el (tramp-bug):
+	Use `connection-local-profile-alist'.
+
+	* test/lisp/files-x-tests.el (files-x-test--variables1)
+	(files-x-test--variables2, files-x-test--variables3)
+	(files-x-test--variables4, files-x-test--criteria1)
+	(files-x-test--criteria2): Make them a defconst.
+	(files-x-test--application)
+	(files-x-test--another-application, files-x-test--protocol)
+	(files-x-test--user, files-x-test--machine): New defconst.
+	(files-x-test--criteria): New defvar.
+	(files-x-test--criteria3): Remove.
+	(files-x-test-connection-local-set-profile-variables):
+	Rename from `files-x-test-connection-local-set-class-variables'.
+	Rewrite.
+	(files-x-test-connection-local-set-profiles): Rename from
+	`files-x-test-connection-local-set-classes'.  Rewrite.
+	(files-x-test-hack-connection-local-variables-apply)  Rewrite.
+	(files-x-test-with-connection-local-profiles): Rename from
+	`files-x-test-with-connection-local-classes'.  Rewrite.
+
+2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Set up combination and random item location
+
+	* lisp/play/dunnet.el (dun-combination): Make defconst.
+	(tloc, tcomb): Remove.  Replace with a top-level form.
+
+2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace movement variables with an alist and accessor
+
+	* lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
+	(northwest, southwest, up, down, in, out): Remove.
+	(dun-movement-alist): New constant.
+	(dun-movement): New function.
+	(dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
+	(dun-down, dun-in, dun-out): Use a symbol for indicating movement.
+	(dun-move, dun-special-move): Translate movement symbol to an
+	enumeration.
+
+2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Change top-level setq forms to defvar or defconst
+
+	Also collect some code onto fewer lines and reindent.
+	* lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
+	(dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
+	(dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
+	(room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
+	(dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
+	(dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
+	(dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
+	(dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
+	(dun-mode, dun-sauna-level, north, south, east, west, northeast):
+	(southeast, northwest, southwest, up, down, in, out, dungeon-map):
+	(dun-objnames, obj-special, dun-room-objects, dun-room-silents):
+	(dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
+	(dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
+	(dun-diggables, dun-room-shorts, dun-endgame-questions): Change
+	declaration to use defvar or defconst.
+	(dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
+	(dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
+	dun-verblist.  Those are now constants and the byte compiler doesn't
+	allow defconsts in lambda lists.
+
+2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Move all dunnet globals up to the top
+
+	* lisp/play/dunnet.el: Adjust comments to reflect moved forms.
+	(dun-visited, dun-current-room, dun-exitf):
+	(dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
+	(dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
+	(room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
+	(dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
+	(dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
+	(dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
+	(dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
+	(dun-mode, dun-sauna-level, north, south, east, west, northeast):
+	(southeast, northwest, southwest, up, down, in, out, dungeon-map):
+	(dun-objnames, obj-special, dun-room-objects, dun-room-silents):
+	(dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
+	(dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
+	(dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
+	top of the file, before any uses.
+
+2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix bug#25788
+
+	* lisp/net/tramp.el (tramp-autoload-file-name-handler):
+	Do not load tramp.el just for "/".  (Bug#25788)
+
+2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	Fix fringe bitmap initialization on MS-Windows
+
+	* src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
+	of fb->bits.  (Bug#25673)
+
+2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Change type of `rehash_threshold' and `pure' fields in hash-tables
+
+	* src/lisp.h (struct Lisp_Hash_Table): Change type of
+	`rehash_threshold' and `pure' fields and move them after `count'.
+	* src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
+	(Fmake_hash_table, Fhash_table_rehash_threshold):
+	* src/category.c (hash_get_category_set):
+	* src/xterm.c (syms_of_xterm):
+	* src/profiler.c (make_log):
+	* src/print.c (print_object):
+	* src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
+
+2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use 'char *FOO' instead of 'char* FOO'
+
+2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
+
+	More json.el changes
+
+	* lisp/json.el (json-read-keyword, json-read-number, json-read-object):
+	(json-read-array): Just use = for char comparison.
+
+2017-02-18  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/woman.el (woman): Fix docstring prefix arg description.
+
+2017-02-18  Alan Mackenzie  <acm@muc.de>
+
+	Fix edebug-spec on c-lang-defvar.
+
+	This allows c-lang-defvars with the symbol 'dont-doc in the place of the
+	optional documentation to be instrumented for edebug.
+
+	lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
+	c-lang-defvar.
+	(c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
+	'dont-doc.
+
+2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Lists used as plists now have to be an even length
+
+	* lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
+	(eww-process-text-input): Not here, either.
+
+2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
+
+	Unset `non-essential' in Tramp when not needed anymore
+
+	* doc/misc/trampver.texi:
+	* lisp/net/trampver.el: Change version to "2.3.2-pre".
+
+	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
+	Use `tramp-completion-mode-p'.
+
+	* lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
+	when file name doesn't match `tramp-completion-file-name-regexp'.
+
+2017-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Automatically regenerate emacs.1 and *.rc files
+
+	* Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
+	non-Makefile files produced by config.status.
+	($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
+	their targets are regenerated when the source changes.
+
+2017-02-18  Alan Mackenzie  <acm@muc.de>
+
+	Set the syntax table in AWK Mode.
+
+	This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
+	It fixes bug #25722.
+
+	lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
+
+2017-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Mention "editor" in Emacs man page header
+
+	* doc/man/emacs.1.in: Mention "editor" in the header line.
+	(Bug#25771, Bug#25779)
+
+2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
+
+	Fix Turkish language environment setup
+
+	* lisp/language/european.el ("Turkish"): Fix a typo in Turkish
+	language setup.  (Bug#25763)
+
+2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
+
+	Support 24-bit direct colors on text terminals
+
+	* src/term.c (init_tty): Use 24-bit terminal colors if corresponding
+	foreground and background functions are present in terminal type
+	definition.
+	* src/tparam.h: Define prototype for tigetstr.
+
+	* lisp/term/tty-colors.el (tty-color-define): Convert color palette
+	index to pixel value on 16.7M color terminals.
+	(tty-color-24bit): New function to convert color palette index to
+	pixel value on 16.7M color terminals.
+	(tty-color-desc): Don't approximate colors on 16.7M color terminals.
+	* lisp/term/xterm.el (xterm-register-default-colors): Define all named
+	TTY colors on 16.7M color terminals.
+
+	* doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
+	enable direct color TTY mode.
+	* etc/NEWS: Mention direct color TTY mode and point to FAQ.
+
+2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
+
+	Remove unused TN_max_pairs field
+
+	* src/termchar.h (tty_display_info): Remove TN_max_pairs field,
+	describing maximum number of terminal background/foreground color pairs.
+	* src/term.c (tty_default_color_capabilities, tty_setup_colors)
+	(init_tty): Remove references to TN_max_pairs.
+
+2017-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of query-replace-from-to-separator
+
+	* doc/emacs/search.texi (Query Replace): Document the meaning of
+	the nil value of query-replace-from-to-separator.  (Bug#25482)
+
+2017-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Document problems with nerd-fonts
+
+	* etc/PROBLEMS (fonts): Describe the potential problems with
+	nerd-fonts that cause slow display.  (Bug#25697)
+
+2017-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve commentary for a recent change in keyboard.c
+
+	* src/keyboard.c (Fset__this_command_keys): Add a comment about
+	the magic 248 value.  (Bug#25612)
+
+2017-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid infloop in rect.el
+
+	* lisp/rect.el (rectangle--*-char): Avoid inflooping when called
+	with argument N whose absolute value is greater than 1.  (Bug#25773)
+
+2017-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Remove annoying warnings about let-binding
+
+	* src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
+	Remove warnings about making symbols local while let-bound.
+	(Bug#25561)
+
+2017-02-18  Hong Xu  <hong@topbug.net>
+
+	Avoid errors when flyspell-generic-check-word-predicate is a lambda.
+
+	* flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
+	functionp instead of fboundp on
+	flyspell-generic-check-word-predicate (Bug#25765).
+
+2017-02-18  Glenn Morris  <rgm@gnu.org>
+
+	Remove the build number from emacs-version variable
+
+	It's a largely internal detail that can confuse users.  (Bug#25590)
+	* lisp/version.el (emacs-build-number): New constant.
+	(emacs-version): Use emacs-build-number.
+	* lisp/loadup.el (top-level): When dumping, increment
+	emacs-build-number rather than emacs-version.
+	* src/emacs.c (emacs-version): Doc fix.
+	* doc/lispref/intro.texi (Version Info): Update emacs-version details.
+	Mention emacs-build-number.
+	* lisp/gnus/gnus-util.el (gnus-emacs-version):
+	* lisp/mail/emacsbug.el (report-emacs-bug):
+	* admin/admin.el (set-version): Update for emacs-version change.
+
+2017-02-18  Glenn Morris  <rgm@gnu.org>
+
+	Ensure that user-mail-address always has a value
+
+	* lisp/startup.el (user-mail-address): Initialize in the normal way.
+	(command-line): Reset user-mail-address if needed using
+	standard custom machinery.
+	* lisp/mail/feedmail.el (feedmail-fiddle-from):
+	* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
+	* lisp/mail/rmailsum.el (rmail-header-summary):
+	Simplify now that user-mail-address is always set.
+
+2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Turn on lexical-binding in ruby-mode
+
+	* lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
+	(ruby-font-lock-syntax-table): Use make-syntax-table.
+	(ruby-mode): 'define-derived-mode' writes the keys for us.
+
+2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Turn on lexical-binding in elint.el
+
+	* lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
+	(elint-running, elint-current-pos): Move these dynamic vars to toward
+	the top of the file.
+	(elint-check-quote-form): Ignore unused argument.
+	(elint-check-conditional-form): Remove unused binding.
+
+2017-02-18  Gemini Lasswell  <gazally@runbox.com>
+
+	* lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
+
+2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Enable erc-accidental-paste-threshold-seconds by default
+
+	* lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
+	default to 0.2 (Bug#25709).
+
+2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
+
+	Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
+
+	The [5ec3a584: Generate upcase and downcase tables from Unicode data]
+	commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
+	one created with ‘make extraclean’), see
+	<http://hydra.nixos.org/build/48774928>.
+
+	The failure was caused by characters.el trying to read Unicode
+	property tables which aren’t available so early in the build process.
+
+	Wrap the part that requires Unicode property tables in a condition
+	checking if those are available.  If they aren’t they case and syntax
+	tables won’t be fully set but later on, the characters.el file will be
+	evaluated again and this time with Unicode properties available so
+	final Emacs ends up with the exact same case and syntax tables.
+
+2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	mm-add-meta-html-tag: Improve regexp
+
+	* lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
+	Improve regexp to search html meta tag.
+
+2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	mm-shr: Prefer charset specified in html meta tag
+
+	* lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
+	meta tag than mail-parse-charset in the case there is no charset spec
+	in MIME header.
+
+2017-02-17  Glenn Morris  <rgm@gnu.org>
+
+	Stop duplicating some custom-types in message.el
+
+	* lisp/gnus/message.el (user-mail-address, user-full-name):
+	No need to re-specify custom-type.
+
+2017-02-17  Glenn Morris  <rgm@gnu.org>
+
+	Whitespace trivia in dunnet.el
+
+	* lisp/play/dunnet.el (dun-special-object, dun-put-objs)
+	(dun-rlogin-endgame): Whitespace trivia.
+
+2017-02-17  Glenn Morris  <rgm@gnu.org>
+
+	Explicit error on changing case of negative integers
+
+	* src/casefiddle.c (casify_object): Reject negative integers:
+	Emacs characters are positive integers.  (Bug#25684)
+
+2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Fix buffers update in vc-retrieve-tag
+
+	* lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
+	`repository', use the repository root and pass it to
+	vc-resynch-buffer (bug#25714).
+
+2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/buffer.h: Fix indenting.
+
+2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Add sanity checks for Bswitch hash tables
+
+	* src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
+	Check that operand is a hash table and hashes to ints.
+
+2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
+
+2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
+
+	bytecomp.el: Avoid unnecessary calculation for jump table addresses.
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
+	  redundant operations while calculating the correct jump addresses
+	  from TAGs in jump tables.
+
+2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Minor changes in json.el
+
+	* lisp/json.el (json-advance): Simpler docstring.
+	(json-read-escaped-char): Use xdigit subform in rx expression.
+	(json-read-string): Just use = for char comparison.
+
+2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Don't expand body inside a let-binding when there are no bindings
+
+	* lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
+	is non-nil.
+
+2017-02-16  Glenn Morris  <rgm@gnu.org>
+
+	Handle user-mail-address being the empty string
+
+	* lisp/mail/feedmail.el (feedmail-fiddle-from):
+	* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
+	* lisp/mail/rmailsum.el (rmail-header-summary):
+	Belated update for 2002-09-29 startup.el change, 680ebfa, where
+	the value of user-mail-address during initialization was changed
+	from nil to the empty string.
+
+2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
+
+	Continue to fix bug#25607
+
+	* lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
+	(ido-file-name-all-completions-1): Do not bind `non-essential'.
+
+	* lisp/net/tramp.el: (tramp-completion-file-name-handler):
+	Improve autoloaded version.
+	(tramp-completion-file-name-handler): Remove old compat code.
+	Check only for `tramp-completion-mode-p'.
+	(tramp-completion-mode-p): Autoload.  Do not check any longer
+	for `last-input-event'.
+	(tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
+
+2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
+
+	casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
+
+	A compatibility digraph characters, such as Dž, are neither upper- nor
+	lower-case.  At the moment however, those are reported as upper-case¹
+	despite the fact that they change when upper-cased.
+
+	Stop checking if a character is upper-case before trying to up-case it
+	so that title-case characters are handled correctly.  This fixes one of
+	the issues mentioned in bug#24603.
+
+	¹ Because they change when converted to lower-case.  Notice an asymmetry
+	  in that for a character to be considered lower-case it must not be
+	  upper-case (plus the usual condition of changing when upper-cased).
+
+	* src/buffer.h (upcase1): Delete.
+	(upcase): Change to upcase character unconditionally just like downcase
+	does it.  This is what upcase1 was.
+
+	* src/casefiddle.c (casify_object, casify_region): Use upcase instead
+	of upcase1 and don’t check !uppercasep(x) before calling upcase.
+
+	* src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
+	downcase(x) and see if it changed.
+
+	* test/src/casefiddle-tests.el (casefiddle-tests--characters,
+	casefiddle-tests-casing): Update test cases which are now passing.
+
+2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
+
+	Generate upcase and downcase tables from Unicode data  (bug#24603)
+
+	Use Unicode data to generate case tables instead of mostly repeating
+	them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
+	digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
+
+	https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
+	changes to syntax table and case tables introduced by this commit.
+
+	* lisp/international/characters.el: Remove case-pairs defined with
+	explicit Lisp code and instead use Unicode character properties.
+
+	* test/src/casefiddle-tests.el (casefiddle-tests--characters,
+	casefiddle-tests-casing): Update test cases which are now working
+	as they should.
+
+2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
+
+	Add tests for casefiddle.c  (bug#24603)
+
+	Fixes cases marked FIXME upcoming in followup commits.
+
+	* test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
+	casefiddle-tests-case-table, casefiddle-tests-casing-character,
+	casefiddle-tests-casing, casefiddle-tests-casing-byte8,
+	casefiddle-tests-casing-byte8-with-changes): New tests.
+	(casefiddle-tests--test-casing): New helper function for runnig
+	some of the tests.
+
+2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
+
+	oldXMenu: add missing #include <string.h>
+
+	Some of the files in oldXMenu use functions from string.h without
+	including that header which results in compile warnings:
+
+		ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
+		ChgPane.c:46:20: warning: incompatible implicit declaration of
+			built-in function ‘strlen’
+		ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
+		ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
+			function ‘strlen’
+		Create.c:220:5: warning: implicit declaration of function ‘strcmp’
+		InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
+		InsPane.c:65:20: warning: incompatible implicit declaration of
+			built-in function ‘strlen’
+		InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
+		InsSel.c:68:20: warning: incompatible implicit declaration of built-in
+			function ‘strlen’
+		InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
+
+	Add the necessary ‘#include <string.h>’.
+
+	oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
+	oldXMenu/InsSel.c: add missing #include <string.h>
+
+2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fixup recent rmail patch
+
+	* lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
+
+2017-02-15  Richard Stallman  <rms@gnu.org>
+
+	Rmail fix
+
+	* lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
+	as element 4 of the value.
+	(rmail-epa-decrypt): Take the text to insert from that element.
+
+2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
+
+	bytecomp-tests.el: Store all test forms in one constant.
+
+	* test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
+	in a single constant (byte-opt-testsuite-arith-data), add new forms
+	which generate lapcode with adjacent/redundant tags.
+
+2017-02-15  Glenn Morris  <rgm@gnu.org>
+
+	Small lispref edit
+
+	* doc/lispref/os.texi (User Identification):
+	Remove extraneous detail about user-mail-address.
+
+2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Document fill-separate-heterogeneous-words-with-space (bug#25685)
+
+	* doc/lispref/text.texi (Filling):
+	Document fill-separate-heterogeneous-words-with-space (bug#25685).
+
+2017-02-15  Noam Postavsky  <npostavs@gmail.com>
+
+	Test comment-multi-line = nil auto fill case too
+
+	* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
+	`comment-multi-line' both nil and non-nil.
+	* lisp/newcomment.el (comment-multi-line): Mark safe if it's a
+	boolean.
+	* etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
+
+2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Don't delete leading and trailing space from CJK word (bug#25685)
+
+	* lisp/textmodes/fill.el (fill-delete-newlines):
+	Don't delete leading and trailing space from CJK word.
+	(fill-separate-heterogeneous-words-with-space):
+	New user option that controls it (bug#25685).
+
+2017-02-15  Juri Linkov  <juri@linkov.net>
+
+	‘M-s w RET word C-s’ repeats incremental search.
+
+	* lisp/isearch.el (isearch-new-nonincremental): New variable.
+	(with-isearch-suspended): Bind isearch-new-nonincremental to
+	isearch-nonincremental, and restore it afterwards.
+	(isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
+	Set isearch-new-nonincremental to nil.  (Bug#25562)
+
+2017-02-14  Tom Tromey  <tom@tromey.com>
+
+	Make vc-git detect conflict state for vc-dir
+
+	* lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
+	(vc-git-dir-status-update-file): New function.
+	(vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
+	vc-git-dir-status-state; add 'ls-files-conflict state.
+	(vc-git-dir-status-files): Create a vc-git-dir-status-state.
+
+2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
+
+	byte-opt: Replace merged tags in jump tables too. (bug#25716)
+
+	* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
+	  adjacent tags, make sure that the old tag is replaced in all jump
+	  tables, if any. This fixes the bytecode VM jumping to the wrong
+	  address in compiled cond forms where the body of a clause was a loop
+	  of any sort.
+
+2017-02-14  Glenn Morris  <rgm@gnu.org>
+
+	Remove overly broad element from default mail-dont-reply-to-names
+
+	* lisp/mail/mail-utils.el (mail-dont-reply-to):
+	Do not include just "user@" in mail-dont-reply-to-names, and simplify.
+	Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
+	* lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
+	* doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
+
+2017-02-14  Juri Linkov  <juri@linkov.net>
+
+	* etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
+
+2017-02-13  Arash Esbati  <arash@gnu.org>
+
+	Match all characters in optional argument of \documentclass
+
+	* lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
+	characters in optional argument containing name of the main file.
+
+2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
+
+	Merge branch 'master' into feature/byte-switch
+
+2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Fix non-ASCII text encoding (bug#25658)
+
+	* lisp/gnus/mm-bodies.el (mm-encode-body):
+	Fix non-ASCII text encoding (bug#25658).
+
+2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
+
+	test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
+
+2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
+
+2017-02-13  Glenn Morris  <rgm@gnu.org>
+
+	Fix recent bootstrap issue by moving string-to-list
+
+	* lisp/international/mule-util.el (string-to-list, string-to-vector):
+	Move from here...
+	* lisp/subr.el (string-to-list, string-to-vector): ...to here.
+	The implementation is trivial and at least string-to-list
+	has ended up being needed early during bootstrap.
+
+2017-02-13  Glenn Morris  <rgm@gnu.org>
+
+	Doc fixes related to mail-host-address
+
+	* lisp/startup.el (mail-host-address): Doc fix.
+	* doc/lispref/os.texi (System Environment):
+	Remove extraneous details of mail-host-address.
+
+2017-02-13  Glenn Morris  <rgm@gnu.org>
+
+	Simplify time-stamp mail host usage
+
+	* lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
+	(time-stamp-string-preprocess): Handle "h" (mail host) directly.
+
+2017-02-13  Glenn Morris  <rgm@gnu.org>
+
+	Doc fix for vhdl-mode re mail-host-address
+
+	* lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
+	(mail-host-address): Do not add to vhdl-related custom group,
+	since vhdl-template-replace-header-keywords doesn't use it.
+
+2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Substitute leading $HOME/ in xdg-user-dirs
+
+	* lisp/xdg.el (xdg--substitute-home-env): New function.
+	(xdg--user-dirs-parse-line): Use it.
+	(xdg-user-dir): Expand ~/ in xdg-user-dirs values.
+
+2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/buff-menu.el: Turn on lexical-binding.
+
+2017-02-13  Juri Linkov  <juri@linkov.net>
+
+	* lisp/replace.el (query-replace-from-to-separator): Move propertize
+
+	and char-displayable-p test to query-replace-read-from.
+	Add choice nil to disable this feature.
+	(query-replace-read-from): Don't reevaluate custom setting.
+	Use char-displayable-p to test the first non-whitespace character
+	in query-replace-from-to-separator, use " -> " when fails.
+	Add prompt for the case when separator is nil but
+	query-replace-defaults is non-nil.
+	Remove unused test for regexp-flag.
+	Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
+
+2017-02-13  Karl Fogel  <kfogel@red-bean.com>
+
+	Convert more uses of `looking-at' to `following-char'
+
+	This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
+	(commit 91478f46238a) with more of the same.
+
+	* lisp/bookmark.el (bookmark-send-edited-annotation):
+	  (bookmark-bmenu-execute-deletions): Replace instances of looking-at
+	  with char comparisons using following-char.
+
+2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix typos in tests for lax-plist-get etc.
+
+	Problem reported by Eli Zaretskii (Bug#25606#62).
+	* test/src/fns-tests.el (test-cycle-lax-plist-get)
+	(test-cycle-plist-put, test-cycle-lax-plist-put):
+	Fix tests to match behavior.
+
+2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix bug#25607
+
+	* lisp/net/tramp.el (tramp-completion-file-name-handler):
+	Improve autoloaded version.
+	(tramp-autoload-file-name-handler): Avoid recursive load.
+	(tramp-completion-handle-expand-file-name): Handle empty NAME.
+	(Bug#25607)
+
+2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Remove server-buffer-clients string from minor-mode-alist
+
+	* lisp/server.el: Don't put an element for server-buffer-clients into
+	minor-mode-alist. (Bug#20201)
+
+2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Nix some useless uses of looking-at, looking-back
+
+	* lisp/allout.el (allout-kill-topic):
+	(allout-next-topic-pending-encryption):
+	* lisp/bookmark.el (bookmark-kill-line):
+	* lisp/cus-edit.el (custom-save-variables, custom-save-faces):
+	* lisp/cus-theme.el (custom-theme-write-variables):
+	(custom-theme-write-faces):
+	* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
+	* lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
+	(checkdoc-interactive-ispell-loop):
+	(checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
+	(checkdoc-this-string-valid-engine):
+	* lisp/emacs-lisp/elint.el (elint-get-top-forms):
+	* lisp/emulation/viper-cmd.el (viper-backward-indent):
+	* lisp/image-dired.el (image-dired-delete-char):
+	* lisp/simple.el (kill-visual-line): Replace instances of looking-at,
+	looking-back with char comparisons using following-char, preceding-char.
+
+2017-02-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Clarify what is the "cursor"
+
+	* doc/lispref/windows.texi (Window Point): Clarify the notion of
+	"cursor".
+
+2017-02-11  Tom Tromey  <tom@tromey.com>
+
+	Recognize JS regexp literals more correctly
+
+	Bug#25529
+	* lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
+	constant.
+	(js-syntax-propertize-regexp): Use it.  Remove "end" argument.
+	(js--syntax-propertize-regexp-syntax-table): Remove.
+	(js-syntax-propertize): Update.
+	* test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
+	New test.
+
+2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
+
+	src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
+
+	This avoids using XUINT every time while comparing it with
+	HASH_HASH (h, i), replacing it with EQ.
+
+2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
+
+	src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
+
+2017-02-11  Tom Tromey  <tom@tromey.com>
+
+	Fix bug in css--mdn-find-symbol
+
+	* lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
+	before skipping word characters.
+	test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
+	regression test.
+
+2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
+
+	src/bytecode.c: Add optional sanity check for jump tables.
+
+	* src/bytecode.c (exec_byte_code): When sanity checks are enabled,
+	  check that the jump table's size is equal to it's count.
+
+2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
+
+	Merge branch 'master' into feature/byte-switch
+
+	* src/bytecode.c: Refactor to follow GNU coding standards
+
+2017-02-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix handling of XBM images on MS-Windows
+
+	* src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
+	'nbytes' when inverting XBM data bits.  (Bug#25661)
+
+2017-02-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix handling of PBM data
+
+	* src/image.c (pbm_load): Handle PBM data with no blanks between
+	individual pixel values correctly.  (Bug#25660)
+
+2017-02-10  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix warnings in debug tracing code
+
+	* src/xdisp.c (dump_glyph, dump_glyph_string):
+	* src/xfaces.c (dump_realized_face): Cast arguments or adjust format
+	specifiers to match signedness.
+
+2017-02-10  Sam Steingold  <sds@gnu.org>
+
+	Extract grep-find-ignored-directories processing from rgrep-default-command
+
+	(rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
+	Some Emacs packages use `grep-find-ignored-directories' to ignore some
+	directories, so will use this function instead of custom code.
+	(rgrep-default-command): Use `rgrep-find-ignored-directories'.
+
+2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
+
+	src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
+
+	* src/bytecode.c: (exec_byte_code) While linear searching the jump
+	  table, compare the value's hash table first to avoid calling
+	  h->test.cmpfn every time.
+
+2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix a few integer-overflow glitches
+
+	* src/composite.c (composition_compute_stop_pos, composition_reseat_it):
+	* src/dispextern.h (struct composition_it.rule_idx):
+	* src/keyboard.c (Fset__this_command_keys):
+	* src/xwidget.c (webkit_js_to_lisp):
+	Don’t assume object sizes fit in ‘int’.
+	* src/xwidget.c (Fxwidget_resize):
+	Don’t assume Emacs integers fit in ‘int’.
+
+2017-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a bug with displaying an image after a TAB
+
+	* src/xdisp.c (display_line): Handle TAB at end of screen line
+	specially only when we are displaying characters.  (Bug#25662)
+
+2017-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve commentary in lisp.h
+
+	* src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
+	object is discouraged.
+
+2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Move cyclic tests to fns-tests.el
+
+	* test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
+	(test-cycle-length, test-cycle-safe-length, test-cycle-member)
+	(test-cycle-memq, test-cycle-memql, test-cycle-assq)
+	(test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
+	(test-cycle-delq, test-cycle-delete, test-cycle-reverse)
+	(test-cycle-plist-get, test-cycle-lax-plist-get)
+	(test-cycle-plist-member, test-cycle-plist-put)
+	(test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
+	New tests.
+	* test/manual/cyclic-tests.el: File deleted.
+
+2017-02-10  Gemini Lasswell  <gazally@runbox.com>
+
+	Fix instrumenting code with propertized strings in Edebug
+
+	* lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
+	'read' to decide what is and isn't a syntax error.  (Bug#25068)
+
+2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
+
+	Improve fontification in bat-mode
+
+	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
+	word and symbol constituents when looking for variable names
+	to fontify; also, correct the syntax table and mark the equal
+	sign (=) character as punctuation.  Improve fontification
+	accuracy of iteration/positional variables.
+	(bat-mode): Set comment-start-skip.  (Bug#25541)
+
+	* test/lisp/progmodes/bat-mode-tests.el: New file, tests for
+	bat-mode.el.
+
+2017-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Restore special setting of this-command-keys by M-x
+
+	It was lost when execute-extended-command was reimplemented in Lisp.
+
+	* src/keyboard.c (Fset__this_command_keys): New function.
+	(syms_of_keyboard): Defsubr it.
+
+	* lisp/simple.el (execute-extended-command): Set this-command-keys
+	as novice.el expects.  (Bug#25612)
+
+2017-02-09  Juri Linkov  <juri@linkov.net>
+
+	* lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
+
+	to t to display "Pending" in the search prompt for lax
+	word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
+	when 'bound' is non-nil.
+	(word-search-regexp, isearch-symbol-regexp): Don't depend on lax
+	at the beginning of regexp (bug#22589).
+
+	* lisp/info.el (Info-isearch-search):
+	Use isearch--lax-regexp-function-p.
+
+	* doc/emacs/search.texi (Word Search, Symbol Search):
+	Mention "Pending" prompt for lax word/symbol search.
+
+2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
+
+	src/bytecode.c (exec_byte_code): Remove unneeded assert.
+
+	bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
+
+2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
+
+	bytecode.c (exec_byte_code): don't check hash code in linear search.
+
+	* src/bytecode.c (exec_byte_code): Don't check that the hash code is
+	  not nil when linear scanning the jump table. Hash tables for are
+	  declared with :size as the exact number of cases, so each entry i
+	  should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
+	  check.
+
+2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
+
+	Ibuffer: Update mode documentation
+
+	* lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
+
+2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
+
+	Fix environment variable for xdg-data-dirs
+
+	* lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
+
+2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
+
+	Ibuffer: Erase output buffer before shell commands
+
+	* lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
+	BEFORE and AFTER; they are forms to run before/after the operation.
+	* lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
+	New defun; if shell-command-dont-erase-buffer is nil, then
+	erase shell command output buffer.
+	(ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
+
+2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
+
+	Ibuffer: Don't truncate shell command output
+
+	* lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
+	(ibuffer-do-shell-command-pipe-replace)
+	Use 'call-shell-region' (Bug#22679).
+	(ibuffer-do-shell-command-file): Use call-process-shell-command.
+	If FILE, the file that the buffer object is visiting,
+	exists and the buffer is up-to-date, then use
+	FILE instead of creating a temporary file (Bug#22679).
+
+2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
+
+	Improve byte-switch execution.
+
+	* lisp/emacs-lisp/byte-opt.el,
+	  lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
+	  (byte-compile-lapcode): Calculate the actual jump address while
+	  compiling, store it in the jump table.
+
+	* src/bytecode.c: Jump to the looked up value directly, do a linear
+	  search when the number of elements is <= 5.
+
+2017-02-09  Noam Postavsky  <npostavs@gmail.com>
+
+	Make sure eshell pipelines don't drop data
+
+	* lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
+	handling output of the process, make sure to close the pipes only later,
+	so that the next process in the pipeline recieves EOF only after getting
+	all its input (Bug#25549).
+
+2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Make mm-shr use mail-parse-charset by default
+
+	* lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
+	This helps an html message with no charset spec to be decoded.
+
+2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
+
+	describe-char: unambiguous name for inserting ASCII 7
+
+	* lisp/descr-text.el (describe-char): Make the input
+	suggestion for inserting ASCII character 7 by name use the
+	unambiguous name "BELL (BEL)" (bug#25641).
+
+2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
+
+	Modify suppressing `vc-refresh-state' in filenotify-tests.el
+
+	* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
+	Use an advice rather than an alias for suppressing `vc-refresh-state'.
+
+2017-02-08  Noam Postavsky  <npostavs@gmail.com>
+
+	Disable native completion for ipython (Bug#25067)
+
+	* lisp/progmodes/python.el:
+	(python-shell-completion-native-disabled-interpreters): Add "ipython".
+
+2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
+
+	Suppress undesired error messages in filenotify-tests.el
+
+	* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
+	Suppress `vc-refresh-state', it produces undesired error messages.
+
+2017-02-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a typo in ada-mode manual
+
+	* doc/misc/ada-mode.texi (Project file variables): Add a missing
+	right bracket.  Reported by Jean-Christophe Helary
+	<jean.christophe.helary@gmail.com>.
+
+2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Ensure that Gnus bugs show up in the Emacs tracker
+
+	* lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
+	package spec.
+
+2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Revert "Don't tag Gnus bugs with "gnus""
+
+	This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
+
+	The debbugs syntax requires a package name
+
+2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
+
+	Add tests for checking byte-switch code.
+
+	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
+	  test byte-switch bytecode.
+
+2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add xdg library
+
+	* etc/NEWS: Mention new library.
+	* lisp/xdg.el: New file.
+
+2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not trick info/dir’s timestamp
+
+	* Makefile.in (${srcdir}/info/dir): When making this file, do not
+	do anything special about its timestamp.  Previously this rule
+	used move-if-change, which meant that this file’s timestamp could
+	end up being older than the files it depends on, and this caused
+	‘make --question info’ to fail, which caused ‘make-dist’ to fail
+	now that ‘make-dist’ invokes ‘make --question info’.
+
+2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make FOR_EACH_TAIL more like other FOR_EACH macros
+
+	See comments by Stefan Monnier in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00181.html
+	and by Eli Zaretskii in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00207.html
+	* src/fns.c (internal_equal): Do not bypass check for depth
+	overflow when tail-recursing via a dotted list tail or an overlay
+	plist, to avoid a rare infloop.
+	* src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
+	arg, and update it at each iteration, rather than have callers
+	access it.tail.  All callers changed.
+	(FOR_EACH_TAIL): Do not check for dotted lists, as this is now
+	the caller’s responsibility.  All callers changed.
+	(FOR_EACH_TAIL_CONS): Remove.  All callers changed.
+	(struct for_each_tail_internal.tail): Remove; no longer needed.
+	(FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
+	arg each time through the loop.  All callers changed.
+
+2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port to clang 3.8.0
+
+	It does not allow a for-loop's control var to be an anonymous struct.
+	* src/lisp.h (struct for_each_tail_internal): New type.
+	(FOR_EACH_TAIL_INTERNAL): Use it.
+
+2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	Add cyclic-list tests
+
+	* test/manual/cycle-tests.el: New file (Bug#25606).
+
+2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
+
+	FOR_EACH_TAIL now checks for quit
+
+	As per Eli Zaretskii (Bug#25606#20).  Although these calls to
+	maybe_quit are unnecessary in practice, Eli was not convinced
+	that the calls are unnecessary.
+	* src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
+	Call maybe_quit every so often.
+	(FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
+
+2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Signal list cycles in ‘length’ etc.
+
+	Use macros like FOR_EACH_TAIL instead of maybe_quit to
+	catch list cycles automatically instead of relying on the
+	user becoming impatient and typing C-g (Bug#25606).
+	* src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
+	(Frassoc, Fdelete, Freverse):
+	Use FOR_EACH_TAIL instead of maybe_quit.
+	(Fnreverse): Use simple EQ to check for circular list instead
+	of rarely_quit, as this suffices in this unusual case.
+	(Fplist_put, Flax_plist_put, Flax_plist_put):
+	Use FOR_EACH_TAIL_CONS instead of maybe_quit.
+	(internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
+	of by-hand tail recursion that did not catch cycles.
+	* src/fns.c (Fsafe_length, Fplist_get):
+	* src/xdisp.c (display_mode_element):
+	Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
+	* src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
+	(rarely_quit): Simply count toward USHRT_MAX + 1, since the
+	fancier versions are no longer needed.
+	(FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
+	(FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
+	mostly taken from FOR_EACH_TAIL.
+	(FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
+
+2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify use of FOR_EACH_TAIL
+
+	* src/data.c (circular_list): New function.
+	* src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
+	decl, to eliminate the need for the args TAIL, TORTOISE and N, and
+	to speed things up a bit on typical hosts with optimization.
+	All uses changed (Bug#25605).
+
+2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
+
+	* lisp/textmodes/css-mode.el: Require subr-x at compile time
+
+2017-02-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
+
+	* doc/lispref/nonascii.texi (Text Representations): Clarify that
+	'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
+	'filepos-to-bufferpos' can lead to expensive and slow processing.
+
+	* lisp/international/mule-util.el (filepos-to-bufferpos)
+	(bufferpos-to-filepos): Doc fix.  (Bug#25626)
+
+2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
+
+	Merge remote-tracking branch 'origin/master' into feature/byte-switch
+
+2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
+
+	bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
+	  (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
+	  make sure that obj1/obj2 can be compared with `eq'.
+
+2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
+
+	* byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
+
+2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
+
+	bytecomp.el: Inline lapcode containing `byte-switch' correctly.
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
+	  Restore value of byte-compile-depth after emitting a jump to a tag
+	  in a jump table, or default/done tags.
+	  Set the depth of final tags for byte-switch to nil after emitting
+	  any jumps to them.
+
+2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
+
+	byte-opt.el: Replace jump tables while decompiling correctly.
+
+	* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
+	  Don't make a copy of the constant vector, as it isn't used with
+	  the decompiled lapcode.
+	  Make sure that the correct lapcode pair/list is being modified while
+	  replacing the jump table.
+
+2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
+
+	bytecomp.el: Don't store non-keyword symbols in jump-tables.
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
+	  nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
+	  table can only be used when comparing variables with constant values.
+
+2017-02-04  Tom Tromey  <tom@tromey.com>
+
+	typo fix
+
+	(css--colon-inside-selector-p): Fix typo in docstring.
+
+2017-02-04  Tom Tromey  <tom@tromey.com>
+
+	Set comment-multi-line in js-mode
+
+	Bug#6806:
+	* lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
+	* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
+
+2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
+
+	* test/manual/indent/scss-mode.scss: Fix indentation
+
+2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Fix indentation of multiline CSS property values
+
+	* lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
+	to properties higher precedence.
+	(css--colon-inside-selector-p, css--colon-inside-funcall): New
+	functions for helping SMIE during tokenization.
+	(css-smie--forward-token, css-smie--backward-token): Distinguish
+	colons belonging to properties from other colons.
+
+	* test/manual/indent/css-mode.css: Add tests for the changes above.
+
+	* test/manual/indent/scss-mode.scss: Ditto.
+
+2017-02-04  Gemini Lasswell  <gazally@runbox.com>
+
+	Add tests for lisp/kmacro.el
+
+	* test/lisp/kmacro-tests.el: New file.  (Bug#24939)
+
+2017-02-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix autorevert-tests on MS-Windows
+
+	* test/lisp/autorevert-tests.el
+	(auto-revert-test02-auto-revert-deleted-file): Don't check that
+	auto-revert-use-notify was reset to nil on w32.
+
+2017-02-04  Gemini Lasswell  <gazally@runbox.com>
+
+	New macro 'ert-with-message-capture'
+
+	* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
+	(Bug#25158)
+
+	* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
+	(auto-revert-test00-auto-revert-mode)
+	(auto-revert-test01-auto-revert-several-files)
+	(auto-revert-test02-auto-revert-deleted-file)
+	(auto-revert-test03-auto-revert-tail-mode)
+	(auto-revert-test04-auto-revert-mode-dired):
+	* test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
+	ert-with-message-capture.
+
+2017-02-04  Gemini Lasswell  <gazally@runbox.com>
+
+	Avoid invalid read syntax errors due to 'ert-with-test-buffer'
+
+	* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
+	'declare' form.  (Bug#24722)
+
+2017-02-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a syntax error when evaluating pcase.el under Edebug
+
+	* lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
+	with an explicit 'put' form.  Suggested by Gemini Lasswell
+	<gazally@runbox.com>.  (Bug#24717)
+
+2017-02-04  Gemini Lasswell  <gazally@runbox.com>
+	    Eli Zaretskii  <eliz@gnu.org>
+
+	Change edebug-max-depth from defconst to defcustom
+
+	* lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
+	(Bug#24713)
+
+	* etc/NEWS: Mention edebug-max-depth.
+
+	* doc/lispref/edebug.texi (Checking Whether to Stop): Mention
+	edebug-max-depth and index it.  Add cross-references for
+	max-lisp-eval-depth and max-specpdl-size.
+
+2017-02-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Support options with embedded whitespace in 'dired-listing-switches'
+
+	* lisp/dired.el (dired-listing-switches): Document how to quote
+	options with embedded whitespace.
+
+	* lisp/files.el (insert-directory): Use split-string-and-unquote
+	to support dired-listing-switches that specify command-line
+	options with embedded spaces.  (Bug#25485)
+
+2017-02-04  Gemini Lasswell  <gazally@runbox.com>
+	    Noam Postavsky  <npostavs@users.sourceforge.net>
+
+	Add tests for lisp/emacs-lisp/testcover.el
+
+	* test/lisp/emacs-lisp/testcover-tests.el: New file.
+	* test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
+
+2017-02-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Document 'save-some-buffers-default-predicate'
+
+	* doc/lispref/files.texi (Saving Buffers):
+	* doc/emacs/files.texi (Save Commands): Document
+	save-some-buffers-default-predicate.
+
+2017-02-04  Richard Stallman  <rms@gnu.org>
+
+	New defcustom 'save-some-buffers-default-predicate'
+
+	* lisp/files.el (save-some-buffers-default-predicate): New defcustom.
+	(save-some-buffers): Use it when PRED is nil or omitted.
+
+2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Rename to if-let* and when-let*
+
+	Make the existing if-let and when-let aliases.
+	* lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
+	docstrings, incorporating that from let* and the existing if-let.
+	(if-let, when-let, and-let*): Alias them.
+
+2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
+
+	Revert "Use maphash instead of cl-loop."
+
+	This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
+
+2017-02-03  Nicolas Petton  <nicolas@petton.fr>
+
+	Bump Emacs version to 25.2 RC1
+
+	* README:
+	* configure.ac:
+	* msdos/sed2v2.inp:
+	* nt/README.W32: Bump Emacs version.
+	* lisp/ldefs-boot.el: Update.
+
+2017-02-03  Nicolas Petton  <nicolas@petton.fr>
+
+	* admin/make-tarball.txt: Add documentation regarding the release banner.
+
+2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
+
+	* CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
+
+2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Re-port alloc.c to Solaris sparc and simplify
+
+	alloc.c had bitrotted a bit, and used an undefined symbol
+	stack_base when Emacs was built on Solaris sparc, leading to
+	compilation failures.  Also, code related to __builtin_unwind_init
+	was unnecessarily duplicated.  Fix the bitrot and remove some
+	duplication.
+	* src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
+	is never defined.
+	(test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
+	Define a no-op dummy, to simplify use.
+	(test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
+	than in the caller, to simplify use.
+	(stacktop_sentry): New type.
+	(__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
+	(SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
+	(flush_stack_call_func, Fgarbage_collect): Use it.
+	(init_alloc): Omit unnecessary initialization.
+	After dumping, Emacs need not re-test setjmp.
+
+2017-02-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Add tests for scrolling
+
+	* test/manual/scroll-tests.el: New tests for scroll-margin behavior.
+
+2017-02-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix scrolling with partial lines
+
+	* src/xdisp.c (partial_line_height): New function.
+	(try_scrolling):
+	* src/window.c (window_scroll_pixel_based): Use it for calculating the
+	pixel scroll margin correctly in a window with partial lines.
+
+2017-02-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Make limit on scroll-margin variable
+
+	* src/xdisp.c (maximum-scroll-margin): New variable.
+	* lisp/cus-start.el: Make it customizable.
+	* etc/NEWS: Mention it.
+	* doc/emacs/display.texi (Auto Scrolling):
+	* doc/lispref/windows.texi (Textual Scrolling): Document it.
+	* src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
+	division by 4 (Bug #5718).
+
+2017-02-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't count mode line for scroll-margin limit
+
+	* src/window.c (window_scroll_margin): Use window_box_height to avoid
+	counting header line, scrollbars for scroll-margin limit (Bug #5718).
+
+2017-02-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Refactor uses of scroll_margin to a function
+
+	Its effective range needs to be clamped between 0 and (window height /
+	4), so it's better to have this constraint in a single place.
+
+	* src/window.c (window_scroll_margin): New function.
+	(window_scroll_pixel_based, window_scroll_line_based):
+	(Frecenter, Fmove_to_window_line):
+	* src/xdisp.c (try_scrolling, try_cursor_movement):
+	(redisplay_window, try_window, try_window_id): Use it.
+
+2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
+
+	(xref-collect-matches): Use '-E' together with '-e'
+
+	* lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
+	together with '-e', as suggested by Noam Postavsky
+	(http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00780.html).
+
+2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pacify Oracle Studio 12.5
+
+	* src/emacs.c (main): Do not silently convert char * to bool.
+
+2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix lisp.h underparenthesization
+
+	* src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
+	Parenthesize compound literals that are function call args.
+	Although this does not fix any bugs, it is the proper style for
+	macro parenthesization as it means this code will continue to
+	work even if make_lisp_ptr is changed to a macro.
+
+2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/doc-view.el (doc-view-mode): Don't require a final newline
+
+	(doc-view-revert-buffer): Silence overflow warnings.
+
+2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	2017-01-30 Port to PGI 16.10 x86-64
+	2017-01-20 time_rz: fix comment typo
+	2017-01-14 strftime: %z is -00 if unknown
+	This incorporates:
+	* doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
+	* lib/time-internal.h, lib/verify.h:
+	Copy from gnulib.
+
+2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Check if there are hunks before kill or refine a hunk
+
+	* lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
+	(diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
+
+2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Ignore error after kill last file or hunk
+
+	* lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
+	Ignore error after kill last hunk (Bug#25570).
+	(diff-file-kill): Idem.
+
+2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Show current line highlighted in *Occur* buffer
+
+	* lisp/replace.el (list-matching-lines-current-line-face)
+	(list-matching-lines-jump-to-current-line): New user options.
+	(occur--orig-line, occur--orig-line-str): New variables.
+	(occur, occur-engine): Use them.
+	(occur--final-pos): New variable.
+	(occur-1): Use it.
+	(occur-engine): Idem.
+	Show the current line with 'list-matching-lines-current-line-face'.
+	Set point on the first matching line after the current one.
+	* etc/NEWS: Add entry for the new option.
+
+2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
+
+	Allow occur command to operate on the region
+
+	See discussion in:
+	https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01084.html
+	* lisp/replace.el (occur--region-start, occur--region-end)
+	(occur--matches-threshold): New variables.
+	(occur-engine): Use them.
+	(occur): Idem.
+	Add optional arg REGION; if non-nil occur applies in that region.
+	* doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
+	* doc/emacs/search.texi (Other Repeating Search): Idem.
+
+2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Treat list-buffers-directory as a string
+
+	Another step in the long history of list-buffers-directory.  A thread
+	branch discussing the meaning/use of the variable starts here
+	https://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00684.html
+	Also see (info "(elisp) Buffer File Name").
+	* lisp/buff-menu.el: Relocate special case code into info.el.  Nix
+	Info-* defvars.
+	(Buffer-menu--pretty-file-name): Remove special case.  Use
+	bound-and-true-p.
+	(Buffer-menu-info-node-description): Remove.
+	* lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
+	list-buffers-directory as a string.
+	* lisp/info.el (Info-node-description): New function.
+	(Info-select-node): Use it.
+
+2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Turn on lexical-binding in parse-time.el
+
+	* lisp/calendar/parse-time.el: Turn on lexical-binding.
+	(parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
+	bindings.
+
+2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Prevent creating thumbnails of all gif frames
+
+	With the previous defaults, doing image-dired on a directory with an
+	animated foo.gif would cause creation of foo.thumb-N.gif for each of
+	N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
+	there additionally is no usable thumbnail after all the needless effort.
+	image-dired never handled animation, regardless.
+	* lisp/image-dired.el: Mention limitation.
+	(image-dired-cmd-create-thumbnail-options):
+	(image-dired-cmd-create-temp-image-options):
+	(image-dired-cmd-create-standard-thumbnail-options): Append [0] to
+	filename to indicate only converting the 0th frame.
+	(image-dired-display-image-mode): Don't show a cursor.
+
+2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix quitting bug when buffers are frozen
+
+	Problem noted by Eli Zaretskii in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00721.html
+	This patch also fixes some other issues in that report.
+	* src/lisp.h (incr_rarely_quit): Remove.
+	All callers changed to use rarely_quit directly.
+	* src/search.c (freeze_buffer_relocation)
+	(thaw_buffer_relocation): New functions.
+	(looking_at_1, fast_looking_at, search_buffer):
+	Use them to fix bug when quitting when buffers are frozen.
+	* src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
+	All uses changed.
+
+2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Revamp quitting and fix infloops
+
+	This fixes some infinite loops that cannot be quitted out of,
+	e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
+	when byte-compiled and when run under X.  See:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00577.html
+	This also attempts to keep the performance improvements I recently
+	added, as much as possible under the constraint that the infloops
+	must be caught.  In some cases this fixes infloop bugs recently
+	introduced when I removed immediate_quit.
+	* src/alloc.c (Fmake_list):
+	Use rarely_quit, not maybe_quit, for speed in the usual case.
+	* src/bytecode.c (exec_byte_code):
+	* src/editfns.c (Fcompare_buffer_substrings):
+	* src/fns.c (Fnthcdr):
+	* src/syntax.c (scan_words, skip_chars, skip_syntaxes)
+	(Fbackward_prefix_chars):
+	Use rarely_quit so that users can C-g out of long loops.
+	* src/callproc.c (call_process_cleanup, call_process):
+	* src/fileio.c (read_non_regular, Finsert_file_contents):
+	* src/indent.c (compute_motion):
+	* src/syntax.c (scan_words, Fforward_comment):
+	Remove now-unnecessary maybe_quit calls.
+	* src/callproc.c (call_process):
+	* src/doc.c (get_doc_string, Fsnarf_documentation):
+	* src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
+	* src/lread.c (safe_to_load_version):
+	* src/sysdep.c (system_process_attributes) [GNU_LINUX]:
+	Use emacs_read_quit instead of emacs_read in places where
+	C-g handling is safe.
+	* src/eval.c (maybe_quit): Move comment here from lisp.h.
+	* src/fileio.c (Fcopy_file, e_write):
+	Use emacs_write_quit instead of emacs_write_sig in places where
+	C-g handling is safe.
+	* src/filelock.c (create_lock_file): Use emacs_write, not
+	plain write, as emacs_write no longer has a problem.
+	(read_lock_data): Use emacs_read, not read, as emacs_read
+	no longer has a problem.
+	* src/fns.c (rarely_quit): Move to lisp.h and rename to
+	incr_rarely_quit.  All uses changed..
+	* src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
+	* src/indent.c (compute_motion):
+	* src/syntax.c (find_defun_start, back_comment, forw_comment)
+	(Fforward_comment, scan_lists, scan_sexps_forward):
+	Use incr_rarely_quit so that users can C-g out of long loops.
+	* src/fns.c (Fnconc): Move incr_rarely_quit call to within
+	inner loop, so that it catches C-g there too.
+	* src/keyboard.c (tty_read_avail_input): Remove commented-out
+	and now-obsolete code dealing with interrupts.
+	* src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
+	the latter moved here from fns.c and renamed from rarely_quit.
+	(emacs_read_quit, emacs_write_quit): New decls.
+	* src/search.c (find_newline, search_buffer, find_newline1):
+	Add maybe_quit to catch C-g.
+	* src/sysdep.c (get_child_status): Always invoke maybe_quit
+	if interruptible, so that the caller need not bother.
+	(emacs_nointr_read, emacs_read_quit, emacs_write_quit):
+	New functions.
+	(emacs_read): Rewrite in terms of emacs_nointr_read.
+	Do not handle C-g or signals; that is now for emacs_read_quit.
+	(emacs_full_write): Replace PROCESS_SIGNALS two-way arg
+	with INTERRUPTIBLE three-way arg.  All uses changed.
+
+2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove immediate_quit.
+
+	The old code that sets and clears immediate_quit was
+	ineffective except when Emacs is running in terminal mode, and
+	has problematic race conditions anyway, so remove it.  This
+	will introduce some hangs when Emacs runs in terminal mode,
+	and these hangs should be fixed in followup patches.
+	* src/keyboard.c (immediate_quit): Remove.  All uses removed.
+
+2017-02-01  Alan Mackenzie  <acm@muc.de>
+
+	Allow C++ nested brace-list-entries to be better indented.
+
+	This fixes bug #24431.  The key change of this bug fix is correctly analyzing
+	nested brace lists when the opening element stands on the same line as both
+	its introductory brace and an enclosing parameter list parenthesis.
+
+	* list/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
+
+	* list/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
+	presence of exactly an identifier between an open parenthesis and an open
+	brace as evidence of the brace starting a brace list.
+	(c-looking-at-statement-block): New function, extracted from
+	c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
+	when needed.
+	(c-looking-at-inexpr-block): Extract new function (see above) and call it.
+	(c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
+	prime syntactic symbol with a fixed anchor point.  When this is used, restrict
+	all added syntactic symbols to those having an anchor point on the same line.
+	Add, in addition to the current additional symbols, c-brace-list-entry when
+	needed; use c-looking-at-statement-block to determine the latter.
+	(c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
+	c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
+	getting, possibly, several accompanying syntactic entries.
+
+	* lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
+	'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
+
+	* lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
+	offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
+
+	* doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
+	brace-list-intro.
+	(Brace List Symbols): Amend the example to show the new analysis of brace
+	lists when the first element comes on the same line as the opening brace.
+	(Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
+
+2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Revert "DOn't use string-as-unibyte in Gnus"
+
+	This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
+
+	Not all the cases where we had string-as-unibyte were characters,
+	so this needs to be considered more thoroughly before being redone.
+
+2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
+
+	Use maphash instead of cl-loop.
+
+	* lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
+	  instead of cl-loop
+
+2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix a subtle problem in Tramp with timers
+
+	* lisp/net/tramp.el (tramp-accept-process-output): Change argument
+	list.  Make it work when called inside a timer.  See
+	<http://lists.gnu.org/archive/html/tramp-devel/2017-01/msg00010.html>.
+
+2017-01-31  Eli Zaretskii  <eliz@gnu.org>
+
+	Index byte-compile-debug
+
+	* doc/lispref/compile.texi (Compilation Functions): Index
+	byte-compile-debug.
+
+2017-01-31  Philipp Stephani  <phst@google.com>
+
+	Document `byte-compile-debug' in the ELisp manual
+
+	* doc/lispref/compile.texi: Document variable `byte-compile-debug'.
+
+2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
+
+	read-multiple-choice: explain dialog popups more
+
+	* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
+	when a graphical popup is used and how it can be avoided.
+
+2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
+
+	auth-source-user-and-password: add forgotten user parameter
+
+		* lisp/auth-source.el (auth-source-user-and-password): Use
+	          accidentally unused "user" parameter.
+	          Reported by Oscar Najera <najera.oscar@gmail.com>.
+
+2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
+
+	Fix typo in a NEWS entry for CSS mode
+
+2017-01-31  Philipp Stephani  <phst@google.com>
+
+	Document variable `byte-compile-debug'
+
+	* lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
+
+2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	DOn't use string-as-unibyte in Gnus
+
+	* lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
+	string-as-unibyte.
+	(nnmail-insert-xref): Ditto.
+
+	* lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
+
+	* lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
+
+	* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
+	(gnus-browse-foreign-server): Ditto.
+	(gnus-browse-foreign-server): Ditto.
+
+	* lisp/gnus/gnus-start.el
+	(gnus-update-active-hashtb-from-killed): Ditto.
+	(gnus-read-newsrc-el-file): Ditto.
+
+	* lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
+
+	* lisp/gnus/nnir.el (nnir-get-active): Ditto.
+	(nnir-get-active): Ditto.
+
+2017-01-31  Juri Linkov  <juri@linkov.net>
+
+	Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
+
+	* lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
+	M-. in article buffers work for `foo' strings, and still allow
+	C-s C-w to yank ' to the search ring (bug#22248).
+
+2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
+
+2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
+
+	* test/lisp/vc/diff-mode-tests.el: Require diff-mode.
+
+2017-01-31  Dima Kogan  <dima@secretsauce.net>
+
+	New test for diff-mode handling trailing --
+
+	test/lisp/vc/diff-mode-tests.el: New test file
+
+2017-01-31  Dima Kogan  <dima@secretsauce.net>
+
+	Handle patch terminators produced by git and bzr patch export
+
+	Patch by Juri Linkov posted in the #9597 bug report
+
+	* lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
+	terminator (Bug #9597, #5302)
+
+2017-01-31  Dima Kogan  <dima@secretsauce.net>
+
+	Revert two accidental commits
+
+	This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
+	This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
+
+2017-01-31  Dima Kogan  <dima@secretsauce.net>
+
+	stash
+
+2017-01-31  Dima Kogan  <dima@secretsauce.net>
+
+	comint-get-old-input-default: behavior follows docstring
+
+	lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
+	docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
+	if point is on an output field.
+
+2017-01-31  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix call to debugger on assertion failure
+
+	* lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
+	argument must be `error', and the second is a list of arguments for
+	`signal'.
+
+2017-01-30  Tom Tromey  <tom@tromey.com>
+
+	css-mode documentation lookup feature
+
+	* etc/NEWS: Mention new feature.
+	* lisp/textmodes/css-mode.el (css-mode-map): New defvar.
+	(css--mdn-lookup-history): New defvar.
+	(css-lookup-url-format): New defcustom.
+	(css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
+	(css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
+	defuns.
+	* test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
+	test.
+
+2017-01-30  Glenn Morris  <rgm@gnu.org>
+
+	edt-mapper: just loading a library should not run code
+
+	* lisp/emulation/edt-mapper.el (edt-mapper): New function,
+	containing code previously at top-level.
+	* lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
+	run edt-mapper function.
+
+2017-01-30  Glenn Morris  <rgm@gnu.org>
+
+	mh-compat.el: remove duplicate definition
+
+	* lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
+	Remove duplicate definition.
+
+2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Add delq list arg check
+
+	* src/fns.c (Fdelq): Check that list is a proper list.
+	This is more compatible with what ‘delete’ does.
+
+2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/indent.el (indent-region-line-by-line): New function.
+
+	Extracted from indent-region.
+	(indent-region, indent-region-function): Use it.
+
+2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
+
+2017-01-30  Eli Zaretskii  <eliz@gnu.org>
+
+	More fixes to prevent crashes on C-g
+
+	* src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
+	before returning, to avoid crashes in quit.  (Bug#25566)
+
+2017-01-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid crashes on C-g in TTY sessions
+
+	* src/keyboard.c (handle_interrupt): Don't quit if
+	waiting_for_input is set, as doing that is "unsafe": it will
+	abort.  (Bug#25566)
+
+2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
+
+	Merge remote-tracking branch 'origin/master' into feature/byte-switch
+
+2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
+
+	Fix hash tables not being purified correctly.
+
+	* src/alloc.c
+	(purecopy_hash_table) New function, makes a copy of the given hash
+	table in pure storage.
+	Add new struct `pinned_object' and `pinned_objects' linked list for
+	pinning objects.
+	(Fpurecopy) Allow purifying hash tables
+	(purecopy) Pin hash tables that are either weak or not declared with
+	`:purecopy t`, use purecopy_hash_table otherwise.
+	(marked_pinned_objects) New function, marks all objects in pinned_objects.
+	(garbage_collect_1) Use it. Mark all pinned objects before sweeping.
+	* src/lisp.h Add new field `pure' to struct `Lisp_Hash_Table'.
+	* src/fns.c: Add `purecopy' parameter to hash tables.
+	(Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
+	to make_hash_table.
+	(make_hash_table): Add `pure' parameter, set h->pure to it.
+	(Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
+	CHECK_IMPURE.
+	* src/lread.c: (read1) Parse for `purecopy' parameter while reading
+	  hash tables.
+	* src/print.c: (print_object) add the `purecopy' parameter while
+	  printing hash tables.
+	* src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
+	  src/xterm.c: Use new (make_hash_table).
+
+2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Escape dash in xref rgrep regexp
+
+	* lisp/progmodes/xref.el (xref-collect-matches): Escape dash
+	in REGEXP if it's the first character.
+
+2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Say JavaScript, not Javascript
+
+	* lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
+	(js-js-error, js-eval, js-set-js-context)
+	(js--get-js-context):
+	Refer to the language consistently as JavaScript.
+
+2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
+
+	lisp/*.el: Fix some warnings
+
+	* lisp/battery.el (dbus-get-property):
+	* lisp/dired-aux.el (format-spec): Declare function.
+
+	* lisp/net/zeroconf.el (zeroconf-list-service-names)
+	(zeroconf-list-service-types, zeroconf-list-services):
+	Mark unused lexical arg.
+
+	* lisp/progmodes/hideshow.el (hs-hide-block-at-point):
+	* lisp/progmodes/sql.el (sql-end-of-statement):
+	Pass LIMIT to 'looking-back'.
+
+2017-01-29  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't warn about obsolete defgenerics when defining them
+
+	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
+	should run after the definition code (Bug#25556).
+
+2017-01-29  Noam Postavsky  <npostavs@gmail.com>
+
+	Call modification hooks in org-src fontify buffers
+
+	* lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
+	`inhibit-modification-hooks' to nil, since this function can be called
+	from jit-lock-function which binds that variable to t (Bug#25132).
+
+2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix Bug#25524
+
+	* lisp/vc/diff-mode.el (diff-beginning-of-hunk):
+	Return position at the beginning off the hunk.
+	(diff-file-junk-re): Add SVN keywords.
+
+2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
+
+	hl-line.el: Don't try to operate on a killed buffer
+
+	* lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
+	live buffers (bug#25522).
+
+2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Use access-file in EWW to check before downloading a file
+
+	* lisp/net/eww.el (eww-download): Check accessibility of
+	eww-download-directory to prevent starting a download that will fail
+	to write.
+	* src/fileio.c (Faccess_file): Clarify the use of string argument in
+	the docstring.
+
+2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
+
+	Subject: Check Bcc after the Messag hook has run
+
+	* lisp/gnus/message.el (message-send): If the hook modifies
+	the message (mml tags or headers), we should check bcc on the
+	final message, not on the original.
+
+2017-01-28  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'format' conversions
+
+	* src/editfns.c (Fformat): More accurate description of %g and
+	effects of the various flags on it.  More accurate description of
+	integer conversions.
+
+	* doc/lispref/strings.texi (Formatting Strings): More accurate
+	description of %g and effects of the various flags on it.  More
+	accurate description of integer conversions.  (Bug#25557)
+
+2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
+
+	test/*.el: Avoid byte-compiler warnings
+
+	* test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
+
+	* test/lisp/faces-tests.el (faces--test): New customization group.
+	(faces--test1, faces--test2): Use it.
+
+	* test/lisp/ffap-tests.el (ffap-tests-25243):
+	Call 'mark-whole-buffer' interactively.
+
+	* test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
+	(ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
+	(ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
+	(ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
+
+	* test/lisp/minibuffer-tests.el (completion-test1):
+	Mark unused lexical arguments.
+
+	* test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
+	'with-no-warnings' to avoid them when the macro is invoked for effect.
+
+	* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
+	Mark unused lexical arguments.
+
+	* test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
+	Mark unused lexical arguments.
+	(let-alist-cons): Remove unused let binding.
+
+	* test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
+	(dbus-get-unique-name): Declare.
+
+	* test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
+	Call 'font-lock-fontify-buffer' interactively.
+
+	* test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
+	Mark unused lexical argument.
+
+2017-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Restore a test that was removed by a recent commit
+
+	* src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
+	errno value unless it's necessary.  (Bug#25419)
+
+2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Fix a couple eww customization types
+
+	* lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
+	Change customization type to "directory".
+
+2017-01-27  Philipp Stephani  <phst@google.com>
+
+	Don't require a shell when loading htmlfontify
+
+	* lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
+	detecting the etags version (Bug#25468).
+	* test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
+	test.
+
+2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Slightly tune file-accessible-directory-p fix
+
+	* src/fileio.c (Ffile_accessible_directory_p):
+	Remove unnecessary test (Bug#25419).
+
+2017-01-27  Arash Esbati  <arash@gnu.org>
+
+	Add \citetitle to biblatex cite format
+
+	* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
+	\citetitle[*] to `reftex-cite-format' and bind them to keys i/I
+	per user request
+	http://lists.gnu.org/archive/html/auctex/2017-01/msg00049.html.
+
+2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix charsets and encodings from non-file MIME parts
+
+	* lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
+	encoding right for parts that do not originate from files.
+
+2017-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix 'describe-variable' for longish variable values
+
+	* lisp/help-fns.el (describe-variable): Don't accidentally remove
+	the last character of a variable's value.  (Bug#25545)
+
+2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
+
+	Remove stale functions from ert manual
+
+	* doc/misc/ert.texi (Useful Techniques when Writing Tests):
+	Replace ert--mismatch references with its cl-lib replacement,
+	cl-mismatch.
+
+2017-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a typo in Eshell manual
+
+	* doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
+	Kolybabi <mak@kolybabi.com>.
+
+2017-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Ensure last line is at window bottom in shell buffers
+
+	* lisp/shell.el (shell-mode): Use setq-local.  Set
+	scroll-conservatively to 101 locally.  See the discussion at
+	http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00736.html
+	for the reasons.
+
+2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
+
+	Support Bash Ctrl-Z indication of directory name in term.el
+
+	* term.el (term-emulate-terminal): Do not display ?\032 escape
+	codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
+
+2017-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Don't report zero errno for inaccessible directory
+
+	* src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
+	a file handler reports a failure.  (Bug#25419)
+
+2017-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix filenotify-tests on MS-Windows
+
+	* test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
+	(file-notify-test05-dir-validity)
+	(file-notify-test06-many-events)
+	(file-notify-test08-watched-file-in-watched-dir): Manually remove
+	the watch descriptor before calling file-notify--test-cleanup-p.
+	(Bug#25539)
+
+2017-01-27  Hong Xu  <hong@topbug.net>
+
+	python-mode: Fix detection for opening blocks.
+
+		* python.el (python-info-dedenter-opening-block-positions): There
+		can't be any back-indented lines between an opening block and the
+		current line.
+
+		* python-tests.el (python-indent-electric-colon-4): Add an indent
+		test case where there is one-more indented previous opening block.
+
+2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix Message check for bogus domain names
+
+	* lisp/gnus/message.el (message-make-fqdn): Fix check for
+	bogus system names (bug#24570).
+
+2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
+
+	Subject: Restore correct Gnus newsgroup name after sending message
+
+	* lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
+	gnus-newsgroup-name in the correct buffer (bug#24329).
+
+2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Mention the new Gnus sorting command
+
+2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Don't try to find charsets of non-text MIME parts
+
+	* lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
+	to try to determine the charset of non-text message parts, so
+	skip that (bug#24190).  This will also remove messages like
+	"bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
+	if you include such files.
+
+2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Add new command gnus-article-sort-by-marks
+
+	* doc/misc/gnus.texi (Summary Sorting): Mention
+	gnus-summary-sort-by-marks.
+
+	* lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
+	function (bug#23393).
+	(gnus-thread-sort-by-marks): Ditto.
+	(gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
+	(gnus-summary-mode-map): Add keystroke.
+	(gnus-summary-make-menu-bar): Add to menu.
+
+2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Make `C-h b' work correctly in Gnus article buffer (bug#18257)
+
+	* lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
+	Ignore summary commands that aren't bound to
+	gnus-article-read-summary-keys keys (bug#18257).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix crossposting in non-primary groups
+
+	* lisp/gnus/message.el
+	(message-cross-post-followup-to-header): Gnus server prefixes
+	shouldn't be included in the group names (bug#21661).
+	(message-cross-post-followup-to): Ditto.
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Gnus doc clarification
+
+	* doc/misc/gnus.texi (Unavailable Servers): Explicitly say
+	that "unreachable" is the same as disabling it (bug#21630).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Remove dead code from rfc2047
+
+	* lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
+
+	It's been disabled since 2005, when I made the change with the
+	following comment.
+
+	(rfc2047-encode-message-header): Disabled header folding -- not
+	all headers can be folded, and this should be done by the message
+	composition mode.  Probably.  I think.
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fill too long mail headers
+
+	* lisp/gnus/message.el (message--fold-long-headers): New
+	function to fold too-long headers (bug#21608).
+	(message-send-mail): Use it to fill headers longer than 998
+	characters (which is the protocol limit).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make nndoc more resilient against corrupted files
+
+	* lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
+	out on invalid files, like invalid .gz files (bug#21538).
+	This may hinder Gnus from starting up.
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Respect buffer-local message-fcc-handler-function
+
+	* lisp/gnus/message.el (message-do-fcc): Copy the local
+	variables from the Message buffer so that local settings of
+	`message-fcc-handler-function' etc are respected (bug#21174).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	(message-do-fcc): Modernise the code slightly.
+
+	* lisp/gnus/message.el (message-do-fcc): Modernise the code slightly.
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Avoid a regexp overflow in message-goto-body
+
+	* lisp/gnus/message.el (message-goto-body-1): Avoid using a
+	complicated backtracking regexp, because they may overflow on
+	large headers (bug#21160).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Refactor message-goto-body
+
+	* lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix typo in last checkin
+
+	* lisp/gnus/nnimap.el (nnimap-shell-program): Document
+	nnimap-shell-program (bug#20651).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Document nnimap-shell-program
+
+	* lisp/gnus/nnimap.el (nnimap-shell-program): Document
+	nnimap-shell-program (bug#20651).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Document :shell-command in `make-network-process'
+
+	* doc/lispref/processes.texi (Network): Document :shell-command.
+
+	* lisp/net/network-stream.el (open-network-stream): Document
+	the :shell-command parameter (bug#20651).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Gnus doc clarification
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
+	the gnus-prompt-before-saving variable (bug#20500).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix the previous mml patch better
+
+	* lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
+	previous patch in a better way (bug#20480).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Give a slight better error message in mml-minibuffer-read-file
+
+	* lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
+	better error message when the user enters nothing (bug#20480).
+
+2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make eww buffers prettier in the buffer listing
+
+	* lisp/net/eww.el (eww-render): Put the currently visited URL
+	into the buffer listing (bug#23738).
+	(eww-render): Ditto.
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Allow mml-attach-file to prompt less
+
+	* lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
+	prompt for type/description/disposition, but use defaults
+	(bug#19202).
+
+2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Don't allow message-newline-and-reformat to be run outside the body
+
+	* lisp/gnus/message.el (message-newline-and-reformat): Error
+	out if run outside the body of a message (bug#18820).
+
+2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
+
+	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
+	  byte-compile-constant instead of byte-compile-form to push nil.
+
+2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
+
+2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Replace QUIT with maybe_quit
+
+	There’s no longer need to have QUIT stand for a slug of C statements.
+	Use the more-obvious function-call syntax instead.
+	Also, use true and false when setting immediate_quit.
+	These changes should not affect the generated machine code.
+	* src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
+
+2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	A quicker check for quit
+
+	On some microbenchmarks this lets Emacs run 60% faster on my
+	platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
+	* src/atimer.c: Include keyboard.h, for pending_signals.
+	* src/editfns.c (Fcompare_buffer_substrings):
+	* src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
+	(Fnconc, Fplist_member):
+	Set and clear immediate_quit before and after loop instead of
+	executing QUIT each time through the loop.  This is OK for loops
+	that affect only locals.
+	* src/eval.c (process_quit_flag): Now static.
+	(maybe_quit): New function, containing QUIT’s old body.
+	* src/fns.c (rarely_quit): New function.
+	(Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
+	(Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
+	Use it instead of QUIT, for
+	speed in tight loops that might modify non-locals.
+	* src/keyboard.h (pending_signals, process_pending_signals):
+	These belong to keyboard.c, so move them here ...
+	* src/lisp.h: ... from here.
+	(QUIT): Redefine in terms of the new maybe_quit function, which
+	contains this macro’s old definiens.  This works well with branch
+	prediction on processors with return stack buffers, e.g., x86
+	other than the original Pentium.
+
+2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify make-list implementation
+
+	* src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
+	is not worth it these days.
+
+2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Make use of cl-loop destructuring
+
+	* lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
+	destructuring.
+	(with-js): Add declare forms.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Revert "Bind C-c keys in the article buffer"
+
+	This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
+
+	The commit somehow lead to problems in other parts of Emacs.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Document how to quote MML tags
+
+	* doc/misc/emacs-mime.texi (MML Definition): Mention how to
+	quote MML tags (bug#18881).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make address parsing more robust
+
+	* lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
+	bug out on addresses like
+	(ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
+	(bug#18572).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix the %P (line number) thing in Gnus summary buffers
+
+	* lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
+	"pick" mode line number on entry instead of relying in a hack (bug#18311).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix wrong documentation on nnmairix keystrokes
+
+	* doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
+	nnmairix commands are on G G, not $ (bug#18260).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Bind C-c keys in the article buffer
+
+	* lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
+	C-c keys so that they execute in the summary buffer
+	(bug#18257).  This makes commands like `C-c C-f' work from the
+	article buffer.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Don't mark articles in Gnus as displayed when they aren't
+
+	* lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
+	mark any articles as selected if we're not selecting any
+	articles (bug#18255).
+
+2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/disass.el: Display jump tables for switch.
+
+	* lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
+
+	* lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
+
+	* lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
+
+2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
+
+	* lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
+	  constant encountered precedes a byte-switch op, replace all the
+	  addresses in the jump table with tags.
+
+2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Move cXXXr and cXXXXr to subr.el
+
+	* etc/NEWS: Mention new core Elisp.
+	* doc/lispref/lists.texi (List Elements): Document and index the new
+	functions.
+	* doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
+	* lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
+	(cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
+	(cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
+	(cddddr): New functions.
+	* lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
+	(cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
+	(cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
+	(cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
+	(cl-cdddar, cl-cddddr): Alias to new subr functions.
+	* lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
+	elements.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Only save .newsrc file if the native method is NNTP
+
+	* lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
+	the .newsrc file if the native select method is NNTP
+	(bug#18198).  This avoids problems with invalid IMAP group
+	names and the like in the .newsrc file.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Only save .newsrc file if the native method is NNTP
+
+	* lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
+	the .newsrc file if the native select method is NNTP
+	(bug#18198).  This avoids problems with invalid IMAP group
+	names and the like in the .newsrc file.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Gnus custom spec fix
+
+	* lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
+	spec to match the doc string (bug#17679).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Clarify confusing Gnus error message
+
+	* lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
+	confusing error message (bug#17677).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Make C-u C-x m work with Message as documented
+
+	* lisp/gnus/message.el (message-mail): Respect the CONTINUE
+	parameter (bug#17175).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix problem with auto-mode and dir-locals-collect-variables
+
+	* lisp/files.el (dir-locals-collect-variables): When run from
+	auto-mode, the file in question may not be an absolute path
+	name (bug#24016).
+
+	Example backtrace:
+
+	Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
+	  dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
+	  hack-dir-local-variables()
+	  hack-local-variables(no-mode)
+	  run-mode-hooks(diff-mode-hook)
+	  diff-mode()
+	  mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Attach text files correctly in Message
+
+	* lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
+	system has been used in attached text files, and don't try to
+	do any encoding of these files (bug#13808).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Build fix for older gnutls versions
+
+	* src/gnutls.c (emacs_gnutls_handle_error):
+	GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
+	gnutls-3.
+
+2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
+
+	ediff-difference-vector-alist: Drop duplicated definition
+
+	* lisp/vc/ediff-init.el (ediff-difference-vector-alist):
+	Drop duplicated definition.
+	(ediff-difference-vector-A, ediff-difference-vector-B)
+	(ediff-difference-vector-C, ediff-difference-vector-Ancestor):
+	Move definition before 'ediff-difference-vector-alist'.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Revert "nnimap.el: support additional expunge options"
+
+	This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
+
+	The patch broke fetching new mail:
+
+	Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
+	  format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
+	  (looking-at (format "%d .*\n" sequence))
+	  (not (looking-at (format "%d .*\n" sequence)))
+	  (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
+
+2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
+
+	nnimap.el: support additional expunge options
+
+	* lisp/gnus/nnimap.el (nnimap-close-group)
+	(nnimap-request-expire-articles, nnimap-delete-article)
+	(nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
+	settings for nnimap-expunge (bug#20670).
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Don't tag Gnus bugs with "gnus"
+
+	* lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
+
+	* lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
+	have its own package any more in the bug tracker.
+
+2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Tweak TLS error messaging on closed connections
+
+	* src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
+	peer-closed-connection "The TLS connection was non-properly
+	terminated" message to a lower level so that it isn't shown to
+	the user by default.
+
+2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Avoid having eww unexpectedly open external browsers
+
+	* lisp/net/eww.el (eww-render): Instead of opening unsupported
+	content types like audio/mpeg directly in an external browser
+	(which can be very confusing especially when something
+	redirects to a file like that), just display a simple
+	interstitial that people can choose to click on or not
+	(bug#22671).
+
+2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	When opening new eww buffers, use buffer names based on the host name
+
+	* lisp/net/eww.el (eww-browse-url): When opening in a new
+	window, use a buffer name based on the host name (bug#23738).
+	(eww--dwim-expand-url): Refactored out into its own function
+	for easier reuse.
+
+2017-01-24  David Engster  <deng@randomsample.de>
+
+	xml: Fix parsing of default namespace with quoted names
+
+	* lisp/xml.el (xml-parse-attlist): Properly extract namespace when
+	  parsing is done with quoted symbol names (bug#23440).
+	* test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
+	  (xml-parse-test-default-namespace-qnames): Test for the above.
+
+2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Fix rendering of some complex SVG images
+
+	* lisp/net/shr.el (shr-parse-image-data): Don't transform
+	SVG->DOM->XML unless we're blocking images, as this is apt to
+	destroy the SVG (bug#24111).
+
+2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Clarify the last clarification
+
+	* lisp/net/shr.el (shr-width): Clarify the interaction with
+	`shr-use-fonts' (bug#24928).
+
+2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	shr-width doc clarification
+
+	* lisp/net/shr.el (shr-width): Clarify the interaction with
+	`shr-use-fonts' (bug#24928).
+
+2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+	Allow passing in max-width/height
+
+	* lisp/net/shr.el (shr-rescale-image): Allow passing in
+	max-width/height (bug#25287).
+
+2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
+
+	Require `cl' for `pushnew'.
+	(vhdl-scan-project-contents, vhdl-compose-wire-components)
+	(vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
+
+2017-01-24  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix comment detection on open parens
+
+	Characters having both open paren syntax and comment start syntax were
+	being detected as open parens even when they should have been part a
+	comment starter (Bug#24870).
+
+	* src/syntax.c (in_2char_comment_start): New function, extracted from
+	`scan_sexps_forward'.
+	(scan_sexps_forward): Add check for a 2-char comment starter before the
+	loop.  Inside the loop, do that check after incrementing the 'from'
+	character index.  Move the single char comment syntax cases into the
+	switch instead of special casing them before.
+	* test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
+	(parse-partial-sexp-continue-over-comment-marker): New tests.
+
+2017-01-23  Alan Mackenzie  <acm@muc.de>
+
+	Give , and .@ doc strings.  Fixes bug #24561.
+
+	Also make *Help* links to ``' possible.  Also make usable as such doc strings
+	on the function-documentation property of a symbol.
+
+	* lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
+	function-documentation property.  Also give these symbols a reader-construct
+	property.
+
+	* lisp/help-fns.el (describe-function): Allow the function-documentation
+	property to work.  Use princ rather than prin1 to print the function's name
+	when it has a reader-construct property.
+	(help-fns-signature): Don't insert `high-usage' for a reader-construct.
+	(describe-function-1): Adapt to process documentation on the
+	function-documentation property.  Print "a reader construct" when appropriate.
+
+	* lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
+	``'.
+
+2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Improve uses of CHECK_LIST etc.
+
+	* src/eval.c (FletX): Report an error for invalid constructs like
+	‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
+	(lambda_arity): Use plain CHECK_CONS.
+	* src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
+	(Fcopy_alist): Remove unnecessary CHECK_LIST call, since
+	concat does that for us.
+	(Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
+	Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
+	runtime check out of the loop.
+	(Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
+	(Fassq, Fassoc, Frassq, Frassoc):
+	Simplify and use CHECK_LIST_END instead of CAR.
+	(assq_no_quit, assoc_no_quit): Simplify and assume proper list.
+	(Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
+	* src/fontset.c (Fnew_fontset):
+	* src/frame.c (Fmodify_frame_parameters):
+	Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
+	more-complete check.
+	* src/gfilenotify.c (Fgfile_add_watch):
+	Omit unnecessary CHECK_LIST, since Fmember does that for us.
+	* src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
+	Remove; no longer used.
+	(CHECK_LIST_END): New inline function.
+
+2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
+
+	Prevent to use tabulated-list--near-rows unbound
+
+	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
+	Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
+
+2017-01-22  Juri Linkov  <juri@linkov.net>
+
+	* lisp/simple.el (region-bounds): New function.
+
+	(region-noncontiguous-p): Use it.
+	http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00044.html
+
+2017-01-21  Alan Mackenzie  <acm@muc.de>
+
+	Fix low-level handling of (big) C macros.
+
+	In particular, ensure that a comment detected by its syntax is not a CPP
+	construct marked with generic comment delimiter syntax-table text
+	properties.
+
+	* lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
+	c-macro-cache-syntactic to nil when the cached macro changes.
+	(c-syntactic-end-of-macro, c-no-comment-end-of-macro)
+	(c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
+	(c-state-pp-to-literal, c-parse-ps-state-to-cache)
+	(c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
+	(c-determine-limit): When checking a parse syntax for a comment, check that
+	we're not in a CPP construct marked by syntax-table generic comment delimiter
+	text property.
+	(c-state-pp-to-literal): Change from a defsubst to a defun.
+
+	* lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
+	parse syntax as described above under cc-engine.el.
+
+2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
+
+2017-01-21  Noam Postavsky  <npostavs@gmail.com>
+
+	Don't wait for frame to become visible
+
+	* src/xterm.c (x_make_frame_visible): Remove code that waits for the
+	frame to become visible.  We have to deal with invisible frames anyway,
+	the loop could sometimes before the frame turned visible, and for some
+	window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
+	busy loop (Bug#24091).
+
+2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
+
+	diff-hunk-kill independent of point inside headers
+
+	Make diff-apply-hunk and diff-hunk-kill independent of the point
+	position in a diff header (Bug#17544).
+	This change allows to apply hunks in order.  It also makes possible to
+	press M-k repeatedly to kill hunks in the order they appear in the buffer.
+	See discussion on #Bug25105.
+	* lisp/vc/diff-mode.el (diff-file-junk-re):
+	Move definition before it's used.
+	(diff--at-diff-header-p): New predicate; return non-nil when point
+	is inside a hunk header, a file header, or within a line
+	matching diff-file-junk-re.
+	(diff-beginning-of-hunk): Use it.
+	Check if the point is inside a diff header, in the middle of a hunk,
+	or before the first hunk.
+	(diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
+	before apply the hunk.
+	(diff-hunk-kill, diff-file-kill):
+	Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
+	(diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
+
+2017-01-20  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of hooks related to saving buffers
+
+	* lisp/files.el (write-file-functions, write-contents-functions)
+	(before-save-hook, after-save-hook): Note that these are only used
+	by save-buffer.
+
+	* doc/lispref/backups.texi (Auto-Saving):
+	* doc/lispref/files.texi (Saving Buffers): Mention that
+	save-related hooks are not run by auto-saving.  (Bug#25460)
+
+2017-01-20  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of auto-save-visited-file-name
+
+	* doc/emacs/files.texi (Auto Save Files): Mention subtle
+	differences between saving the buffer and auto-saving with
+	auto-save-visited-file-name set non-nil.  (Bug#25478)
+
+2017-01-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix free var FOO-mode-{syntax,abbrev}-table warnings
+
+	* lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
+	defvar the syntax and abbrev tables so that the compiler will know that
+	they are dynamically bound variables (Bug#25446).
+
+2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
+
+	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
+	  eval obj2 to avoid quoted forms being stored as is.
+
+2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
+
+	lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
+
+2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
+
+	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
+	default-case for last cond clause.
+
+2017-01-19  Philipp Stephani  <phst@google.com>
+
+	Check that variable lists are actually lists
+
+	'let' and 'let*' document that their first argument has to be a list,
+	but don't check for that; instead, they allow (and silently ignore)
+	other types.  Introduce an explicit type check.
+
+	* src/eval.c (Flet, FletX): Check that the variable list is indeed a
+	list.
+	* test/src/eval-tests.el: Add unit tests.
+
+2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
+
+	Add type checking for Bswitch, when enabled at compile time.
+
+	* src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
+	  compile time, use CHECK_TYPE to verify that the jump table is a hash table.
+
+2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
+
+	Use byte-switch for all symbols.
+
+	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
+	  t for all symbols (instead for just keywords)
+
+2017-01-19  Noam Postavsky  <npostavs@gmail.com>
+
+	Avoid inefficient regex in diff-refine-hunk (Bug#25410)
+
+	* lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
+	(diff-refine-hunk): Use it instead of trying to match multiple lines
+	with a single lines.
+
+2017-01-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Remove lock file when auto-saving into the visited file
+
+	* src/fileio.c (write_region): When auto-saving into the visited
+	file, unlock the file whenever we mark the buffer unmodified.
+	(Bug#25470)
+
+2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
+
+	* src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
+
+	Fgethash type checks the provided table object, which is unnecessary
+	for compiled bytecode.
+
+2017-01-18  Tom Tromey  <tom@tromey.com>
+
+	fix typo in mailcap-mime-extensions
+
+	* lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
+	not "test/x-patch".  (Bug#25472)
+
+2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
+
+	Fix typos in flymake.el
+
+	* lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
+	Spelling fixes in the doc string.
+
+2017-01-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a bug with signaling a thread that waits for condvar
+
+	* src/thread.c (lisp_mutex_lock_for_thread): New function,
+	with all the guts of lisp_mutex_lock.
+	(lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
+	(condition_wait_callback): Don't call post_acquire_global_lock
+	before locking the mutex, as that could cause a signaled thread to
+	exit prematurely, because the condvar's mutex is recorded to be
+	not owned by any thread, and with-mutex wants to unlock it as part
+	of unwinding the stack in response to the signal.
+
+2017-01-18  Eli Zaretskii  <eliz@gnu.org>
+
+	Rudimentary error handling for non-main threads
+
+	* src/thread.c (last_thread_error): New static variable.
+	(syms_of_threads): Staticpro it.
+	(record_thread_error, Fthread_last_error): New functions.
+	(syms_of_threads): Defsubr Fthread_last_error.
+
+	* doc/lispref/threads.texi (Basic Thread Functions): Document
+	thread-last-error.
+
+	* test/src/thread-tests.el (thread-errors, thread-signal-early)
+	(threads-condvar-wait): Test the values returned by
+	thread-last-error.
+
+2017-01-17  Tom Tromey  <tom@tromey.com>
+
+	Add info-lookup help for gdb-script-mode
+
+	Bug#25464:
+	* lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
+	function.
+	Add help for gdb-script-mode.
+
+2017-01-17  Tom Tromey  <tom@tromey.com>
+
+	Treat ":root" as a css-selector
+
+	* lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
+	":root" as selector.
+
+2017-01-17  Tom Tromey  <tom@tromey.com>
+
+	Fix JS regexp literal syntax propertization in expressions
+
+	Bug#25465:
+	* lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
+	literal after "!", "&", and "|".
+	test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
+
+2017-01-17  Glenn Morris  <rgm@gnu.org>
+
+	More NEWS checking for admin.el's set-version
+
+	* admin/admin.el (set-version): Warn if temporary NEWS markup
+	still present in release candidates.
+
+2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Mark unused arguments and remove unused variables
+
+	* lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
+	(dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
+	(dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
+	(dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
+	(dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
+	(dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
+	(dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
+	(dungeon-nil): Mark arguments as unused.
+	(dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
+	(dun-restore): Remove unused variable.
+
+2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix auto-save-file-name problem in Tramp on MS Windows
+
+	* lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
+	rather than an ange-ftp regexp.
+
+	* lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
+	Fix a problem when running on MS Windows.
+
+	* test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
+	Adapt test.
+
+2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
+
+	* lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
+	Fix a problem when running on MS Windows.
+
+2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	42614fa Update remaining copyright years with admin.el M-x set-copyright
+	f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
+
+2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Nix some uses of eval
+
+	* lisp/play/dunnet.el: Fix triple negative.
+	(dun-doverb): Use funcall instead of eval.
+	(dun-echo): Just call dun-mprinc.
+	(dun-save-val): Just bind value without eval.
+
+2017-01-17  Tom Tromey  <tom@tromey.com>
+
+	Fix comment in css-mode.el
+
+	* lisp/textmodes/css-mode.el: Remove obsolete comment.
+
+2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
+
+	update branch
+
+2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
+
+	* lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
+
+2017-01-15  Noam Postavsky  <npostavs@gmail.com>
+
+	Improve ffap-gopher-at-point handling of long lines
+
+	* lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
+	setting to nil is now supported.
+	(ffap--gopher-var-on-line): New function.
+	(ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
+	which could overflow the regexp stack on long lines (Bug#25391).  Use
+	`let-alist' instead of calling `set' on local variables.
+	* test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
+
+2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
+
+	* byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
+	  finding the tag in a jump table.
+
+2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
+
+	* lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
+
+2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
+
+	Add new 'switch' byte-code.
+
+	'switch' takes two arguments from the stack: the variable to test, and
+	a jump table (implemented as a hash-table with the appropriate :test
+	function). By looking up the value of the variable in the hash table,
+	the interpreter can jump to the label pointed to by the value, if any.
+	This implementation can only be used for `cond' forms of the type
+	`(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
+	variable `x` is same for all clauses.
+
+	* lisp/emacs-lisp/bytecomp.el:
+
+	  * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
+	    (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
+	    (byte-compile-cond-jump-table), byte-compile-jump-tables.
+
+	  * Add defcustom `byte-compile-cond-use-jump-table'.
+
+	  * (byte-compile-cond): Use them.
+
+	  * (byte-compile-lapcode): Patch tags present in jump tables, if any.
+
+	* lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
+	  some peephole optimizations to prevent them from messing up any code
+	  involving `byte-switch`.
+
+	* src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
+
+2017-01-14  Alan Third  <alan@idiocy.org>
+
+	Fix NS main thread check (bug#25265)
+
+	* src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
+	isMainThread.
+
+2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/progmodes/sql.el (sql-product-alist): Doc tweak
+
+	`:sqli-comint-func' does not have to be a symbol.
+
+2017-01-14  Alan Mackenzie  <acm@muc.de>
+
+	Correct c-parse-state-get-strategy for moving HERE backward into a macro.
+
+	* list/progmodes/c-engine.el (c-parse-state-get-strategy): When HERE is below
+	its previous value, we chose strategy 'forward, and the new HERE is in a
+	(different) macro, ensure the returned START-POINT is not above the start of
+	the macro.
+
+2017-01-14  Eli Zaretskii  <eliz@gnu.org>
+
+	Include "Date:" in mail messages filed by 'sendmail-send-it'
+
+	* lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
+	into the filed message.  In the outgoing message, sendmail will
+	add the date, but the composed message body doesn't have it.
+	(Bug#25436)
+
+2017-01-14  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
+
+2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Remove leftover references to log-view-message-face
+
+	* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
+
+	* lisp/vc/vc-git.el (vc-git-root-log-format): Same.
+
+	* lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
+
+2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Record autoloads till emacs dump
+
+	* admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
+	* lisp/ldefs-boot-auto.el (batch-byte-compile): Update
+
+	Previously, autoloads were collected till loaddefs.el was generated as
+	part of the build. However, bootstrap-emacs does not load
+	loaddefs (rather it is dumped), hence we must record autoloads until the
+	full emacs binary is dumped.
+
+2017-01-13  Tom Tromey  <tom@tromey.com>
+
+	Add chained indentation to js-mode
+
+	Bug#20896
+	* lisp/progmodes/js.el (js-chain-indent): New variable.
+	(js--skip-term-backward, js--skip-terms-backward)
+	(js--chained-expression-p): New functions.
+	(js--proper-indentation): Call js--chained-expression-p.
+	* test/manual/indent/js-chain.js: New file.
+	* test/manual/indent/js.js: Add (non-)chained indentation test.
+
+2017-01-13  Tom Tromey  <tom@tromey.com>
+
+	Fix js-mode indentation bug
+
+	Bug#15582:
+	* lisp/progmodes/js.el (js--find-newline-backward): New function.
+	(js--continued-expression-p): Use it.
+	* test/manual/indent/js.js: Add new test.
+
+2017-01-13  Tom Tromey  <tom@tromey.com>
+
+	Fix definition of EMACS in test/manual/indent/Makefile
+
+	* test/manual/indent/Makefile (EMACS): Add one more "..".
+
+2017-01-13  Tom Tromey  <tom@tromey.com>
+
+	Add .jsx to auto-mode-alist
+
+	Bug#25389:
+	* lisp/files.el (auto-mode-alist): Add entry for .jsx.
+
+2017-01-13  Tom Tromey  <tom@tromey.com>
+
+	Fix two js-mode filling bugs
+
+	Bug#19399 and Bug#22431:
+	* lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
+	c-block-comment-start-regexp.
+	* test/lisp/progmodes/js-tests.el: New file.
+
+2017-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix last change
+
+	* test/src/thread-tests.el (threads-condvar-wait): Revert
+	previous change.  Make sure no other threads from previous
+	tests are running, to avoid interfering with our thread counts.
+
+2017-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the new condvar test
+
+	* test/src/thread-tests.el (threads-condvar-wait): Enlarge the
+	time we sleep in the main thread to let the other thread
+	process notifications.
+
+2017-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Minor improvements in the new condvar test
+
+	* test/src/thread-tests.el (threads-test-condvar-wait): Use
+	with-mutex instead of emulating it inline.
+	(threads-condvar-wait): Improve comments.  Check that the new
+	thread is alive before waiting for it to become blocked on the
+	conditional variable.
+
+2017-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a bug in waiting for condition variable
+
+	* src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
+	(lisp_mutex_unlock_for_wait, condition_wait_callback)
+	(condition_notify_callback): Improve commentary.
+	(condition_wait_callback): Call post_acquire_global_lock before
+	attempting to lock the mutex, to make sure the lock's owner is
+	recorded correctly.
+
+	* test/src/thread-tests.el (threads-condvar-wait): New test.
+
+2017-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of dabbrevs
+
+	* doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
+	to "Dabbrev Customization".
+	(Dabbrev Customization): More details about the default value of
+	dabbrev-abbrev-char-regexp and use cases when it might not be good
+	enough.  (Bug#25432)
+
+2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
+
+2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	mm-uu.el: Don't dissect patch part
+
+	This fixes a bug that the patch part is broken in the article
+	<87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
+
+	* lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
+	Don't dissect patch part.
+
+2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
+
+	Fix extracting async def type and name in python mode imenu
+
+	* lisp/progmodes/python.el (python-imenu--get-defun-type-name):
+	New function.
+	(python-imenu--build-tree): Use python-imenu--get-defun-type-name for
+	extract async or simple def type and name at current
+	position (Bug#24820).
+	* test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
+	(python-imenu-create-flat-index-1): Add async def's.
+
+2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	Remove garbage from Content-Transfer-Encoding value (bug#25420)
+
+	* lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
+	(ietf-drums-remove-garbage): New function.
+	(ietf-drums-remove-whitespace): Remove CR as well.
+
+	* lisp/mail/mail-parse.el (mail-header-strip-cte):
+	Alias to ietf-drums-strip-cte.
+
+	* lisp/gnus/gnus-art.el (article-decode-charset):
+	* lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
+	* lisp/gnus/mm-decode.el (mm-dissect-buffer):
+	* lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
+	(nndoc-rfc822-forward-generate-article):
+	* lisp/mh-e/mh-mime.el (mh-decode-message-body):
+	Replace mail-header-strip with mail-header-strip-cte.
+
+2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Restore behavior of ‘./autogen.sh autoconf git’
+
+	* autogen.sh: Do both autoconf and git setup when invoked
+	as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
+	Mention new --no-check option in usage message.  (Bug#25359)
+
+2017-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* autogen.sh: Simplify argument parsing.
+
+2017-01-12  Noam Postavsky  <npostavs@gmail.com>
+
+	Clarify that easy-menu-add is a nop (Bug#25382)
+
+	* lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
+	`ignore', like `easy-menu-remove'.
+
+2017-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
+
+2017-01-11  Glenn Morris  <rgm@gnu.org>
+
+	* autogen.sh: Add --no-check option.  (Bug#25359)
+
+2017-01-11  Glenn Morris  <rgm@gnu.org>
+
+	Convert some network test failures to skipping
+
+	These tests intermittently fail on hydra.nixos.org for unclear
+	reasons related to starting the external process.
+	This isn't an Emacs issue, and the failures cause noise on
+	the emacs-buildstatus list.  (Bug#24503)
+	* test/lisp/net/network-stream-tests.el (echo-server-nowait)
+	(connect-to-tls-ipv4-nowait): Skip rather than fail if the
+	external process fails to start properly.
+
+2017-01-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Revert "Add DNS keywords and remove duplications"
+
+	This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
+
+2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
+
+	Add DNS keywords and remove duplications
+
+	* lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
+	NSEC" DNS related keywords and remove duplication of "NSAP".
+
+2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
+
+	Add DNS keywords and remove duplications
+
+	* lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
+	NSEC" DNS related keywords and remove duplication of "NSAP".
+
+2017-01-11  Alan Mackenzie  <acm@muc.de>
+
+	Handle syntactic WS cache properties more accurately at buffer changes.
+
+	This fixes bug #25362.
+
+	* lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
+	(c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
+	(c-invalidate-sws-region-after-ins): New variables and functions.
+	(c-invalidate-sws-region-after): Change from a defsubst to a defun.
+	Also pass
+	it the standard OLD-LEN argument.  Call both
+	c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
+	cache
+	properties.
+
+	* lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
+	variable.
+
+	* lisp/progmodes/cc-mode.el (c-before-change): Call
+	c-invalidate-sws-region-before.
+	(c-after-change): Pass old-len to c-invalidate-sws-region-after.
+
+2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
+
+	Support stat 8.26 in Tramp
+
+	* lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
+	environment variable of newer coreutils.  (Bug#23422)
+
+2017-01-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of coding-systems
+
+	* doc/lispref/nonascii.texi (Coding System Basics): Mention
+	'prefer-utf-8'.  Index it and 'undecided'.
+	(Encoding and I/O): Fix a typo.
+	(User-Chosen Coding Systems): Improve the documentation of
+	ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
+	select-safe-coding-system-function.
+	(Specifying Coding Systems): Document coding-system-require-warning.
+
+2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2017-01-09 maint: time stamp -> timestamp
+	2017-01-07 stdioext: Port to Minix 3.2 and newer
+	2017-01-06 glob, intprops, xalloc: work around Clang bug
+	2017-01-02 revert copyright-year change to synced files
+	* doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
+	* lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
+	* lib/utimens.c, lib/xalloc-oversized.h:
+	Copy from gnulib.
+
+2017-01-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Don't use unsafe encoding for the bookmark file
+
+	* lisp/bookmark.el (bookmark-write-file): Handle the case when the
+	explicitly specified encoding of the bookmark file cannot encode the
+	additional bookmarks just added.  (Bug#25365)
+
+2017-01-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve definition of 'variable-pitch' face on MS-Windows
+
+	* lisp/faces.el (variable-pitch): Don't specify too many
+	attributes of the font, otherwise faces that request different
+	weight or slant or size will not get them.
+
+2017-01-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix an error message in python.el
+
+	* lisp/progmodes/python.el (python-shell-get-process-or-error):
+	Don't repeat the same key binding twice.  (Bug#25405)
+
+2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Remove unused ldefs-boot.el
+
+	 * lisp/ldefs-boot.el: Remove
+
+	This file was not removed as reported in c27b645956a11, but accidentally
+	left.
+
+2017-01-09  Noam Postavsky  <npostavs@gmail.com>
+	    Eli Zaretskii  <eliz@gnu.org>
+
+	Use expanded stack during regex matches
+
+	While the stack is increased in main(), to allow the regex stack
+	allocation to use alloca we also need to modify regex.c to actually take
+	advantage of the increased stack, and not limit stack allocations to
+	SAFE_ALLOCA bytes.
+
+	* src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
+	allocations in signal handlers which no longer happens and correct
+	description about when and why MATCH_MAY_ALLOCATE should be defined.
+	(emacs_re_safe_alloca): New variable.
+	(REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
+	of MAX_ALLOCA.
+	(emacs_re_max_failures): Rename from `re_max_failures' to avoid
+	confusion with glibc's `re_max_failures'.
+	* src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
+	to the stack.  Instead of changing emacs_re_max_failures based on the
+	new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
+	remains constant regardless, since if we run out stack space SAFE_ALLOCA
+	will fall back to heap allocation.
+
+2017-01-09  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix computation of regex stack limit
+
+	The regex stack limit was being computed as the number of stack entries,
+	whereas it was being compared with the current size as measured in
+	bytes.  This could cause indefinite looping when nearing the stack limit
+	if re_max_failures happened not to be a multiple of sizeof
+	fail_stack_elt_t (Bug #24751).
+
+	* src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
+	limit as numbers of stack entries.
+
+2017-01-08  Alan Third  <alan@idiocy.org>
+
+	Remove apploopnr
+
+	* src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
+	allow app loop to run in main thread.
+
+2017-01-08  Glenn Morris  <rgm@gnu.org>
+
+	Remove unused configure output variable
+
+	* configure.ac (GNULIB_MK):
+	* Makefile.in (gnulib_mk): Remove, no longer used.
+
+2017-01-08  Glenn Morris  <rgm@gnu.org>
+
+	Fix automake dependencies
+
+	* Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
+	All platforms need this file to exist.
+
+2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove unnecessary blankp code
+
+	* src/character.c (blankp): Remove redundant code that slows Emacs
+	down a bit.  The caller already does the test.
+
+2017-01-08  Stefan Merten  <stefan@merten-home.de>
+
+	* lisp/textmodes/rst.el: Fix rst-forward-indented-block.
+
+		* rst.el (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
+		(rst-official-version, rst-official-cvs-rev)
+		(rst-package-emacs-version-alist): Maintain version numbers.
+		(rst-forward-indented-block): Fix. Start searching at next
+		line again. Fixes fontification of comments continuing on the
+		same line they started.
+
+2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove @SET_MAKE@ from manually-maintained files
+
+	Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
+	* Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
+	* src/Makefile.in: Remove @SET_MAKE@.
+
+2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix a problem with `start-file-process' in Tramp
+
+	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
+	`start-file-process' shall work when `non-essential' is
+	non-nil, but there is already an established connection.
+	<https://github.com/company-mode/company-mode/issues/462>
+
+2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
+
+	Fix selecting SQLite database files with sql-mode (Bug#23566)
+
+	* lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
+	SQLite database file name, by default.
+	(sql-get-login-ext): Fixed read-file-name arguments to provide
+	path completion even if a database name pattern is customized and to
+	allow creation of new SQLite database files.
+
+2017-01-07  Noam Postavsky  <npostavs@gmail.com>
+
+	Clarify major mode switching
+
+	* doc/emacs/modes.texi (Major Modes):
+	* doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
+	buffer has exactly one major mode and can't be "turned off", only
+	switched away from (Bug#25357).
+
+2017-01-07  Noam Postavsky  <npostavs@gmail.com>
+
+	Add helpful comment to compile-command's docstring
+
+	* lisp/progmodes/compile.el (compile-command): Mention trailing space in
+	docstring (Bug#25337).
+
+2017-01-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Specify encoding of the bookmark file
+
+	* lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
+	Accept an argument CODING and include a 'coding:' cookie in the
+	bookmark file preamble.
+	(bookmark-upgrade-file-format-from-0): Call
+	'bookmark-insert-file-format-version-stamp' with the file buffer's
+	encoding, as detected when it was read.
+	(bookmark-file-coding-system): New variable.
+	(bookmark-load): Set bookmark-file-coding-system to the encoding
+	of the loaded file.
+	(bookmark-write-file): Bind coding-system-for-write to either the
+	user setting via "C-x RET c" or to the existing file encoding,
+	defaulting to 'utf-8-emacs'.  Update the value of
+	bookmark-file-coding-system.  (Bug#25365)
+
+2017-01-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid infloop in 'ispell-region'
+
+	* lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
+	Protect against 'ispell-skip-region-alist' being nil.  Reported by
+	Ernest Adrogué <nfdisco@gmail.com>, see
+	http://lists.gnu.org/archive/html/help-gnu-emacs/2017-01/msg00007.html.
+
+2017-01-06  Philipp Stephani  <phst@google.com>
+
+	Add support for Unicode whitespace in [:blank:]
+
+	See Bug#25366.
+
+	* src/character.c (blankp): New function for checking Unicode
+	horizontal whitespace.
+	* src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
+	whitespace.
+	(BIT_BLANK): New bit for range table.
+	(re_wctype_to_bit, execute_charset): Use it.
+	* test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
+	unit test for [:blank:] character class.
+	* test/src/regex-tests.el (test): Adapt unit test.
+	* doc/lispref/searching.texi (Char Classes): Document new Unicode
+	behavior for [:blank:].
+
+2017-01-06  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix ':version' of 'select-enable-primary'
+
+	* lisp/select.el (select-enable-primary): Fix a typo in
+	':version'.  (Bug#25375)
+
+2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	(feedmail-deduce-address-list): Avoid add-to-list on local variables.
+
+	Author:
+
+	* lisp/mail/feedmail.el (feedmail-deduce-address-list):
+	Avoid add-to-list on local variables.
+
+2017-01-06  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix isearch handling of C-u C-u...
+
+	* lisp/isearch.el: Add `isearch-scroll' property to
+	universal-argument-more so that `isearch-allow-scroll' will apply to it
+	as well.
+	(isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
+	`universal-argument-more' as well (Bug#25302).
+
+2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Shorten autogen.sh script
+
+	* autogen.sh: Use a shorter script, as some 'sed' implementations
+	mishandle long scripts.
+
+2017-01-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Yet another fix for autogen.sh
+
+	* autogen.sh (gnulib.mk): Make the Sed script more portable.
+
+	* nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
+	the changes in autogen.sh.
+
+2017-01-05  Eli Zaretskii  <eliz@gnu.org>
+
+	* autogen.sh (gnulib.mk): Another attempt to fix macOS build.
+
+2017-01-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix dependencies of nt/gnulib.mk
+
+	* Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
+	of nt/gnulib.mk on lib/Makefile.in.
+
+2017-01-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Unbreak macOS build
+
+	* autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
+	Sed.
+
+2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
+
+	Fix term.el handling of ^Z-sequences spanning chunks
+
+	Bash will after each command send ?\032 and the current directory "/tmp"
+	to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
+	command outputs roughly 4096 bytes then the end of the first chunk will
+	be "/tm" (Bug#13350).
+
+	* lisp/term.el (term-emulate-terminal): Change the regexp to find the
+	end of the ?\032 sequence to use \n instead of $, the latter can match
+	end of string as well.
+
+2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Turn on lexical-binding in mb-depth.el
+
+	* lisp/mb-depth.el: Turn on lexical-binding.
+	(minibuffer-depth-setup): Bind things used multiple times.
+
+2017-01-04  Alan Third  <alan@idiocy.org>
+
+	Revert "Rework NS event handling (bug#25265)"
+
+	This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
+
+2017-01-04  Glenn Morris  <rgm@gnu.org>
+
+	Update remaining copyright years with admin.el M-x set-copyright
+
+	* etc/refcards/ru-refcard.tex (cyear): Set to 2017.
+
+2017-01-04  Glenn Morris  <rgm@gnu.org>
+
+	* lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
+
+2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port recent autogen.sh changes to Darwin
+
+	Problem reported by Sam Steingold (Bug#25347).
+	* autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
+	POSIX does not require it and it does not work on Darwin.
+
+2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Avoid add-to-list on local variables
+
+	* lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
+	(nnir-retrieve-headers): Use pcase.
+	(nnir-search-thread): Avoid add-to-list on local variables.
+
+	* lisp/gnus/smime.el: Use lexical-binding and cl-lib.
+	(smime-verify-region): Avoid add-to-list on local variables.
+
+	* lisp/mail/undigest.el: Use lexical-binding and cl-lib.
+	(rmail-digest-parse-mime, rmail-digest-rfc1153)
+	(rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
+
+	* lisp/net/ldap.el (ldap-search): Move init into declaration.
+
+	* lisp/net/newst-backend.el (newsticker--cache-add):
+	Avoid add-to-list on local variables; Simplify code with `assq'.
+
+	* lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
+	(dbus-debug): Remove declaration, unused.
+	(zeroconf-service-add-hook, zeroconf-service-remove-hook)
+	(zeroconf-service-browser-handler, zeroconf-publish-service):
+	Avoid add-to-list and *-hook on local variables.
+
+	* lisp/org/org-archive.el (org-all-archive-files):
+	* lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
+	Avoid add-to-list on local variables.
+
+	* lisp/org/ox-publish.el (org-publish--run-functions): New function.
+	(org-publish-projects): Use it to avoid run-hooks on a local variable.
+	(org-publish-cache-file-needs-publishing): Avoid add-to-list on
+	local variables.
+
+	* lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
+	(ada-prj-load-from-file): Avoid add-to-list on local variables.
+
+	* lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
+	(ada-gnat-parse-gpr, ada-parse-prj-file-1)
+	(ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
+
+	* lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
+	Avoid add-to-list on local variables.
+
+2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Turn on lexical-binding in md4.el
+
+	* lisp/md4.el: Turn on lexical-binding.
+	* test/lisp/md4-tests.el: New file.
+
+2017-01-03  Stefan Merten  <stefan@merten-home.de>
+
+	Lots of refactorings and a few minor improvements.
+
+	User visible improvements and changes:
+	* Improve and debug `rst-forward-section` and `rst-backward-section`.
+	* Auto-enumeration may be used with all styles for list insertion.
+	* Improve and debug `rst-toc-insert`.
+	* Adapt change in Emacs to use customization group `text` instead of `wp`.
+	* Bind `n` and `p` in `rst-toc-mode`.
+	* `z` in `toc-mode` returns to the previous window configuration.
+	* Require Emacs version >= 24.1.
+
+	Lots of refactorings including:
+	* Silence byte compiler.
+	* Use lexical binding.
+	* Use `cl-lib`.
+	* Add tests and raise test coverage.
+
+2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	(cl-defstruct): Improve error message for slots w/o value (bug#25312)
+
+	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
+	emit a warning for those coders who forgot to put a default value in
+	their slot.
+
+2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
+
+	Small patch for ffap.el
+
+	* lisp/ffap.el (ffap-alist): Document that ffap sets the match data
+	while walking 'ffap-alist'.
+
+2017-01-03  Eli Zaretskii  <eliz@gnu.org>
+
+	Generate nt/gnulib.mk from lib/gnulib.mk
+
+	This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
+	with the purpose of avoiding manual maintenance of
+	nt/gnulib.mk.
+
+	* nt/gnulib-modules-to-delete.cfg: New file.
+	* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
+	(am__v_GEN_1): New variables.
+	(${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
+	lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
+
+	* make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
+	files to link.
+	* configure.ac (GNULIB_MK): Compute the value according to $opsys.
+	* autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
+	running autoreconf.
+	* Makefile.in (gnulib_mk): New variable.
+	($(srcdir)/nt/gnulib.mk): Rule to produce it.
+	(AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
+	name.
+	* .gitignore: Add nt/gnulib.mk.
+
+	* src/w32.c (acl_errno_valid): Implement it here, as we no longer
+	build the acl-permissions module from Gnulib.
+
+2017-01-03  Noam Postavsky  <npostavs@gmail.com>
+
+	Handle multibyte chars spanning chunks in term.el
+
+	* lisp/term.el (term-terminal-undecoded-bytes): New variable.
+	(term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
+	buffer-local twice.
+	(term-emulate-terminal): Check for bytes of incompletely decoded
+	characters, and save them until the next call when they can be fully
+	decoded (Bug#25288).
+
+2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	Finish work on filenotify-tests.el
+
+	* test/lisp/filenotify-tests.el (file-notify--test-monitors):
+	New variable.
+	(file-notify--test-cleanup, file-notify--test-monitor): Use it.
+	(file-notify--test-read-event, file-notify-test02-events)
+	(file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
+	(file-notify-test03-autorevert)
+	(file-notify-test08-watched-file-in-watched-dir):
+	Set `file-notify--test-desc' for proper work of
+	`file-notify--test-monitor'.  (Bug#21804)
+
+2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
+
+	Check also for "gvfs-monitor-dir.exe" in Tramp
+
+	* lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
+	for "gvfs-monitor-dir.exe".
+
+2017-01-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation --without-x
+
+	* src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
+	font_range only if it is compiled in.  (Bug#25334)
+
+2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
+
+	Fix RefTeX to show table of contents for dtx files (tiny change)
+
+	* lisp/textmodes/reftex.el (reftex-compile-variables): Change the
+	  section regexp so that it accepts lines starting with the comment
+	  character. (tiny change)
+	* lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
+	  gathered toc entries, accepting a commented entry if and only if the
+	  source file is a ".dtx" file. (tiny change)
+
+2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove mistakenly-added files
+
+	Problem reported by Glenn Morris in:
+	http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00008.html
+	* lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
+	* lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
+	* lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
+	* lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
+	* lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
+	* lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
+	* lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
+	Remove files that were added by mistake during a merge.
+
+2017-01-01  Noam Postavsky  <npostavs@gmail.com>
+
+	Warn about incomplete untarring of link files
+
+	The current tar-mode doesn't really support unpacking symlinks, it
+	simply creates an empty file of the same name.
+
+	* lisp/tar-mode.el (tar--describe-as-link): New function extracted from
+	`tar--check-descriptor'.
+	(tar-untar-buffer): Use it to warn about imperfectly untarred link
+	files.
+
+2017-01-01  Noam Postavsky  <npostavs@gmail.com>
+
+	Remove sh-mode's skeleton-end-hook
+
+	* lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
+	`skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
+	and also respects `skeleton-end-newline' (Bug#16634).
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
+
+2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Add term/tmux.el
+
+	Since tmux version 2.1, new tmux terminfos are shipped due to oddities
+	with xterm and screen terminfos.  This is simply a duplication of
+	term/screen.el with screen -> tmux.
+	* lisp/term/tmux.el: New file.
+
+2017-01-01  Philipp Stephani  <phst@google.com>
+
+	Fix encoding of JSON surrogate pairs
+
+	JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
+	individual code points; cf. Bug #24784.
+
+	* lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
+	pairs.
+	(json--decode-utf-16-surrogates): New defun.
+
+	* test/lisp/json-tests.el (test-json-read-string): Add test for
+	surrogate pairs.
+
+2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
+
+	Remove tramp-gw.el, which was synced from emacs-25 by accident
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Do not use Gnulib’s m4/wint_t.m4.
+
+	* admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
+	Fix typo so that warn-on-use.m4 is removed too.
+	* configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
+	* m4/wint_t.m4: Remove.
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib, continued
+
+	* m4/wint_t.m4: New file, copied from gnulib.
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Update copyright year to 2017 in master
+
+	Run admin/update-copyright in the master branch.  This fixes files
+	that were not already fixed in the emacs-25 branch before it was
+	merged here.
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove test/automated detritus from merge
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
+	2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
+	2016-12-17 getlogin: Port to newer mingw
+	2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
+	2016-12-17 Avoid redefinition errors on MSVC
+	* lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
+	* m4/stdint.m4, m4/unistd_h.m4:
+	Copy from gnulib.
+	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
+	Plus, this commit updates the indenting on copyright notices to
+	match that of gnulib.
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	2e2a806 Fix copyright years by hand
+	5badc81 Update copyright year to 2017
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	665be69 ; Update ChangeLog.2 and AUTHORS files
+
+	# Conflicts:
+	#	etc/AUTHORS
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	697167b ; Improve wording of previous change in variables.texi
+	d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
+	8b71826 Don't modify minibuffer variables globally
+	5b5e036 Revert to pre-25.1 behavior in ffap
+	19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
+	3ace730 Attempt to fix 64-bit AIX build
+	f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
+	c04ac8a Document that variable binding order is unspecified
+	272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
+	08de101 Fix M-x hints on Mac port
+	86a297a Work around reporting a dpi change in apply_xft_settings
+	cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
+	9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
+	88cdf14 Improve skeleton docstrings
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	4179238 Improve documentation of 'w32-scroll-lock-modifier'
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from origin/emacs-25
+
+	9adb101 Document 'describe-fontset'
+	229315c ; Add missing symbol quoting.
+	3d94931 Repair desktop restoration on text terminals
+	43022f9 Ignore forward-sexp-function in js-mode indentation code
+	b19fb49 Improve documentation of 'define-coding-system'
+	467768f Fix Bug#25162
+	6db78ae Fix a typo in define-abbrev-table
+	5f7d906 Bump makeinfo requirement from 4.7 to 4.13
+	442e2f6 Fixes related to select-enable-clipboard
+	e4ac450 Define struct predicate before acccesors
+	08decbd Doc fix for vc-git
+	5531e75 Further improve make-dist checking
+	953bf67 Improve previous make-dist change
+	129645a Make make-dist --snapshot do some sanity checks
+
+	# Conflicts:
+	#	lisp/menu-bar.el
+
+2017-01-01  Alan Mackenzie  <acm@muc.de>
+
+	Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
+
+	* lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
+	from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
+
+	* lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
+	t to (&rest def-form).
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix copyright years by hand
+
+	These are dates that admin/update-copyright did not update, or
+	updated incorrectly.
+
+2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Update copyright year to 2017
+
+	Run admin/update-copyright.
+
+2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Clarify internal_catch etc.
+
+	The recent change to internal_catch and friends relied on some
+	confusion I introduced to the code in 2013.  Attempt to fix
+	the confusion by clarifying the code instead.  This saves an
+	instruction and a load dependency in the typical case.
+	* src/eval.c (internal_catch, internal_condition_case)
+	(internal_condition_case_1, internal_condition_case_2)
+	(internal_condition_case_n): Undo the previous change.  Instead,
+	use use ‘c’ rather than ‘handlerlist’ in the typical case.
+	Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
+
+2016-12-31  Ken Brown  <kbrown@cornell.edu>
+
+	Further improve filenotify-tests.el
+
+	* test/lisp/filenotify-tests.el
+	(file-notify--test-read-event): Adapt to file monitors of type
+	GFamFileMonitor, which occur on Cygwin.
+	(file-notify--test-monitor): Update doc string.
+
+2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/xdisp.c (string_from_display_spec): Simplify.
+
+2016-12-31  Alan Third  <alan@idiocy.org>
+
+	Rework NS event handling (bug#25265)
+
+	* src/nsterm.m (unwind_apploopnr): Remove.
+	(ns_read_socket): Remove references to apploopnr.  Make processing the
+	NS event loop conditional on being in the main thread.
+	(ns_select): Remove references to apploopnr.  Remove all fd_handler
+	related stuff.  Check if there are events waiting on the NS event
+	queue rather than running the event loop.  Remove unused variables and
+	code.
+	(fd_handler): Remove.
+	(ns_term_init): Remove creation of fd_handler thread.
+	(hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
+	EmacsView:windowDidExpose): Remove send_appdefined.
+	(ns_send_appdefined): Always check the event queue for
+	applicationDefined events rather than relying on send_appdefined var.
+	* src/nsterm.h: Remove reference to fd_handler method.
+
+2016-12-31  Philipp Stephani  <phst@google.com>
+
+	Checkdoc: use syntax functions instead of regex
+
+	In checkdoc.el, get rid of the error-prone regex to find definition
+	forms, and use existing syntax-based navigation functions instead.
+	This fixes a corner case with one-argument `defvar' forms.
+
+	* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
+	(checkdoc-next-docstring, checkdoc-defun): Use it.
+	* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
+	Add unit test.
+
+2016-12-31  Eli Zaretskii  <eliz@gnu.org>
+
+	Don't define NOMINMAX on MS-Windows
+
+	* src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
+	longer needed with the current sources and MinGW headers, while
+	defining NOMINMAX causes an annoying compiler warning.
+
+2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
+
+	Simplify code in eval.c that calls 'setjmp'
+
+	* src/eval.c (internal_catch, internal_condition_case)
+	(internal_condition_case_1, internal_condition_case_2)
+	(internal_condition_case_n): Factor out the common tail of the
+	functions.
+
+2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
+
+	Simplify code in 'string_from_display_spec'
+
+	* src/xdisp.c (string_from_display_spec): Eliminate a redundant
+	test before the loop.
+
+2016-12-31  Eli Zaretskii  <eliz@gnu.org>
+
+	Serialize random number generation on MS-Windows
+
+	* src/w32.c (rand_as183): New function.
+	(random): Use it instead of MS runtime's 'rand'.  This avoids
+	producing separate and identical random series in each Lisp
+	thread.
+	(srandom): Modify to supply 3 seed values to 'rand_as183'.
+
+2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
+
+	* src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
+
+2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
+
+	Don't call xg_select for a NextStep build.
+
+	NextStep builds use glib but don't use xg_select.
+
+	* src/process.c (wait_reading_process_output): Don't call xg_select
+	for a NextStep build.
+
+2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
+
+	Increase the obarray size.
+
+	In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
+	the time we've started.  The old obarray size ensured an average chain
+	length of 10 or more.
+
+	* src/lread.c (OBARRAY_SIZE): Increase to 15121.
+
+2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
+
+	Initialize thread support for Xlib.
+
+	* src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
+	before doing anything else with X.
+
+2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Rename primary_thread to main_thread
+
+	This avoids the confusion of using two different phrases "main thread"
+	and "primary thread" internally to mean the same thing.  See:
+	http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01142.html
+	* src/thread.c (main_thread): Rename from primary_thread,
+	since the new name no longer clashes with main_thread_id
+	and Emacs internals normally call this the "main thread".
+	(init_main_thread): Rename from init_primary_thread.
+	(main_thread_p): Rename from primary_thread_p.
+	All uses changed.
+
+2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Rename main_thread to main_thread_id and simplify
+
+	* src/emacs-module.c: Include syssignal.h, for main_thread_id.
+	[HAVE_PTHREAD]: Do not include pthread.h.
+	(main_thread): Remove.  All uses replaced by main_thread_id,
+	or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
+	the main_thread_id established by sysdep.c, there is no need for a
+	separate copy of the main thread ID here.
+	(module_init): Remove.  All uses removed.
+	* src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
+	Rename from main_thread.  All uses changed.  Now extern.
+
+2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	* src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
+
+2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/sysdep.c (deliver_process_signal): Improve comment.
+
+2016-12-30  Alan Mackenzie  <acm@muc.de>
+
+	CC Mode: Fix the fontification of a spuriously recognised enum member.
+
+	The "enum" was in an argument list, but triggered the fontification of a
+	following identifier in the function block as though it were in an enum
+	declaration.
+
+	* lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
+	(c-basic-matchers-after): Replace the inline stanza for enum elements with a
+	call to c-font-lock-enum-body.
+
+	* lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
+	variable.
+
+2016-12-30  Nicolas Petton  <nicolas@petton.fr>
+
+	Bump Emacs version to 25.1.91
+
+	* README:
+	* configure.ac:
+	* msdos/sed2v2.inp:
+	* nt/README.W32: Bump Emacs version.
+	* lisp/ldefs-boot.el: Update.
+
+2016-12-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Attempt to fix crashes with threads in GTK builds
+
+	* src/xgselect.c (xg_select): Call pselect via thread_select, not
+	directly, to avoid running Lisp (via unblock_input) when more than
+	one thread could be running.  (Bug#25247)
+	* src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
+	xg_select directly instead of through thread_select.
+	* src/xgselect.h (xg_select): Last 2 arguments are no longer
+	'const', for consistency with thread_select.
+
+2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
+
+	Add entry for biblatex
+
+	* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
+	entry for biblatex macros.
+
+2016-12-30  Alan Mackenzie  <acm@muc.de>
+
+	Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
+
+	The ambiguity was whether INITVALUE is evaluated when it's not going to be
+	used to set SYMBOL's value.
+
+	* src/eval.c (defvar): Rewrite a paragraph of the doc string.
+
+	(cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
+
+2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
+
+	ffap-string-at-point: Limit max length of active region
+
+	Prevents that 'ffap-guesser' waste time checking large strings
+	which are likely not valid candidates (Bug#25243).
+	* lisp/ffap.el (ffap-max-region-length): New variable.
+	(ffap-string-at-point): Use it.
+	* test/lisp/ffap-tests.el: New test suite.
+	(ffap-tests-25243): Add test for this bug.
+
+2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	last-chance: Also ignore NEWS files + typo fixes
+
+	* admin/last-chance.el: Fix typo in copyright notice.
+	(last-chance-uninteresting-regexps): Add entry to match NEWS files.
+	(last-chance-cleanup): Fix typo in docstring.
+
+2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
+
+	* mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
+
+2016-12-29  Alan Mackenzie  <acm@muc.de>
+
+	Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
+
+	The ambiguity was whether INITVALUE is evaluated when it's not going to be
+	used to set SYMBOL's value.
+
+	* src/eval.c (defvar): Rewrite a paragraph of the doc string.
+
+2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
+
+	Improve filenotify-tests.el
+
+	* src/inotify.c (Finotify_valid_p):
+	* src/kqueue.c (Fkqueue_valid_p):
+	* src/w32notify.c (Fw32notify_valid_p):
+	* src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
+	(Fgfile_monitor_name): New defun.
+	(syms_of_gfilenotify): Declare Sgfile_monitor_name.
+
+	* test/lisp/filenotify-tests.el	(file-notify--test-read-event):
+	New defun, derived from `file-notify--test-read-event-timeout'.
+	Replace all calls of `read-event' by this.
+	(file-notify--test-timeout): Fix docstring.
+	(file-notify--test-monitor): New defun.
+	(file-notify--deftest-remote): Do not bind
+	`file-notify--test-read-event-timeout' anymore.
+	(file-notify-test00-availability): Print also monitor, if existent.
+	(file-notify--test-with-events): Add an additional
+	`file-notify--test-read-event' call, in order to get it work
+	after `file-notify-add-watch'.  Remove special timeout for cygwin.
+	(file-notify-test02-events): Make a better check for cygwin.
+	(file-notify-test06-many-events): Improve event list for cygwin.
+	(file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
+
+2016-12-29  Alan Mackenzie  <acm@muc.de>
+
+	Partially correct fontification of "(b*3)", and the like, in C++ Mode
+
+	This problem is caused by the fundamental ambiguity in C++ between
+	argument declarations and initialisation clauses.
+
+	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
+	paren preceded by an arithmetic operator, we give this the context nil, not
+	'arglist.
+
+	* lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
+	New lang consts and vars.
+
+2016-12-29  Alan Mackenzie  <acm@muc.de>
+
+	Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
+
+	This is because there are times when this variable is changed by setcar before
+	an atom is pushed onto it by debug-enter.  This happens, for example, whilst
+	instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
+
+	* lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
+
+2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
+
+	(inline--dont-quote): Quote the function with #' when passing it to `apply'.
+	Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
+
+2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
+
+	Release Tramp 2.3.1
+
+	* doc/misc/trampver.texi:
+	* lisp/net/trampver.el: Change version to "2.3.1".
+
+	* lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
+	`eshell-mode-hook' but `eshell-first-time-mode-hook'.
+
+	* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
+	(tramp-compat-file-name-quote)
+	(tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
+
+2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify prog1 implementation
+
+	Inspired by a suggestion from Chris Gregory in:
+	http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00965.html
+	On my platform, this generates exactly the same machine insns.
+	* src/eval.c (prog_ignore): Rename from unwind_body, since
+	it’s more general than that.  All callers changed.
+	(Fprog1): Simplify by using prog_ignore.
+	(Fwhile): Clarify by using prog_ignore.
+
+2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
+
+	(inline--dont-quote): Quote the function with #' when passing it to `apply'.
+
+2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Remove a use of lexical-let
+
+	* lisp/gnus/message.el (message-completion-function): Just use let,
+	since the file now uses lexical-binding.
+
+2016-12-27  Ken Brown  <kbrown@cornell.edu>
+
+	Improve filenotify-tests.el on Cygwin (Bug #21804)
+
+	* test/lisp/filenotify-tests.el [CYGWIN]
+	(file-notify--test-read-event-timeout): Increase.
+	(file-notify--test-with-events): Add delay before executing body.
+	(file-notify-test02-events, file-notify-test04-file-validity):
+	Adjust expected results.
+
+2016-12-27  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix expand-file-name on DOS_NT systems when /: escaping is used
+
+	* src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
+	file names escaped by "/:".  Don't recursively expand
+	default-directory escaped with "/:" which is not followed by a
+	drive spec.  (Bug#25183)
+
+2016-12-27  Bake Timmons  <65pandas@gmail.com>
+
+	Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
+
+	* doc/misc/gnus.texi (Mail Source Specifiers):
+	Replace wrong `mail-sources' value of `(group)' in Gnus manual with
+	the correct `((group))' value.  (bug#25275) (tiny change)
+
+2016-12-27  Bake Timmons  <65pandas@gmail.com>
+
+	Fix bug in customizing `mail-sources' variable (bug#25274)
+
+	* lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
+	for lone argument. (bug#25274) (tiny change)
+
+2016-12-26  Philipp Stephani  <phst@google.com>
+
+	Checkdoc: Don't require a space before an arg list
+
+	See Bug#24998.
+
+	* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
+	space before a argument list.
+	* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
+	Add unit test.
+
+2016-12-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Document 'default-toplevel-value' and 'set-default-toplevel-value'
+
+	* doc/lispref/variables.texi (Default Value): Document
+	'default-toplevel-value' and 'set-default-toplevel-value'.
+
+2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
+
+	Add zshrc and zshenv detection to sh-mode (bug#25217)
+
+	* lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
+
+2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix typo in lisp.h reordering patch
+
+	* src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
+	Reported by Eli Zaretskii (Bug#25128#19).
+
+2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	regex.h now includes sys/types.h
+
+	* src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
+	Do not include sys/types.h; no longer needed.
+	* src/regex.h: Include <sys/types.h>, as that's what Gnulib and
+	glibc regex.h does, and POSIX has blessed this since 2008.
+
+2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Reorder lisp.h to declare types before using them
+
+	This puts basic functions for types to be after the corresponding
+	type definitions.  This is a more-common programming style in C,
+	and will make it easier to port Emacs to gcc
+	-fcheck-pointer-bounds, since the functions now have access to the
+	corresponding types' sizes.  This patch does not change the code;
+	it just moves declarations and definitions and removes
+	no-longer-needed forward declarations (Bug#25128).
+	* src/buffer.c, src/data.c, src/image.c:
+	Include process.h, for PROCESSP.
+	* src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
+	* src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
+	* src/termhooks.h (TERMINALP, XTERMINAL):
+	* src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
+	* src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
+	(XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
+	Move here from lisp.h.
+	* src/intervals.h: Include buffer.h, for BUFFERP.
+	Include lisp.h, for Lisp_Object.
+	* src/lisp.h: Reorder declarations and definitions as described
+	above.  Move thread includes to be later, so that they can use the
+	reordered definitions.  Move some symbols to other headers (noted
+	elsewhere).  Remove forward decls that are no longer needed.
+	* src/thread.h: Include systhread.h here, not in lisp.h,
+	since lisp.h itself does not need systhread.h.
+
+2016-12-25  Leo Liu  <sdl.web@gmail.com>
+
+	Don't modify minibuffer variables globally
+
+	* lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
+
+2016-12-25  Dima Kogan  <dima@secretsauce.net>
+
+	diff-mode auto-refines only after a successful motion
+
+	Prior to this patch (if enabled) auto-refinement would kick in after all
+	hunk navigation commands, even if the motion failed.  This would result
+	in a situation where the hunk navigation would signal an error and beep,
+	but yet still accomplish potentially useful work, by auto-refining.
+	This patch moves the auto-refinement code to only run when a motion was
+	successful
+
+	* lisp/vc/diff-mode.el (diff--internal-hunk-next,
+	  diff--internal-hunk-prev): Removed auto-refinement-triggering code
+	* lisp/vc/diff-mode.el (diff--wrap-navigation): Added
+	  auto-refinement-triggering code
+
+2016-12-25  Dima Kogan  <dima@secretsauce.net>
+
+	diff-mode is able to better handle file headers
+
+	This fixes a regression introduced in
+
+	  http://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
+
+	This bug was filed in
+
+	  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
+
+	Patches generated from a VCS such as git contain a patch message at the
+	start, and diff-mode is now once-again able to properly able to ignore
+	this message when issuing navigation commands around the message.
+
+	* lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
+	  thoroughly ignore the header when looking for a beginning of file
+	  diffs.
+
+2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use libpng-config --ldflags, not --libs
+
+	Problem reported by James K. Lowden (Bug#25268).
+	* configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
+
+2016-12-24  Eli Zaretskii  <eliz@gnu.org>
+
+	Revert to pre-25.1 behavior in ffap
+
+	* lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
+	the same behavior as in Emacs 24.x.  (Bug#25264)
+	Explain the trade-offs of customizing this in the doc string.
+
+2016-12-24  Noam Postavsky  <npostavs@gmail.com>
+
+	* lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
+
+2016-12-24  Noam Postavsky  <npostavs@gmail.com>
+
+	Remove redundant `save-match-data' in whitespace.el
+
+	* lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
+	(whitespace-report-region): Remove redundant `save-match-data' calls.
+
+2016-12-24  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix whitespace eob cleanup
+
+	* lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
+	of empty lines at end of buffer.
+	* test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
+	(whitespace-tests--cleanup-string): New helper function for tests.
+
+2016-12-24  Hong Xu  <hong@topbug.net>
+
+	Fix timezone detection of parse-iso8601-time-string
+
+	* parse-time.el (parse-iso8601-time-string): Fix timezone
+	parsing.  Add a doc string.  (Bug#25086)
+	* editfns.c (Fdecode-time): Doc fix.
+	* emacs-mime.texi (time-date): Add an example for
+	parse-iso8601-time-string.
+	* parse-time-tests.el (parse-time-tests): Add tests for
+	parse-iso8601-time-string.
+
+2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Simplify exec_byte_code via moving decls etc.
+
+	* src/bytecode.c (exec_byte_code): Simplify, mostly by moving
+	initializers into decls, and by omitting some unnecessary changes
+	to ‘top’.
+
+2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove interpreter’s byte stack
+
+	This improves performance overall on my benchmark on x86-64,
+	since the interpreted program-counter resides in a machine
+	register rather than in RAM.
+	* etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
+	is no longer a byte stack to decode.
+	* src/bytecode.c (struct byte_stack, byte_stack_list)
+	(relocate_byte_stack): Remove.  All uses removed.
+	(FETCH): Simplify now that pc is now local (typically, in a
+	register) and no longer needs to be relocated.
+	(CHECK_RANGE): Remove.  All uses now done inline, in a different way.
+	(BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
+	(exec_byte_code): Allocate a copy of the function’s bytecode,
+	so that there is no problem if GC moves it.
+	* src/lisp.h (struct handler): Remove byte_stack member.
+	All uses removed.
+	* src/thread.c (unmark_threads): Remove.  All uses removed.
+	* src/thread.h (struct thread_state): Remove m_byte_stack_list member.
+	All uses removed.  m_stack_bottom is now the first non-Lisp field.
+
+2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	BYTE_CODE_SAFE typo fix
+
+	* src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
+	not on whether it is defined.
+
+2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	BYTE_CODE_SAFE cleanups
+
+	* src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
+	(struct byte_stack) [BYTE_MAINTAIN_TOP]:
+	Remove unused members ‘top’ and ‘bottom’.
+	(exec_byte_code): Nest inside { } to avoid GCC warning about
+	jumping over declaration when compiled with -DBYTE_CODE_SAFE.
+
+2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	last-chance: new utility lib for dangling deterrence
+
+	* admin/last-chance.el: New file.
+
+2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use max_align_t instead of void *
+
+	* src/thread.c (run_thread): Don’t assume void * is aligned enough.
+
+2016-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Attempt to fix 64-bit AIX build
+
+	* src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
+	type-casts that assumed 32-bit pointers.  (Bug#25141)
+
+2016-12-23  Philipp Stephani  <phst@google.com>
+
+	Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
+
+	* doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
+
+2016-12-23  Philipp Stephani  <phst@google.com>
+
+	Document that variable binding order is unspecified
+
+	* doc/lispref/variables.texi (Local Variables):
+	* cl.texi (Modify Macros): Document that binding order in 'let' and
+	'cl-letf' is unspecified.
+
+2016-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Prevent infloops in redisplay due to truncate-lines and overlays
+
+	* src/xdisp.c (hscroll_window_tree): Avoid inflooping in
+	redisplay_window when a screen line ends in an overlay string with
+	a newline.  (Bug#25246)
+
+2016-12-23  Philipp Stephani  <phst@google.com>
+
+	Treat incomplete integer literals as errors
+
+	See Bug#25120.
+
+	* src/lread.c (read_integer): Treat incomplete integer literals as errors.
+	* test/src/lread-tests.el (lread-empty-int-literal): New unit test for
+	incomplete integer literals.
+
+2016-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+	* lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
+
+2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
+
+	Fix M-x hints on Mac port
+
+	* lisp/simple.el (execute-extended-command--shorter): Call
+	input-pending-p to trigger input processing on some systems, such
+	as Mac port.  (Bug#23002)
+
+2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
+
+	* test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
+
+2016-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid aborts due to unaligned byte stack of threads
+
+	* src/thread.c (run_thread): Make sure the pointers to thread byte
+	stack are properly aligned.  (Bug#25247)
+
+2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Pacify --enable-gcc-warnings
+
+	* src/charset.c (load_charset_map):
+	* src/coding.c (decode_coding_object):
+	* src/frame.c (make_frame):
+	* src/window.c (Frecenter):
+	Mark locals with UNINIT to silence false alarms from
+	-Wmaybe-uninitialized.
+	* src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
+	(SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
+	Check and assume that values are nonnull.  This pacifies
+	-Wmaybe-uninitialized in Fmake_variable_buffer_local and
+	Fmake_local_variable.
+
+2016-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
+
+	* src/thread.c (primary_thread_p): New function.
+	* src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
+	meant for thread objects allocated dynamically.
+	* src/thread.h (primary_thread_p): Add prototype.
+
+2016-12-22  Martin Rudalics  <rudalics@gmx.at>
+
+	Work around reporting a dpi change in apply_xft_settings
+
+	* src/xsettings.c (apply_xft_settings): Don't report a change
+	when dpi settings do not differ substantially.
+
+2016-12-22  Noam Postavsky  <npostavs@gmail.com>
+
+	Use completion-at-point in verilog-mode
+
+	There were some functions in verilog-mode that implemented in-buffer
+	completion, but this needlessly duplicates completion-at-point
+	functionality, and the popup window management had problems
+	(see Bug #23842).  We need to keep them for backwards compatibility with
+	older emacs versions, but use completion-at-point if available.
+
+	* lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
+	obsolete if completion-cycle-threshold is available.
+	(verilog-mode-map, verilog-menu): Bind completion-at-point and
+	completion-help-at-point in preference to verilog-complete-word and
+	verilog-show-completions, respectively.
+	(verilog-mode): Add verilog-completion-at-point to
+	completion-at-point-functions.
+	(verilog-completion-at-point): New function.
+	(verilog-show-completions, verilog-complete-word): Use it to avoid code
+	duplication.
+
+2016-12-21  Reuben Thomas  <rrt@sc3d.org>
+
+	Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
+
+	* lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
+	override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
+	retain their hardwired values, and all other dictionaries are given
+	sensible defaults.
+
+2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* tex-mode.el (tex-compile-commands): Add luatex and xetex commands
+
+2016-12-21  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
+
+	* src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
+	for thread objects.  They are marked via the all_threads list, and
+	therefore don't need to be inserted into the red-black tree, so
+	mem_find will never find them.  Reported by Daniel Colascione
+	<dancol@dancol.org> in
+	http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00817.html.
+
+2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* src/data.c (Fmake_variable_frame_local): Remove
+
+	* src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
+
+	* src/data.c (swap_in_symval_forwarding, set_internal)
+	(set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
+	(Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
+	Don't pay attention to ->frame_local any more.
+	(syms_of_data): Remove Qtrapping_frame_local and don't defsubr
+	Smake_variable_frame_local.
+
+	* etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
+	of make-variable-frame-local.
+
+	* lisp/help-fns.el (describe-variable): Don't handle the now impossible
+	frame-local case.
+
+	* lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
+
+	* src/frame.c (store_frame_param):
+	* src/eval.c (specbind): Don't pay attention to ->frame_local any more.
+
+	* src/widget.c (first_frame_p): Remove, unused.
+
+2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port dumping better to WSL
+
+	Problem reported by Angelo Graziosi in:
+	http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00822.html
+	* src/sysdep.c (disable_address_randomization):
+	Detect buggy platforms where 'personality' always returns 0.
+
+2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
+
+	Remove gateway methods in Tramp
+
+	* doc/misc/tramp.texi (Top, Configuration): Remove section
+	`Gateway methods', insert section `Firewalls' in menu.
+	(History): Gateways are removed now.
+	(Gateway methods): Remove section.
+	(Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
+	(Firewalls): New section.
+
+	* etc/NEWS: Gateway methods in Tramp have been removed.
+
+	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
+	(tramp-file-name-port, tramp-accept-process-output): Simplify.
+
+	* lisp/net/tramp-gw.el: Remove.
+
+	* lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
+	(tramp-gw-socks-method): Remove declarations.
+	(tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
+	Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
+	(tramp-do-copy-or-rename-file-out-of-band)
+	(tramp-compute-multi-hops, tramp-maybe-open-connection):
+	Remove gateway support.
+
+	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
+	Remove gateway tests.
+
+2016-12-20  Alan Mackenzie  <acm@muc.de>
+
+	Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
+
+	lisp/progmodes/cc-defs.el: Amend the version number.
+	etc/NEWS: Add an item explaining the change.
+
+2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
+
+	files-test-read-file-in-: Delete temporary dir on exit
+
+	* test/lisp/files-tests.el (files-test-read-file-in-~):
+	Create subdir inside dir.
+
+2016-12-20  Christopher Genovese  <genovese@cmu.edu>
+
+	ibuffer: New filters and commands
+
+	Add several new filters and improve documentation.
+	See discussion on:
+	https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00399.html
+	* lisp/ibuf-ext.el: Add paragraph to file commentary.
+	(ibuffer-saved-filters, ibuffer-filtering-qualifiers)
+	(ibuffer-filter-groups): Update doc string.
+	(ibuffer-unary-operand): Add new function that transparently
+	handles 'not' formats for compound filters.
+	(ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
+	(ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
+	(ibuffer-decompose-filter): Handle 'and' as well,
+	and handle 'not' consistently with other uses.
+	(ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
+	(ibuffer--or-and-filter): New defun.
+	(ibuffer-or-filter, ibuffer-and-filter): Use it.
+	(ibuffer-format-qualifier): Handle 'and' filters as well.
+	(ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
+	(ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
+	(ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
+	Add new pre-defined filters.
+	(ibuffer-filter-chosen-by-completion): Add new interactive command
+	for easily choosing a filter from the descriptions.
+	* lisp/ibuffer.el (ibuffer-mode-map):
+	Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
+	ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
+	ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
+	respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
+	'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
+	'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
+	and '/ DEL' respectively.
+	* test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
+	skip specification.
+	Add menu entries for the new filters.
+	(ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
+	ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
+	ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
+	ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
+	ibuffer-decompose-filter, ibuffer-and-filter
+	ibuffer-or-filter): Add new tests; they are skipped unless
+	ibuf-ext is loaded.
+
+2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Update NEWS
+
+	* etc/NEWS (Image-Dired): New section.
+
+2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Recognize graphicsmagick in image-dired
+
+	* lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
+	(image-dired-cmd-create-thumbnail-options):
+	(image-dired-cmd-create-temp-image-program):
+	(image-dired-cmd-create-temp-image-options):
+	(image-dired-cmd-create-standard-thumbnail-options):
+	(image-dired-cmd-rotate-thumbnail-program):
+	(image-dired-cmd-rotate-thumbnail-options): Account for existence of
+	gm(1) executable.
+
+2016-12-20  Noam Postavsky  <npostavs@gmail.com>
+
+	Improve skeleton docstrings
+
+	* lisp/skeleton.el (skeleton-end-newline): Remove mention of
+	`skeleton-end-hook', its default code was moved into `skeleton-insert'.
+	(skeleton-insert): Mention `skeleton-end-newline' and move reference to
+	`skeleton-end-hook' above the explanation of skeleton syntax.
+
+2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Implement asynchronous thumbnail generation in image-dired
+
+	Additionally, all FOO-options defcustoms that were in fact shell command
+	strings have been converted to argument lists.  Another method for
+	shrinking PNG thumbs with optipng(1) has been added.
+	* lisp/image-dired.el: Remove TODO item in commentary.
+	(image-dired-cmd-create-thumbnail-options):
+	(image-dired-cmd-create-temp-image-options):
+	(image-dired-cmd-rotate-thumbnail-options):
+	(image-dired-cmd-rotate-original-options):
+	(image-dired-cmd-write-exif-data-options):
+	(image-dired-cmd-read-exif-data-options): Convert to argument lists.
+	(image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
+	Change string type to file.
+	(image-dired-cmd-create-standard-thumbnail-command): Remove.
+	(image-dired-cmd-pngnq-options):
+	(image-dired-cmd-create-standard-thumbnail-options):
+	(image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
+	New defcustoms.
+	(image-dired-queue, image-dired-queue-active-jobs):
+	(image-dired-queue-active-limit): New variables.
+	(image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
+	(image-dired-optipng-thumb): New functions.
+	(image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
+	Use start-process instead of call-process.  Set file modes.  Trigger
+	PNG file optimization in process sentinel.
+	(image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
+	(image-dired-display-thumbs):
+	(image-dired-create-thumbs): Don't expect call-process return value.
+	(image-dired-display-image, image-dired-rotate-thumbnail): Use
+	start-process instead of call-process.
+	(image-dired-rotate-original, image-dired-set-exif-data):
+	(image-dired-get-exif-data): Adapt to arguments being an arg list.
+
+2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
+
+	Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
+
+	* indent.c (restore_window_buffer): New function.
+	(Fvertical_motion): Use it to restore window's buffer.
+
+2016-12-19  Glenn Morris  <rgm@gnu.org>
+
+	Improve default load-path for uninstalled CANNOT_DUMP builds
+
+	* src/lread.c (load_path_default) [CANNOT_DUMP]:
+	Use build load-path if we seem to be running uninstalled.  (Bug#24974)
+	I think this became an issue several years ago when we stopped
+	using EMACSLOADPATH in the Makefiles; however this change should
+	improve the CANNOT_DUMP uninstalled case in general.
+
+2016-12-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'w32-scroll-lock-modifier'
+
+	* doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
+	w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
+
+	* src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
+	fix.  (Bug#25204)
+
+2016-12-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Document 'describe-fontset'
+
+	* doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
+	(Bug#25216)
+
+2016-12-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Document 'describe-fontset'
+
+	* doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
+	(Bug#25216)
+
+2016-12-19  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix crashes upon C-g on Posix TTY frames
+
+	* src/thread.h (struct thread_state): New member not_holding_lock.
+	(maybe_reacquire_global_lock): Add prototype.
+	* src/thread.c: Include syssignal.h.
+	(maybe_reacquire_global_lock): New function.
+	(really_call_select): Set the not_holding_lock member of the
+	thread state before releasing the lock, and rest it after
+	re-acquiring the lock when the select function returns.  Block
+	SIGINT while doing this to make sure we are not interrupted on TTY
+	frames.
+	* src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
+	functions.
+	* src/syssignal.h (block_interrupt_signal, restore_signal_mask):
+	Add prototypes.
+	* src/keyboard.c (read_char) [THREADS_ENABLED]: Call
+	maybe_reacquire_global_lock.  (Bug#25178)
+
+2016-12-19  Sam Steingold  <sds@gnu.org>
+
+	avoid Eager macro-expansion failure: (void-function string-to-list)
+
+	* loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
+	  in "mule-util", so we have to load "mule-util" before "ucs-normalize",
+	  otherwise I get "Eager macro-expansion failure" on "make bootstrap"
+
+2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#24980
+
+	* lisp/ido.el (ido-add-virtual-buffers-to-list):
+	Suppress Tramp invocation.  (Bug#24980)
+
+2016-12-18  Philipp Stephani  <phst@google.com>
+
+	Add a new compile error regexp for Clang includes
+
+	Clang uses a slight variation of GCC's include format, causing includes
+	to be treated as warnings instead of informational messages.  Use a new
+	regular expression instead.
+
+	* lisp/progmodes/compile.el
+	(compilation-error-regexp-alist-alist): New element
+	`clang-include' for Clang-style "included from" lines.
+	* test/lisp/progmodes/compile-tests.el
+	(compile-tests--test-regexps-data): Add unit test.
+
+2016-12-18  Alan Third  <alan@idiocy.org>
+
+	Reinstate ispell character offset (bug#25219)
+
+	* lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
+	ispell-offset used to be.
+
+2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Bind new image-mode scroll commands in image-dired
+
+	* lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
+	to new image-mode commands.
+
+2016-12-18  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix rx-any with range with ?\] and ?-
+
+	* lisp/emacs-lisp/rx.el: Make sure not to produce a circular
+	list (Bug#25123).
+	* test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
+
+2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Use floor of mtime instead of rounding for thumb property
+
+	This seems to be the correct thing to do, at least more in line with
+	what at least one other implementation does.  Anything using
+	gnome-desktop [0] effectively does the same, as
+	gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
+	comparison and time_t on GNU/Linux is a signed int.
+	[0] https://git.gnome.org/browse/gnome-desktop/
+	* lisp/image-dired.el (image-dired-create-thumb): Use floor here.
+
+2016-12-17  Reuben Thomas  <rrt@sc3d.org>
+
+	Fix spelling mistake in private defun name (Bug#25218)
+
+	lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
+	`flyspell-adjust-cursor-point'.
+
+2016-12-17  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove XEmacs support from flyspell.el (Bug#25218)
+
+	lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
+	(flyspell-word, flyspell-delete-region-overlays):
+	(flyspell-correct-word-before-point): Remove XEmacs support.
+	(flyspell-xemacs-popup): Remove XEmacs-specific defun.
+
+2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	More tests for Tramp
+
+	* lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
+	file names.
+
+	* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
+	name properly.
+
+	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
+	Mark quoted file name as absolute.  (Bug#25183)
+	(tramp--test-windows-nt-and-batch)
+	(tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
+	(tramp--test-windows-nt-or-smb-p): Rename from
+	`tramp--test-smb-windows-nt-p'.  Adapt callees.
+	(tramp--test-check-files): Improve checks for environment variables.
+	(tramp-test33-special-characters)
+	(tramp-test33-special-characters-with-stat)
+	(tramp-test33-special-characters-with-perl)
+	(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
+	(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
+	(tramp-test34-utf8-with-ls): Add more checks for skip.
+
+2016-12-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix comments
+
+	* src/thread.h (struct thread_state): Fix comments.
+	* src/process.c (wait_reading_process_output): Fix a typo in
+	commentary.
+
+2016-12-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Repair desktop restoration on text terminals
+
+	* lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
+	frame here, instead of in desktop-restoring-frameset.  That's
+	because desktop-read wants to know whether frameset will actually
+	be restored, and has fallback procedures up its sleeve when it
+	won't be; these fallbacks need to be invoked when the frameset is
+	not going to be restored.  (Bug#24298)
+
+2016-12-17  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix crashes on MS-Windows during dumping
+
+	* src/unexw32.c (get_section_info): Make extra_bss_size be the
+	maximum of extra_bss_size and extra_bss_size_static.  This avoids
+	computing the size of the output file smaller than it actually
+	needs to be, which then causes copy_executable_and_dump_data to
+	write beyond the requested size of the file mapping, thus relying
+	on the OS roundup to page boundary to save us from ourselves.  See
+	http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00642.html
+	for the details.
+
+	* lib/stdio-impl.h: Revert the workaround fix of not including
+	errno.h for MinGW.
+
+2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
+
+	Ignore forward-sexp-function in js-mode indentation code
+
+	* lisp/progmodes/js.el (js--multi-line-declaration-indentation)
+	(js--maybe-goto-declaration-keyword-end):
+	Bind forward-sexp-function to nil (bug#25215).
+
+2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Be more selective clearing the image cache
+
+	* lisp/image-dired.el (image-dired-create-thumbs):
+	(image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
+	the current thumbnail file from the image cache.
+
+2016-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Unbreak the MinGW build
+
+	* lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
+	this, temacs crashes while dumping.
+
+2016-12-16  Nicolas Petton  <nicolas@petton.fr>
+
+	Make seq-into return the sequence when no conversion needed
+
+	* lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
+	  no conversion is needed.
+	* test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
+	  a regression test checking for identity.
+
+2016-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve documentation of 'define-coding-system'
+
+	* lisp/international/mule.el (define-coding-system): Warn against
+	possible infinite recursion in pre-write-conversion and
+	post-read-conversion functions.  (Bug#25203)
+
+2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	New commands image-scroll-left and image-scroll-right
+
+	* etc/NEWS: Mention them.
+	* lisp/image-mode.el (image-scroll-left, image-scroll-right): New
+	functions.
+
+2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	More image-dired refactoring
+
+	* lisp/image-dired.el (image-dired-thumbnail-mode):
+	(image-dired-display-image-mode): Add :group 'image-dired so
+	customize-mode works.
+	(image-dired-display-image): Rearrange.
+	(image-dired-copy-with-exif-file-name): This map is for side effect.
+	(image-dired-dired-edit-comment-and-tags): Just use #'identity.
+
+2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/image-dired.el: Turn on lexical-binding.
+
+2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Teach image-dired to also generate large thumbs
+
+	* lisp/image-dired.el (image-dired-thumbnail-storage): Add
+	standard-large option.
+	(image-dired-thumb-size): Add condition for standard-large storage.
+	(image-dired-insert-thumbnail): Check for new option.  Change
+	thumbnail path conditionally.
+	(image-dired-thumb-size): New function.
+	(image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
+
+2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+
+	This incorporates:
+	2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
+	2016-12-12 fpending: port to native Windows with MSVC
+	* .gitignore: Do not ignore lib/stdio-impl.h.
+	* lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
+	Copy from gnulib.
+	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
+	* lib/stdio-impl.h:
+	New file, copied from gnulib.
+	* nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
+
+2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* emacs-document.svg: Append newline.
+
+2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Don't abuse princ and spam messages
+
+	* lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
+	(image-dired-display-thumb-properties):
+	(image-dired-dired-display-properties): Nix princ.  Bind
+	message-log-max to nil.
+
+2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Inherit things from special-mode and image-mode
+
+	* lisp/image-dired.el: Require image-mode library.
+	(image-dired-thumbnail-mode-map): Remove superfluous binding.
+	(image-dired-display-image-mode-map): Remove superfluous binding.
+	Add movement remaps from image-mode-map.
+	(image-dired-thumbnail-mode): Derive from special-mode.
+	(image-dired-display-image-mode): Derive from special-mode. Call
+	image-mode-setup-winprops.
+
+2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Fix some image-dired customization types
+
+	* lisp/image-dired.el (image-dired): Add info link to defgroup.
+	(image-dired-dir, image-dired-gallery-dir): Set type to directory.
+	(image-dired-db-file, image-dired-temp-image-file):
+	(image-dired-cmd-create-thumbnail-program):
+	(image-dired-cmd-create-temp-image-program):
+	(image-dired-cmd-rotate-thumbnail-program):
+	(image-dired-cmd-rotate-original-program):
+	(image-dired-temp-rotate-image-file):
+	(image-dired-cmd-write-exif-data-program):
+	(image-dired-cmd-read-exif-data-program): Set type to file.
+	(image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
+	type at runtime, since setting image-dired-thumb-size does not
+	automatically set image-dired-thumb-width and image-dired-thumb-height.
+
+2016-12-15  Eli Zaretskii  <eliz@gnu.org>
+
+	Prevent crashes in xg_select due to concurrency
+
+	* src/xgselect.c (xg_select): Don't call Glib functions that use
+	'context' if we failed to acquire it.  This means some other
+	thread owns the context, in which case both using the context and
+	calling block_input/unblock_input will step on that thread's toes
+	and eventually lead to crashes.  (Bug#25172)
+
+2016-12-15  Nicolas Petton  <nicolas@petton.fr>
+
+	Fix circular list handling in seq-mapn
+
+	* lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
+	* test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
+	  Add a regression test.
+
+2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
+
+	Check in tramp-tests.el, that environment variables are set correctly
+
+	* test/lisp/net/tramp-tests.el (tramp--test-check-files):
+	Check also, that environment variables are set correctly.
+
+2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
+
+	Protect environment variables with double quotes in Tramp
+
+	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
+	Protect environment variables with double quotes.
+
+2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
+
+	* lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
+
+2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
+
+2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
+
+	* lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
+
+2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Recognize pngnq or pngnq-s9
+
+	* lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
+	pngnq-s9 as a possible executable.
+
+2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Update standard image-dired thumbnail location
+
+	* lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
+	standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
+
+2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Reset window scroll when displaying an image
+
+	When viewing a large image full size and scrolling, for instance, to
+	the lower right corner, then selecting a much smaller image in the
+	thumbnail buffer, the window stays scrolled so the new image is out of
+	the window.  One must scroll back to the "origin" to view the new
+	displayed image, or just kill the image-dired-display-image buffer and
+	try again.  This fixes the issue.
+	* lisp/image-dired.el (image-dired-display-window-width):
+	(image-dired-display-window-height): Operate on a window as argument.
+	(image-dired-display-image): Bind (image-dired-display-window) and use
+	it. Set window vscroll and hscroll to zero when refreshing the
+	buffer's contents.
+
+2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
+
+	More image-dired polish
+
+	* lisp/image-dired.el (image-dired-file-name-at-point): New function.
+	(image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
+	undo list. Add image-dired-file-name-at-point to
+	file-name-at-point-functions to facilitate find-file and friends.
+	(image-dired-thumbnail-display-external):
+	(image-dired-dired-display-external): Use start-process instead, to
+	avoid needlessly blocking and using a shell.
+
+2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
+
+	Replace ldefs-boot with a much smaller file
+
+	 * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
+	   (bootstrap): Depend on bootstrap-build.
+	 * admin/ldefs-clean.el: New file.
+	 * lisp/Makefile.in (compile-first): Depend on loaddefs.el
+	 * lisp/ldefs-boot.el: Remove.
+	 * lisp/ldefs-boot-auto.el: New file.
+	 * lisp/ldefs-boot-manual.el: New file.
+	 * lisp/loadup.el: Load ldefs-boot-manual.el.
+	 * src/emacs.c (generating_ldefs_boot): New variable.
+	   (main): Check whether we are generating ldefs.
+	 * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
+	   requested.
+	 * src/lisp.h (generating_ldefs_boot): New variable.
+	 * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
+	   lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
+	   lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
+	   ldefs-boot.
+	 * admin/update_autogen: Alter mechanism for ldefs-boot generation.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove support for aspell < 0.60 (from 2004)
+
+	lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
+	(ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Minor docstring and comment fixes to ispell.el
+
+	lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
+	ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
+	(ispell-set-spellchecker-params): Change double-single quotes to
+	single single quotes in comment.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove unused variable
+
+	* lisp/textmodes/ispell.el (current-ispell-directory): Remove.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove XEmacs-specific ispell-with-no-warnings
+
+	* lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
+	defmacro, needed only for XEmacs.
+	(ispell-command-loop, ispell-message): Use with-no-warnings directly.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove meaningless defconst ispell-version
+
+	* lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
+	firmly part of Emacs, and the version hasn’t changed since 2003, and
+	isn’t used anywhere, remove it.  3rd-party code can better use the
+	Emacs version, or feature or function checks.
+	(ispell-check-version): No longer report ispell.el version.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove boundp test for always-bound symbol
+
+	* lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
+	defvar’d at the top of the file, so remove a test to see if it is
+	bound.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove support for ispell < 3.1.12
+
+	* lisp/textmodes/ispell.el (ispell-offset): Remove.
+	(ispell-check-version): Require ispell >= 3.1.12, released in 1994.
+	(ispell-process-line): No longer use ispell-offset.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove unused constant
+
+	* lisp/textmodes/ispell.el (ispell-required-version): Remove.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove support for old versions of supercite and GNUS from ispell.el
+
+	* lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
+	and GNUS >= 5.  Not exactly the bleeding edge!
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove remaining mentions of XEmacs from ispell.el
+
+	* lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
+	(ispell-add-per-file-word-list): Remove mentions of XEmacs from
+	comments.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove XEmacs-specific minibuffer handling code from ispell.el
+
+	* lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
+	XEmacs.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove XEmacs-specific horizontal scrollbar handling in ispell.el
+
+	* lisp/textmodes/ispell.el (ispell-command-loop): Remove
+	XEmacs-specific code.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove XEmacs-specific code dealing with enable-multibyte-characters
+
+	* lisp/textmodes/ispell.el (ispell-decode-string):
+	(ispell-init-process):  Remove XEmacs-specific guard.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove XEmacs-specific code from ispell.el
+
+	* lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
+	(ispell-menu-map-needed): Remove XEmacs-specific check.
+	(ispell-word): Remove XEmacs-specific extent code.
+	(ispell-init-process): Remove XEmacs workaround for local add-hook.
+	Assume we have set-process-query-on-exit-flag.
+	(ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
+	workaround for called-interactively-p.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove some commented-out code
+
+	lisp/textmodes/ispell.el (ispell-process)
+	ispell-valid-dictionary-list): Remove commented-out code.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove XEmacs and old Emacs highlighting code
+
+	* lisp/textmodes/ispell.el
+	(ispell-highlight-spelling-error-xemacs): Remove.
+	(ispell-highlight-spelling-error): Assume display-color-p exists.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Assume Emacs supports [:alpha:] in regexps
+
+	* lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
+	(ispell-set-spellchecker-params): Remove tests of
+	ispell-emacs-alpha-regexp.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove some XEmacs-specific code from ispell.el
+
+	* lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
+	(ispell-int-char): Remove.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Generalise over-specific documentation
+
+	* lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
+	document precise personal wordlist filenames for only two supported
+	spelling checkers, simply say that the default personal dictionary
+	depends on the chosen spelling checker.  The user can check the
+	spelling checker’s documentation if necessary.  This is simpler, and
+	works for other supported (and future, or unknown) spelling checkers.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove tests for built-in functions
+
+	* lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
+	back-up definition.
+	(ispell-add-per-file-word-list): Remove tests for comment-padright and
+	comment-normalize-vars.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove unused ispell-looking-back
+
+	* lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Assume we have version<= for checking ispell version
+
+	* lisp/textmodes/ispell.el (ispell-check-minver): Remove.
+	(ispell-check-version): Use version<= directly.
+
+2016-12-13  Reuben Thomas  <rrt@sc3d.org>
+
+	Remove ispell.el pre-GNU Emacs comments
+
+	* lisp/textmodes/ispell.el (Commentary): Remove original maintainer
+	  details, as Emacs version, bug report address and so forth should be
+	  used instead for this version.  Remove in-line change history; use
+	  git instead.
+
+2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	More small fixes for image-dired
+
+	* lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
+	node.
+	(image-dired--with-db-file): Add declare forms.
+	(image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
+	run through the whole list.
+
+2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Remove image-dired-kill-buffer-and-window
+
+	This breaks window layout, especially when quitting a
+	image-dired-display-image-mode buffer.
+	* lisp/image-dired.el (image-dired-thumbnail-mode-map):
+	(image-dired-display-image-mode-map): Replace in keymap and menu items
+	bindings to image-dired-kill-buffer-and-window with quit-window.
+	(image-dired-kill-buffer-and-window): Remove.
+
+2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
+
+	Replace image-dired-setup-dired-keybindings with a minor mode
+
+	* lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
+	remove mention of nonexistent image-dired-dired and to refer to the
+	new minor mode.
+	(image-dired-minor-mode-map): New keymap assimilated from
+	image-dired-setup-dired-keybindings.  In the future, the keymap parent
+	should be removed, and perhaps also the duplicate bindings that
+	already exist in dired-mode-map.
+	(image-dired-setup-dired-keybindings): Remove.  Replace with an
+	obsolete function alias.
+	(image-dired-minor-mode): New minor mode, assuming the role of
+	image-dired-setup-dired-keybindings.
+
+2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* test/src/regex-resources/PTESTS: Convert to UTF-8.
+
+2016-12-13  Noam Postavsky  <npostavs@gmail.com>
+
+	Clarify thread-signal semantics
+
+	* doc/lispref/threads.texi (Basic Thread Functions): Explain that the
+	thread will be signaled as soon as possible.
+
+2016-12-13  Noam Postavsky  <npostavs@gmail.com>
+
+	Clean up var watcher disabling on thread switching
+
+	* src/data.c (Fset_default): Move code into new C level function,
+	`set_default_internal'.
+	(set_default_internal): New function, like `Fset_default' but also takes
+	additional bindflag parameter.
+	(set_internal): Only call `notify_variable_watchers' if bindflag is not
+	SET_INTERNAL_THREAD_SWITCH.
+	* src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
+	passed on to set_internal and set_default_internal.  Adjust callers.
+	(rebind_for_thread_switch, unbind_for_thread_switch): Pass
+	SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
+	temporarily adjusting symbol's trapped_write field.
+
+2016-12-13  Glenn Morris  <rgm@gnu.org>
+
+	Minor fix for define-derived-mode
+
+	* lisp/emacs-lisp/derived.el (define-derived-mode):
+	Do not let eg eval-defun reset the values of syntax or abbrev tables,
+	since they might have been defined externally.  (Bug#16160)
+
+2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* build-aux/git-hooks/pre-commit: Add whitespace comment.
+
+2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
+
+	Move backtrace to ELisp using a new mapbacktrace primitive
+
+	* src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
+	(Fmapbacktrace, Fbacktrace_frame_internal): New functions.
+	(get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
+
+	* lisp/subr.el (backtrace--print-frame): New function.
+	(backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
+	(backtrace-frame): Reimplement using `backtrace-frame--internal'.
+
+	* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
+	`mapbacktrace' instead of searching for "(debug" in the output of
+	`backtrace'.
+
+	* test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
+	(subr-test-backtrace-integration-test): New tests.
+
+	* doc/lispref/debugging.texi (Internals of Debugger): Document
+	`mapbacktrace' and missing argument BASE of `backtrace-frame'.
+
+2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Use C99 syntax for font drivers
+
+	Problem reported by Daniel Colascione in:
+	http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00515.html
+	* src/ftcrfont.c (ftcrfont_driver):
+	* src/ftfont.c (ftfont_driver):
+	* src/ftxfont.c (ftxfont_driver):
+	* src/macfont.m (macfont_driver):
+	* src/nsfont.m (nsfont_driver):
+	* src/xfont.c (xfont_driver):
+	* src/xftfont.c (xftfont_driver):
+	Use C99 syntax, not the old GNU C syntax.
+
+2016-12-12  Glenn Morris  <rgm@gnu.org>
+
+	Obsolete gs.el
+
+	* lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
+	* doc/lispref/display.texi (Image Formats): Remove postscript.
+	(PostScript Images): Remove section.
+	* doc/lispref/elisp.texi: Update menu.
+
+2016-12-12  Glenn Morris  <rgm@gnu.org>
+
+	Un-revert recent Ffset change
+
+	* src/data.c (Ffset): Reinstate the check for "nil".
+
+2016-12-12  Glenn Morris  <rgm@gnu.org>
+
+	Minor advice.el fix
+
+	* lisp/emacs-lisp/advice.el (ad-preactivate-advice):
+	Avoid setting the function definition of nil.
+	This was happening during bootstrap of org-compat.el,
+	apparently due to eager macro expansion of code behind
+	a (featurep 'xemacs) test.
+
+2016-12-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Make etags-tests work in out-of-tree builds
+
+	* test/lisp/progmodes/etags-tests.el (etags-bug-158)
+	(etags-bug-23164): Make them work in an out-of-tree build.
+	Reported by Ken Brown <kbrown@cornell.edu>.
+
+2016-12-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid crashing if a new thread is signaled right away
+
+	* src/thread.c (post_acquire_global_lock): Don't raise the pending
+	signal if the thread's handlers were not yet set up, as that will
+	cause Emacs to exit with a fatal error.  This can happen if a
+	thread is signaled as soon as make-thread returns, before the new
+	thread had an opportunity to acquire the global lock, set up the
+	handlers, and call the thread function.
+
+	* test/src/thread-tests.el (thread-signal-early): New test.
+
+2016-12-12  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix point motion in cloned buffers
+
+	* src/thread.c (post_acquire_global_lock): Call
+	set_buffer_internal_2 instead of tricking set_buffer_internal_1
+	into resetting the current buffer even if it didn't change.  This
+	avoids bug#25165, caused by failing to record the modified values
+	of point and mark, because current_buffer was set to NULL.  Also,
+	don't bother re-setting the buffer if there was no thread switch,
+	as that just wastes cycles.
+	* src/buffer.c (set_buffer_internal_2): New function, with most of
+	the body of set_buffer_internal_1, but without the test for B
+	being identical to the current buffer.
+	(set_buffer_internal_1): Call set_buffer_internal_2 if B is not
+	identical to the current buffer.
+	* src/buffer.h (set_buffer_internal_2): Add prototype.
+
+	* test/src/thread-tests.el (thread-sticky-point): New test.
+
+2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
+
+	Further improvements in Tramp's file name unquoting
+
+	* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
+	(tramp-adb-handle-write-region): Unquote localname.
+	(tramp-adb-handle-copy-file): Implement direct copy on remote device.
+	(tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
+
+	* lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
+	(tramp-handle-file-name-case-insensitive-p):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
+	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
+	(tramp-gvfs-maybe-open-connection):
+	* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
+	* lisp/net/tramp-smb.el (tramp-smb-get-share)
+	(tramp-smb-get-localname): Use it.
+
+	* test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
+	(tramp--test-special-characters, tramp-test34-utf8)
+	(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
+	(tramp-test34-utf8-with-ls): Use it.
+
+2016-12-12  Martin Rudalics  <rudalics@gmx.at>
+
+	Strengthen conditions for resizing sibling windows (Bug#25169)
+
+	* lisp/window.el (window-resize, delete-window): Resize other siblings
+	only if `window-combination-resize' equals t (Bug#25169).
+
+2016-12-12  Noam Postavsky  <npostavs@gmail.com>
+
+	Quote filenames containing '~' in prompts
+
+	When in a directory named '~', the default value given by
+	`read-file-name' should be quoted by prepending '/:', in order to
+	prevent it from being interpreted as referring to the $HOME
+	directory (Bug#16984).
+
+	* lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
+	(completion--sifn-requote, read-file-name-default): Use it instead of
+	`minibuffer--double-dollars'.
+	* test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
+
+2016-12-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Undo part of last change
+
+	* src/thread.h:
+	* src/keyboard.c:
+	* src/keyboard.h: Undo part of last change:
+	input_available_clear_time is again a global variable.
+
+2016-12-11  Eli Zaretskii  <eliz@gnu.org>
+
+	Avoid aborts when a thread signals an error
+
+	* src/thread.h (struct thread_state): Add members
+	m_waiting_for_input and m_input_available_clear_time.
+	(waiting_for_input, input_available_clear_time): New macros.
+	* src/keyboard.c (waiting_for_input, input_available_clear_time):
+	Remove; they are now macros that reference the current thread.
+	(Bug#25171)
+	* src/w32select.c: Don't include keyboard.h.
+
+	* test/src/thread-tests.el (thread-errors): New test.
+
+2016-12-11  Philipp Stephani  <phst@google.com>
+
+	Clean up compile-tests.el
+
+	Switch to lexical binding.  Make checkdoc happy.
+
+	* test/lisp/progmodes/compile-tests.el (compile--test-error-line)
+	(compile-test-error-regexps): Instead of checking a single Boolean
+	value, use `should' for each attribute of the message to be compared.
+	(compile-tests--test-regexps-data): Document sixth list element
+	TYPE.
+
+2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix Bug#25162
+
+	* doc/emacs/files.texi (Reverting): Document
+	auto-revert-remote-files and auto-revert-verbose.
+
+	* lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
+	(auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Fix a typo in define-abbrev-table
+
+	* lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Improve previous cperl-mode change
+
+	* lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
+	Improve previous change.
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Mark default cperl abbrevs as system ones
+
+	* lisp/progmodes/cperl-mode.el (cperl-mode):
+	Mark our abbrevs as system ones.  (Bug#10934)
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Revert earlier Ffset change
+
+	* src/data.c (Ffset): Allow nil again, since it caused
+	eager macro-expansion failures.
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Tweaks for message bogus address detection
+
+	* lisp/gnus/message.el (message-bogus-recipient-p):
+	Do not require "@", since some mailers deliver to local addresses
+	without one.  (Bug#23054)
+	Move "@.*@" from here...
+	(message-bogus-addresses): ...to here, so it can be customized.
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Do not allow nil to be defined as a function
+
+	* lisp/emacs-lisp/byte-run.el (defun):
+	* src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Bump makeinfo requirement from 4.7 to 4.13
+
+	* configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
+	We need at least 4.8, and that may be buggy, so go for the last
+	of the 4 series, which is 8 years old.  (Bug#25108)
+
+2016-12-11  Glenn Morris  <rgm@gnu.org>
+
+	Fixes related to select-enable-clipboard
+
+	* lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
+	(clipboard-kill-region):
+	* lisp/eshell/esh-io.el (eshell-virtual-targets)
+	(eshell-clipboard-append):
+	Replace option gui-select-enable-clipboard with
+	select-enable-clipboard; renamed October 2014.  (Bug#25145)
+
+2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
+
+	Add some sanity checking of defun arglist
+
+	* lisp/emacs-lisp/byte-run.el (defun):
+	Check for malformed argument lists.  (Bug#15715)
+
+2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
+
+	Minor shell-mode fix for zsh
+
+	* lisp/shell.el (shell-mode): Prevent shell-dirstack-query
+	becoming confused by zsh abbreviations.  (Bug#24632)
+
+2016-12-10  Noam Postavsky  <npostavs@gmail.com>
+
+	Define struct predicate before acccesors
+
+	The accessor functions use the predicate function, which causes problems
+	when reloading after unload-feature: the compiler-macro property is
+	still present on the predicate symbol, and the compiler fails to find
+	the definition when trying to inline it into the accessor
+	function (Bug#25088).
+
+	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
+	before field accessor definitions.
+
+2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
+	system unit file.
+
+2016-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Support concurrency in Emacs Lisp
+
+	Merge branch 'test-concurrency'
+
+	* src/thread.c:
+	* src/thread.h:
+	* src/systhread.c:
+	* src/systhread.h: New files.
+	* src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
+	xnmalloc unconditionally.
+	* src/window.c (struct save_window_data): Rename current_buffer to
+	f_current_buffer.
+	* src/w32proc.c (sys_select): Change the function signature to
+	closer fit 'pselect' on Posix hosts.
+	* src/search.c:
+	* src/regex.h: Convert some globals to macros that reference
+	thread-specific values.
+	* src/process.c (pset_thread, add_non_keyboard_read_fd)
+	(add_process_read_fd, add_non_blocking_write_fd)
+	(recompute_input_desc, compute_input_wait_mask)
+	(compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
+	(compute_write_mask, clear_waiting_thread_info)
+	(update_processes_for_thread_death, Fset_process_thread)
+	(Fprocess_thread): New functions.
+	(enum fd_bits): New enumeration.
+	(fd_callback_data): Add 'thread' and 'waiting_thread', rename
+	'condition' to 'flags'.
+	(set_process_filter_masks, create_process, create_pty)
+	(Fmake_serial_process, finish_after_tls_connection)
+	(connect_network_socket, deactivate_process)
+	(server_accept_connection, wait_reading_process_output)
+	(Fcontinue_process, Fstop_process, keyboard_bit_set)
+	(add_timer_wait_descriptor, add_keyboard_wait_descriptor)
+	(delete_keyboard_wait_descriptor): Use the new functions instead
+	of manipulating fd flags and masks directly.
+	(syms_of_process): Defsubr the new primitives.
+	* src/print.c (print_object): Print threads, mutexes, and
+	conditional variables.
+	* src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
+	and PVEC_CONDVAR.
+	(XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
+	(CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
+	(XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
+	(struct handler): Add back byte_stack.  Rename lisp_eval_depth to
+	f_lisp_eval_depth.
+	* src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
+	(rebind_for_thread_switch, do_one_unbind)
+	(unbind_for_thread_switch): New functions.
+	(init_eval): 'handlerlist' is not malloc'ed.
+	(specbind): Call do_specbind.
+	(unbind_to): Call do_one_unbind.
+	(mark_specpdl): Accept 2 arguments.
+	(mark_specpdl): Mark the saved value in a let-binding.
+	* src/emacs.c (main): Call init_threads_once, init_threads, and
+	syms_of_threads.
+	* src/data.c (Ftype_of): Support thread, mutex, and condvar
+	objects.
+	(Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
+	(syms_of_data): DEFSYM and defsubr new symbols and primitives.
+	* src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
+	(BYTE_CODE_QUIT): Add back.
+	(exec_byte_code): Add back byte stack manipulation.
+	* src/alloc.c (cleanup_vector): Handle threads, mutexes, and
+	conditional variables.
+	(mark_stack): Now extern; accept additional argument 'bottom'.
+	(flush_stack_call_func): New function.
+	(garbage_collect_1): Call mark_threads and unmark_threads.  Don't
+	mark handlers.
+	* src/.gdbinit (xbytecode): Add back.
+
+	* test/src/thread-tests.el: New tests.
+	* test/src/data-tests.el (binding-test-manual)
+	(binding-test-setq-default, binding-test-makunbound)
+	(binding-test-defvar-bool, binding-test-defvar-int)
+	(binding-test-set-constant-t, binding-test-set-constant-nil)
+	(binding-test-set-constant-keyword)
+	(binding-test-set-constant-nil): New tests.
+
+	* doc/lispref/processes.texi (Processes and Threads): New
+	subsection.
+	* doc/lispref/threads.texi: New file
+	* doc/lispref/elisp.texi (Top): Include it.
+	* doc/lispref/objects.texi (Thread Type, Mutex Type)
+	(Condition Variable Type): New subsections.
+	(Type Predicates): Add thread-related predicates.
+	* doc/lispref/objects.texi (Editing Types):
+	* doc/lispref/elisp.texi (Top): Update higher-level menus.
+
+	* etc/NEWS: Mention concurrency features.
+
+2016-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix error messages in thread.c
+
+	* src/thread.c (lisp_mutex_unlock, Fcondition_wait)
+	(Fcondition_notify, Fthread_join): Fix error messages.
+
+2016-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve doc strings in thread.c
+
+	* src/thread.c (Fmake_condition_variable, Fcondition_wait)
+	(Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
+	(Fthread_join, Fall_threads): Doc fixes.
+
+2016-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix building with check-lisp-object-type
+
+	* src/thread.c (mark_one_thread): Use NILP to compare with
+	m_saved_last_thing_searched, which is a Lisp object.  Reported by
+	Andreas Politz <politza@hochschule-trier.de>.
+
+2016-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+	Documentation and commentary improvements
+
+	* src/lisp.h:
+	* src/regex.c:
+	* src/xgselect.c (xg_select): Improve commentary and formatting.
+
+	* doc/lispref/objects.texi (Thread Type, Mutex Type)
+	(Condition Variable Type): New subsections.
+	(Type Predicates): Add thread-related predicates.
+	* doc/lispref/objects.texi (Editing Types):
+	* doc/lispref/elisp.texi (Top): Update higher-level menus.
+
+2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
+
+	Fix further problems with quoted file names in Tramp
+
+	* lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
+	(tramp-unquote-name): Move defsubst ...
+	* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
+	(tramp-compat-file-name-quote)
+	(tramp-compat-file-name-unquote): ... here. Adapt callees.
+
+	* lisp/net/tramp-cache.el (tramp-flush-file-property)
+	(tramp-flush-directory-property):
+	* lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
+	* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
+	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
+	(tramp-smb-handle-substitute-in-file-name)
+	(tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
+
+2016-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+	*src/sysdep.c: Fix a comment.
+
+2016-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation error on Fedora 24
+
+	* src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
+	Reported by Paul Eggert <eggert@cs.ucla.edu>.
+
+2016-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation warnings due to prototype of thread_select
+
+	* src/thread.h <int select_func>: Make the 5th and 6th arguments
+	be 'const'.
+	* src/process.c [WINDOWSNT]:
+	* src/w32proc.c: Make the 5th and 6th argument to sys_select be
+	'const'.
+
+2016-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation on Debian GNU/Linux
+
+	* src/thread.h: Include sys/types.h, for ssize_t that regex.h
+	uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
+
+2016-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix subtle errors with let-binding of localized variables
+
+	* src/eval.c (do_specbind): Don't require a "symbol" that is
+	actually a cons cell, in order to call set-default, as there are
+	no longer such bindings.  This makes do_specbind work like the
+	pre-concurrency implementation in specbind for bindings of
+	forwarded symbols.  Use specpdl_kind to access the type of the
+	binding.
+	(specpdl_kind): New function.
+
+2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
+
+	Document file-name-quote, file-name-unquote and file-name-quoted-p
+
+	* doc/lispref/files.texi (File Name Expansion):
+	* etc/NEWS: Mention file-name-quote, file-name-unquote and
+	file-name-quoted-p.
+
+	* lisp/files.el (file-name-non-special): Revert using
+	file-name-quote, file-name-unquote and file-name-quoted-p.
+
+2016-12-09  Noam Postavsky  <npostavs@gmail.com>
+
+	Fix bad quoting of python-shell-interpreter
+
+	`python-shell-calculate-command' was using `shell-quote-argument' as if
+	it was generating a shell command, but its callers don't pass the result
+	to a shell, and they expect to parse it with `split-string-and-unquote'.
+	This caused problems depending on the flavor of shell quoting in
+	effect (Bug#25025).
+
+	* lisp/progmodes/python.el (python-shell-calculate-command): Use
+	`combine-and-quote-strings' to quote the interpreter, so that it can be
+	parsed by `python-shell-make-comint' successfully using
+	`split-string-and-unquote'.
+
+2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/lisp.h (struct terminal): Remove unnecessary forward decl.
+
+2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Make read1 more reentrant
+
+	This is needed if ‘read’ is called soon after startup, before the
+	Unicode tables have been set up, and it reads a \N escape and
+	needs to look up a value the Unicode tables, a lookup that in turn
+	calls read1 recursively.  Although this change doesn’t make ‘read’
+	fully reentrant, it’s good enough to handle this case.
+	* src/lread.c (read_buffer_size, read_buffer): Remove static vars.
+	(grow_read_buffer): Revamp to use locals, not statics, and to
+	record memory allocation un the specpdl.  All callers changed.
+	(read1): Start with a stack-based buffer, and use the heap
+	only if the stack buffer is too small.  Use unbind_to to
+	free any heap buffer allocated.  Use bool for boolean.
+	Redo symbol loop so that only one call to grow_read_buffer
+	is needed.
+	(init_obarray): Remove no-longer-needed initialization.
+
+2016-12-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation warnings
+
+	* src/thread.c (Fmake_thread): Call emacs_abort, to avoid
+	compilation warning.
+
+2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix unlikely substitute-command-keys memory leak
+
+	* src/doc.c (Fsubstitute_command_keys):
+	Free buffer when unwinding.
+
+2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
+
+	Add file-name-quoted-p, file-name-quote, file-name-unquote
+
+	* lisp/files.el (file-name-quoted-p, file-name-quote)
+	(file-name-unquote): New defsubst.
+	(find-file--read-only, find-file-noselect)
+	(file-name-non-special): Use them.
+
+2016-12-08  Eli Zaretskii  <eliz@gnu.org>
+
+	Add a NEWS entry.
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Minor fix for symbol-file
+
+	* lisp/subr.el (symbol-file): Avoid false matches with "require"
+	elements in load-history.  (Bug#25109)
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Doc fix for vc-git
+
+	* lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
+
+2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix Bug#24962
+
+	* lisp/buff-menu.el (list-buffers--refresh):
+	List buffers with name starting with " " if they visit a file.
+	* test/lisp/buff-menu-tests.el (buff-menu-24962):
+	Update test result as pass.
+
+2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
+
+	ediff-fixup-patch-map: Improve prompt
+
+	* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
+	Make clear in the prompt when we are applying a multi patch.
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Retain message logging in map-y-or-n-p
+
+	* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
+	Stop disabling logging to Messages buffer.  (Bug#13326)
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Doc fix for recent change
+
+	* lisp/simple.el (region-modifiable-p): Doc fix.
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Quieten make-dist default operation
+
+	* make-dist: Add --verbose option.  Default to quieter operation.
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Further improve make-dist checking
+
+	* make-dist: Print status messages when checking.
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Improve previous make-dist change
+
+	* make-dist: Let make check the info files more thoroughly.
+
+2016-12-08  Glenn Morris  <rgm@gnu.org>
+
+	Make make-dist --snapshot do some sanity checks
+
+	* make-dist: Snapshot mode no longer disables checks.
+	Checks now includes checks for freshness.  (Bug#25084)
+	Checks now exits with an error if problems were found.
+
+2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
+
+	Fix regression introduced by commit 7b1e97f
+
+	* lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
+	of cadr; required after commit 20f5a5b.
+
+2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Put post-25 ChangeLog entries into ChangeLog.3
+
+	* ChangeLog.2: Copy from emacs-25 branch.
+	* ChangeLog.3: New file, with changes only in master.
+	* Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
+
+2016-12-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix network streams.
+
+	The original code messed up flags in fd_callback_data[], and also
+	didn't call add_process_read_fd for process-related file descriptors.
+
+2016-12-07  Eli Zaretskii  <eliz@gnu.org>
+
+	Minimize spurious diffs from master.
+
+2016-12-06  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the test suite
+
+	* test/automated/bindings.el: Contents moved to
+	test/src/data-tests.el.
+	* test/automated/threads.el: Moved to test/src/thread-tests.el.
+
+2016-12-06  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix a typo in bytecode.c.
+
+2016-12-05  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix compilation problems.
+
+	Fix merged code in process.c and eval.c.
+
+2016-12-04  Eli Zaretskii  <eliz@gnu.org>
+
+	Merge branch 'concurrency'
+
+	Conflicts (resolved):
+		configure.ac
+		src/Makefile.in
+		src/alloc.c
+		src/bytecode.c
+		src/emacs.c
+		src/eval.c
+		src/lisp.h
+		src/process.c
+		src/regex.c
+		src/regex.h
+
+2015-11-02  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix the MS-Windows build
+
+	* src/thread.h [WINDOWSNT]: Include sys/socket.h.
+
+	* src/sysselect.h: Don't define fd_set and FD_* macros for
+	MS-Windows here.
+	* src/w32.h: Define them here.
+
+	* src/process.h (sys_select): Declare prototype.
+
+	* src/sysdep.c:
+	* src/process.c:
+	* src/filelock.c:
+	* src/emacs.c:
+	* src/callproc.c: Move inclusion of sys/select.h after lisp.h.
+	* nt/inc/socket.h: Include w32.h instead of sysselect.h
+
+2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
+
+	merge from trunk
+
+2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
+
+	* src/eval.c (unbind_for_thread_switch): Fix iteration over the
+	specpdl stack.
+
+2013-10-18  Tom Tromey  <tromey@redhat.com>
+
+	change condition-variablep to condition-variable-p
+
+2013-09-01  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix crashes when unbind_for_thread_switch signals an error.
+
+	 src/eval.c (unbind_for_thread_switch): Accept a 'struct
+	 thread_state *' argument and use specpdl_ptr and specpdl of that
+	 thread.  Fixes crashes if find_symbol_value signals an error.
+	 src/thread.c (post_acquire_global_lock): Update current_thread
+	 before calling unbind_for_thread_switch.  Pass the previous thread
+	 to unbind_for_thread_switch.
+
+2013-08-31  Eli Zaretskii  <eliz@gnu.org>
+
+	Improve MS-Windows implementation of threads.
+
+	 src/systhread.c (sys_cond_init): Set the 'initialized' member to
+	 true only if initialization is successful.  Initialize wait_count
+	 and wait_count_lock.
+	 (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
+	 'initialized' is false, do nothing.
+	 (sys_cond_wait): Fix the implementation to avoid the "missed
+	 wakeup" bug: count the waiting threads, and reset the broadcast
+	 event once the last thread was released.
+	 (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
+	 PulseEvent.  Don't signal the event if no threads are waiting.
+	 (sys_cond_destroy): Only close non-NULL handles.
+	 (sys_thread_create): Return zero if unsuccessful, 1 if successful.
+	 src/systhread.h (w32thread_cond_t): New member 'initialized'.
+	 Rename waiters_count and waiters_count_lock to wait_count and
+	 wait_count_lock, respectively.
+
+2013-08-30  Eli Zaretskii  <eliz@gnu.org>
+
+	Enable thread support in the MS-Windows build.
+
+	 src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
+	 (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
+	 src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
+	 (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
+	 (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
+	 (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
+	 (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
+
+	 configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
+	 if pthreads is not available.
+
+2013-08-27  Tom Tromey  <tromey@redhat.com>
+
+	use condition-notify in the docs, not condition-signal
+
+	zap until-condition docs
+
+	zap until-condition
+
+	rename thread-blocker to thread--blocker
+
+	remove binding_symbol
+
+	fix style of threadp, mutexp, and condition-variable-p
+
+	make thread_check_current_buffer return bool
+
+	add a comment before flush_stack_call_func
+
+	fix whitespace_regexp warning
+
+2013-08-26  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix MS-Windows build.
+
+	 src/callproc.c:
+	 src/emacs.c:
+	 src/filelock.c:
+	 src/process.c:
+	 src/sysdep.c:
+	 src/w32.c: Reshuffle Windows-specific headers to avoid errors with
+	 redefinition of fd_set etc.
+	 src/process.c: Don't use num_pending_connects when
+	 NON_BLOCKING_CONNECT is not defined.
+	 src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
+	 here from w32.h.
+	 src/w32proc.c (sys_select): Adjust the argument types to what
+	 thread.h expects.
+
+	 nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
+	 of w32.h.
+
+2013-08-26  Tom Tromey  <tromey@redhat.com>
+
+	use record_unwind_protect_void, avoid warning
+
+	implement --enable-threads and a thread-less mode
+
+2013-08-25  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2013-08-20  Tom Tromey  <tromey@redhat.com>
+
+	fix up some merge errors in process.c
+
+	remove a dead function
+	clean up a fixme I added in create_pty during the merge
+
+2013-08-20  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2013-07-26  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2013-07-13  Tom Tromey  <tromey@redhat.com>
+
+	Merge from trunk
+
+2013-07-12  Tom Tromey  <tromey@redhat.com>
+
+	Use thread_alive_p in a couple more spots
+
+2013-07-07  Tom Tromey  <tromey@redhat.com>
+
+	fix xfree bug in run_thread
+
+	this fixes run_thread to account for the dummy slot
+	in specpdl
+
+2013-07-07  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+	this merges frmo trunk and fixes various build issues.
+	this needed a few ugly tweaks.
+	this hangs in "make check" now
+
+2013-07-06  Tom Tromey  <tromey@redhat.com>
+
+	add assertion to flush_stack_call_func
+
+	functions called via flush_stack_call_func are assumed
+	to return with the global lock held again, and with
+	current_thread reset.  this assertion verifies part of this
+
+2013-07-06  Tom Tromey  <tromey@redhat.com>
+
+	call init_primary_thread from init_threads
+
+2013-07-05  Tom Tromey  <tromey@redhat.com>
+
+	avoid SAFE_ALLOCA
+
+	avoid SAFE_ALLOCA in xgselect.c.
+	in this code it is just as easy to always use malloc;
+	and it avoids thread-switching problems, as the safe-alloca
+	stuff implicitly refers to the current thread
+
+2013-07-05  Tom Tromey  <tromey@redhat.com>
+
+	avoid current_thread sometimes
+
+	this tweaks thread.c to use 'self' instead of current_thread
+	in a couple spots.  this is clearer and more robust
+
+2013-07-05  Tom Tromey  <tromey@redhat.com>
+
+	initialize saved_value
+
+	initialize the saved_value field in all needed cases
+	also, add an assertion to do_one_unbind
+
+2013-07-04  Tom Tromey  <tromey@redhat.com>
+
+	fix buglet in test case
+
+2013-07-04  Tom Tromey  <tromey@redhat.com>
+
+	unlink thread later
+
+	unlink thread from global list later
+	also remove some unnecessary destruction code
+
+2013-07-04  Tom Tromey  <tromey@redhat.com>
+
+	introduce thread_alive_p macro
+
+	This introduces the thread_alive_p macro and changes
+	thread-alive-p to use it.  This is a minor cleanup.
+	It also changes all-threads to ignore dead threads.
+
+2013-07-03  Tom Tromey  <tromey@redhat.com>
+
+	Don't call unbind_for_thread_switch in run_thread
+
+	This removes the call to unbind_for_thread_switch from run_thread.
+	This isn't necessary because acquire_global_lock does it properly.
+
+2013-07-03  Tom Tromey  <tromey@redhat.com>
+
+	remove unused field from struct thread_state
+
+	Fix a comment.
+
+2013-06-13  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2013-06-06  Tom Tromey  <tromey@redhat.com>
+
+	fix a few latent issues in the thread patch
+
+	* we called unbind_for_thread_switch unconditionally, but this
+	  is wrong if the previous thread exited
+	* likewise, exiting a thread should clear current_thread
+	* redundant assignment in run_thread
+	* clean up init_threads - no need to re-init the primary thread
+
+	This patch still sometimes causes weird hangs in "make check".
+	However, I think that is a kernel bug, since Emacs enters the zombie
+	state but its parent process hangs in wait.  This shouldn't happen.
+
+2013-06-04  Tom Tromey  <tromey@redhat.com>
+
+	update eval.c to make it build again after the merge
+
+2013-06-03  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk; clean up some issues
+
+2013-03-18  Tom Tromey  <tromey@redhat.com>
+
+	don't let kill-buffer kill a buffer if it is current in any thread
+
+2013-03-18  Tom Tromey  <tromey@redhat.com>
+
+	fix process bugs
+
+	Fix some process-related bugs, mostly thinkos from the conversion to
+	recording fd state as flags.
+	This now passes the test suite without hanging.
+
+2013-03-17  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2013-03-08  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2013-01-16  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2013-01-06  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+2012-12-23  Tom Tromey  <tromey@redhat.com>
+
+	mention let bindings and lack of other ways to rewind
+
+2012-12-17  Tom Tromey  <tromey@redhat.com>
+
+	Remove bit accidentally left over from the merge
+
+	merge from trunk
+
+2012-09-04  Tom Tromey  <tromey@redhat.com>
+
+	merge from trunk
+
+	link from thread docs to match data
+
+2012-08-27  Tom Tromey  <tromey@redhat.com>
+
+	cannot thread-join the current thread
+
+	fix test suite for condition-variable-p name change
+
+	add tests for variable bindings
+
+2012-08-25  Tom Tromey  <tromey@redhat.com>
+
+	minor update to thread-join docs
+
+2012-08-24  Tom Tromey  <tromey@redhat.com>
+
+	minor documentation updates
+
+2012-08-23  Tom Tromey  <tromey@redhat.com>
+
+	document until-condition
+
+	first draft of threads documentation
+
+	rename condition-variablep to condition-variable-p
+
+	document process-thread and set-process-thread
+
+2012-08-20  Tom Tromey  <tromey@redhat.com>
+
+	pass the thread name to the OS if possible
+
+	use prctl to pass the thread name to the OS, if possible
+
+2012-08-20  Tom Tromey  <tromey@redhat.com>
+
+	add convenience macros with-mutex and until-condition
+
+	with-mutex is a safe way to run some code with a mutex held.
+	until-condition is a safe way to wait on a condition variable.
+
+2012-08-20  Tom Tromey  <tromey@redhat.com>
+
+	Merge from trunk
+
+2012-08-19  Tom Tromey  <tromey@redhat.com>
+
+	another docstring fixlet
+
+	minor docstring fixup
+
+	add condition-mutex and condition-name
+
+	ensure name of a thread is a string
+
+	ensure name of a mutex is a string
+
+	use NILP
+
+2012-08-19  Tom Tromey  <tromey@redhat.com>
+
+	condition variables
+
+	This implements condition variables for elisp.
+	This needs more tests.
+
+2012-08-19  Tom Tromey  <tromey@redhat.com>
+
+	comment fixes
+
+2012-08-19  Tom Tromey  <tromey@redhat.com>
+
+	refactor systhread.h
+
+	This refactors systhread.h to move the notion of a "lisp mutex"
+	into thread.c.  This lets us make make the global lock and
+	post_acquire_global_lock static.
+
+2012-08-17  Tom Tromey  <tromey@redhat.com>
+
+	write docstrings for the thread functions
+
+	declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	add test case for I/O switching
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	process changes
+
+	This changes wait_reading_process_output to handle threads better.  It
+	introduces a wrapper for select that releases the global lock, and it
+	ensures that only a single thread can select a given file descriptor
+	at a time.
+
+	This also adds the thread-locking feature to processes.  By default a
+	process can only have its output accepted by the thread that created
+	it.  This can be changed using set-process-thread.  (If the thread
+	exits, the process is again available for waiting by any thread.)
+
+	Note that thread-signal will not currently interrupt a thread blocked
+	on select.  I'll fix this later.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	Prepare process.c for threads by not having global select masks.
+	The next step is to make it so selects can choose fds by thread.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	fix a latent bug in process.c
+
+		* process.c (wait_reading_process_output): Check Writeok bits,
+		not write_mask.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This adds thread-blocker, a function to examine what a thread is
+	blocked on.  I thought this would be another nice debugging addition.
+
+	This adds names to mutexes.  This seemed like a nice debugging
+	extension.
+
+	This adds some tests of the threading code.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This supplies the mutex implementation for Emacs Lisp.
+
+	A lisp mutex is implemented using a condition variable, so that we can
+	interrupt a mutex-lock operation by calling thread-signal on the
+	blocking thread.  I did things this way because pthread_mutex_lock
+	can't readily be interrupted.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This adds most of the thread features visible to emacs lisp.
+
+	I roughly followed the Bordeaux threads API:
+
+	http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
+
+	... but not identically.  In particular I chose not to implement
+	interrupt-thread or destroy-thread, but instead a thread-signalling
+	approach.
+
+	I'm still undecided about *default-special-bindings* (which I did not
+	implement).  I think it would be more emacs-like to capture the let
+	bindings at make-thread time, but IIRC Stefan didn't like this idea
+	the first time around.
+
+	There are one or two semantics issues pointed out in the patch where I
+	could use some advice.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This turns thread_state into a pseudovector and updates various bits
+	of Emacs to cope.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This introduces some new functions to handle the specpdl.  The basic
+	idea is that when a thread loses the interpreter lock, it will unbind
+	the bindings it has put in place.  Then when a thread acquires the
+	lock, it will restore its bindings.
+
+	This code reuses an existing empty slot in struct specbinding to store
+	the current value when the thread is "swapped out".
+
+	This approach performs worse than my previously planned approach.
+	However, it was one I could implement with minimal time and
+	brainpower.  I hope that perhaps someone else could improve the code
+	once it is in.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This introduces the low-level system threading support.  It also adds
+	the global lock.  The low-level support is a bit over-eager, in that
+	even at the end of the present series, it will not all be used.  I
+	think thiat is ok since I plan to use it all eventually -- in
+	particular for the emacs lisp mutex implementation.
+
+	I've only implemented the pthreads-based version.  I think it should
+	be relatively clear how to port this to other systems, though.
+
+	I'd also like to do a "no threads" port that will turn most things
+	into no-ops, and have thread-creation fail.  I was thinking perhaps
+	I'd make a future (provide 'threads) conditional on threads actually
+	working.
+
+	One other minor enhancement available here is to make it possible to
+	set the name of the new thread at the OS layer.  That way gdb, e.g.,
+	could display thread names.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This parameterizes the GC a bit to make it thread-ready.
+
+	The basic idea is that whenever a thread "exits lisp" -- that is,
+	releases the global lock in favor of another thread -- it must save
+	its stack boundaries in the thread object.  This way the boundaries
+	are always available for marking.  This is the purpose of
+	flush_stack_call_func.
+
+	I haven't tested this under all the possible GC configurations.
+	There is a new FIXME in a spot that i didn't convert.
+
+	Arguably all_threads should go in the previous patch.
+
+2012-08-15  Tom Tromey  <tromey@redhat.com>
+
+	This introduces a thread-state object and moves various C globals
+	there.  It also introduces #defines for these globals to avoid a
+	monster patch.
+
+	The #defines mean that this patch also has to rename a few fields
+	whose names clash with the defines.
+
+	There is currently just a single "thread"; so this patch does not
+	impact Emacs behavior in any significant way.
+
 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Merge from origin/emacs-25
@@ -22610,7 +50754,7 @@
 
 This file records repository revisions from
 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
-commit f15f6b53078ac2176f8d2c05d99d3d9b4d32986b (inclusive).
+commit 82d2a05a74c120480dc1b68243430c9417bfc523 (inclusive).
 See ChangeLog.1 for earlier changes.
 
 ;; Local Variables: