summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorK. Handa <handa@gnu.org>2017-10-08 11:56:06 +0900
committerK. Handa <handa@gnu.org>2017-10-08 11:56:06 +0900
commita9b72976deec9b266950865581a626ec8f7b74f4 (patch)
tree7b5fb778bad612133b54ea3a39aa8356b6bdbaf7
parent64baaff8c5f70b7d637ac37304c4377e955b3f09 (diff)
parentc194fb61c638490e3510864fe2750814af8c3719 (diff)
downloademacs-a9b72976deec9b266950865581a626ec8f7b74f4.tar.gz
Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into emacs-26
-rw-r--r--ChangeLog.328146
-rw-r--r--Makefile.in2
-rw-r--r--admin/authors.el7
-rw-r--r--doc/misc/flymake.texi12
-rw-r--r--doc/misc/org.texi19
-rw-r--r--etc/NEWS18
-rw-r--r--etc/refcards/orgcard.tex2
-rw-r--r--lisp/emacs-lisp/cl-generic.el13
-rw-r--r--lisp/emacs-lisp/cl-macs.el6
-rw-r--r--lisp/emacs-lisp/edebug.el27
-rw-r--r--lisp/emacs-lisp/generator.el9
-rw-r--r--lisp/emacs-lisp/pcase.el2
-rw-r--r--lisp/emacs-lisp/rmc.el199
-rw-r--r--lisp/emacs-lisp/subr-x.el170
-rw-r--r--lisp/emacs-lisp/tabulated-list.el11
-rw-r--r--lisp/frame.el6
-rw-r--r--lisp/gnus/message.el3
-rw-r--r--lisp/net/nsm.el2
-rw-r--r--lisp/net/shr.el27
-rw-r--r--lisp/net/tramp-gvfs.el37
-rw-r--r--lisp/org/ob-hledger.el2
-rw-r--r--lisp/org/ob-lob.el14
-rw-r--r--lisp/org/org-clock.el1
-rw-r--r--lisp/org/org-colview.el3
-rw-r--r--lisp/org/org-table.el8
-rw-r--r--lisp/org/org-version.el4
-rw-r--r--lisp/org/org.el28
-rw-r--r--lisp/org/ox-html.el23
-rw-r--r--lisp/org/ox-publish.el4
-rw-r--r--lisp/progmodes/cc-fonts.el149
-rw-r--r--lisp/progmodes/cc-langs.el11
-rw-r--r--lisp/progmodes/elisp-mode.el120
-rw-r--r--lisp/progmodes/flymake-proc.el7
-rw-r--r--lisp/progmodes/flymake.el86
-rw-r--r--lisp/progmodes/python.el8
-rw-r--r--lisp/ses.el3
-rw-r--r--lisp/subr.el3
-rw-r--r--lisp/xt-mouse.el6
-rw-r--r--src/dispnew.c22
-rw-r--r--src/editfns.c14
-rw-r--r--src/gnutls.c1
-rw-r--r--src/nsterm.m3
-rw-r--r--src/process.c1
-rw-r--r--src/sysdep.c13
-rw-r--r--test/lisp/emacs-lisp/generator-tests.el10
45 files changed, 28736 insertions, 526 deletions
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:
diff --git a/Makefile.in b/Makefile.in
index b882da19287..8ad3f99a249 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1115,7 +1115,7 @@ ChangeLog:
./$(emacslog) -o $(CHANGELOG) -n $(CHANGELOG_HISTORY_INDEX_MAX)
# Check that we are in a good state for changing history.
-PREFERRED_BRANCH = master
+PREFERRED_BRANCH = emacs-26
preferred-branch-is-current:
git branch | grep -q '^\* $(PREFERRED_BRANCH)$$'
unchanged-history-files:
diff --git a/admin/authors.el b/admin/authors.el
index f79c2e8877e..5638efbc34c 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -806,7 +806,10 @@ Changes to files in this list are not listed.")
"srecode-tests.el" "make-test-deps.emacs-lisp"
"nxml-uchnm.el"
"decoder-tests.el"
- "obsolete/scribe.el")
+ "obsolete/scribe.el"
+ "cp51932.el"
+ "eucjp-ms.el"
+ "lisp.mk")
"File names which are valid, but no longer exist (or cannot be found)
in the repository.")
@@ -912,7 +915,7 @@ in the repository.")
("emulation/ws-mode.el" . "ws-mode.el")
("vc/vc-arch.el" . "vc-arch.el")
("lisp/gnus/messcompat.el" . "messcompat.el")
- ("lisp/gnus/html2text.el" . "html2text.el")
+ ("html2text.el" . "html2text.el")
;; From lisp to etc/forms.
("forms-d2.el" . "forms-d2.el")
("forms-pass.el" . "forms-pass.el")
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi
index 5dd72f81e2d..a85fe4a30e1 100644
--- a/doc/misc/flymake.texi
+++ b/doc/misc/flymake.texi
@@ -4,7 +4,7 @@
@set VERSION 0.3
@set UPDATED April 2004
@settitle GNU Flymake @value{VERSION}
-@include ../emacs/docstyle.texi
+@include docstyle.texi
@syncodeindex pg cp
@comment %**end of header
@@ -182,7 +182,7 @@ to the first diagnostic when invoked in the end of the buffer.
@cindex Syntax check statuses
After syntax check is finished, its status is displayed in the mode line.
-The following statuses are defined.
+The following statuses are defined:
@multitable @columnfractions 0.25 0.75
@item @code{Wait}
@@ -356,7 +356,7 @@ selected. If no match is found, @code{flymake-mode} is switched off.
@code{init-function} is required to initialize the syntax check,
usually by creating a temporary copy of the buffer contents. The
function must return @code{(list cmd-name arg-list)}. If
-@code{init-function} returns null, syntax check is aborted, by
+@code{init-function} returns null, syntax check is aborted, but
@code{flymake-mode} is not switched off.
@item cleanup-function
@@ -375,7 +375,7 @@ used as @code{getfname-function}.
@end table
To add support for a new syntax check tool, write corresponding
-@code{init-function}, and, optionally @code{cleanup-function} and
+@code{init-function} and, optionally, @code{cleanup-function} and
@code{getfname-function}. If the format of error messages reported by
the new tool is not yet supported by Flymake, add a new entry to
the @code{flymake-proc-err-line-patterns} list.
@@ -493,7 +493,7 @@ check-syntax:
@code{flymake-proc-legacy-backend} saves a copy of the buffer in a
temporary file in the buffer's directory (or in the system temp
-directory, for java files), creates a syntax check command and
+directory, for Java files), creates a syntax check command and
launches a process with this command. The output is parsed using a
list of error message patterns, and error information (file name, line
number, type and text) is saved. After the process has finished,
@@ -631,7 +631,7 @@ include directories for C++. The latter files are syntax checked
using some build tool, like Make or Ant.
All Make configuration data is usually stored in a file called
-@code{Makefile}. To allow for future extensions, flymake uses a notion of
+@code{Makefile}. To allow for future extensions, Flymake uses a notion of
buildfile to reference the 'project configuration' file.
Special function, @code{flymake-proc-find-buildfile} is provided for locating buildfiles.
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index b6a4fa23557..72fbbade59e 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -4,7 +4,7 @@
@settitle The Org Manual
@include docstyle.texi
-@set VERSION 9.1.1
+@set VERSION 9.1.2
@set DATE 2017-09-17
@c Version and Contact Info
@@ -1257,13 +1257,8 @@ Org uses just two commands, bound to @key{TAB} and
@end example
@vindex org-cycle-emulate-tab
-@vindex org-cycle-global-at-bob
The cursor must be on a headline for this to work@footnote{see, however,
-the option @code{org-cycle-emulate-tab}.}. When the cursor is at the
-beginning of the buffer and the first line is not a headline, then
-@key{TAB} actually runs global cycling (see below)@footnote{see the
-option @code{org-cycle-global-at-bob}.}. Also when called with a prefix
-argument (@kbd{C-u @key{TAB}}), global cycling is invoked.
+the option @code{org-cycle-emulate-tab}.}.
@cindex global visibility states
@cindex global cycling
@@ -1283,6 +1278,11 @@ When @kbd{S-@key{TAB}} is called with a numeric prefix argument N, the
CONTENTS view up to headlines of level N will be shown. Note that inside
tables, @kbd{S-@key{TAB}} jumps to the previous field.
+@vindex org-cycle-global-at-bob
+You can run global cycling using @key{TAB} only if point is at the very
+beginning of the buffer, but not on a headline, and
+@code{org-cycle-global-at-bob} is set to a non-@code{nil} value.
+
@cindex set startup visibility, command
@orgcmd{C-u C-u @key{TAB},org-set-startup-visibility}
Switch back to the startup visibility of the buffer (@pxref{Initial visibility}).
@@ -1659,11 +1659,9 @@ line. In particular, if an ordered list reaches number @samp{10.}, then the
list. An item ends before the next line that is less or equally indented
than its bullet/number.
-@vindex org-list-empty-line-terminates-plain-lists
A list ends whenever every item has ended, which means before any line less
or equally indented than items at top level. It also ends before two blank
-lines@footnote{See also @code{org-list-empty-line-terminates-plain-lists}.}.
-In that case, all items are closed. Here is an example:
+lines. In that case, all items are closed. Here is an example:
@example
@group
@@ -14991,6 +14989,7 @@ directory on the local machine.
'(("org"
:base-directory "~/org/"
:publishing-directory "~/public_html"
+ :publishing-function org-html-publish-to-html
:section-numbers nil
:with-toc nil
:html-head "<link rel=\"stylesheet\"
diff --git a/etc/NEWS b/etc/NEWS
index b75fbd65b7a..a9a4bc61872 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1115,7 +1115,7 @@ See the 'vc-faces' customization group.
*** 'vc-dir-mode' now binds 'vc-log-outgoing' to 'O'; and has various
branch-related commands on a keymap bound to 'B'.
----
++++
*** 'vc-region-history' is now bound to 'C-x v h', replacing the older
'vc-insert-headers' binding.
@@ -1364,6 +1364,15 @@ non-nil, but the code returned the list in the increasing order of
priority instead. Now the code does what the documentation says it
should do.
++++
+** 'format' now avoids allocating a new string in more cases.
+'format' was previously documented to return a newly-allocated string,
+but this documentation was not correct, as (eq x (format x)) returned
+t when x was the empty string. 'format' is no longer documented to
+return a newly-allocated string, and the implementation now takes
+advantage of the doc change to avoid making copies of strings in
+common cases like (format "foo") and (format "%s" "foo").
+
---
** The function 'eldoc-message' now accepts a single argument.
Programs that called it with multiple arguments before should pass
@@ -1559,13 +1568,6 @@ Emacs integers with %e, %f, or %g conversions. For example, on these
hosts (eql N (string-to-number (format "%.0f" N))) now returns t for
all Emacs integers N.
-+++
-** 'format' is no longer documented to return a newly-allocated string.
-This documentation was not correct, as (eq x (format x)) returned t
-when x was the empty string. 'format' now takes advantage of the doc
-change to avoid making copies of strings in common cases like (format
-"foo") and (format "%s" "foo").
-
---
** Calls that accept floating-point integers (for use on hosts with
limited integer range) now signal an error if arguments are not
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex
index 0880841a945..99f90b8d31c 100644
--- a/etc/refcards/orgcard.tex
+++ b/etc/refcards/orgcard.tex
@@ -1,5 +1,5 @@
% Reference Card for Org Mode
-\def\orgversionnumber{9.1.1}
+\def\orgversionnumber{9.1.2}
\def\versionyear{2017} % latest update
\input emacsver.tex
diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el
index b2f76abd88e..62befd4742a 100644
--- a/lisp/emacs-lisp/cl-generic.el
+++ b/lisp/emacs-lisp/cl-generic.el
@@ -204,7 +204,16 @@ OPTIONS-AND-METHODS currently understands:
DEFAULT-BODY, if present, is used as the body of a default method.
\(fn NAME ARGS [DOC-STRING] [OPTIONS-AND-METHODS...] &rest DEFAULT-BODY)"
- (declare (indent 2) (doc-string 3))
+ (declare (indent 2) (doc-string 3)
+ (debug
+ (&define name cl-lambda-list lambda-doc
+ [&rest [&or
+ ("declare" &rest sexp)
+ (":argument-precedence-order" &rest sexp)
+ (&define ":method" [&rest atom]
+ cl-generic-method-args lambda-doc
+ def-body)]]
+ def-body)))
(let* ((doc (if (stringp (car-safe options-and-methods))
(pop options-and-methods)))
(declarations nil)
@@ -422,7 +431,7 @@ The set of acceptable TYPEs (also called \"specializers\") is defined
; Like in CLOS spec, we support
; any non-list values.
cl-generic-method-args ; arguments
- [ &optional stringp ] ; documentation string
+ lambda-doc ; documentation string
def-body))) ; part to be debugged
(let ((qualifiers nil))
(while (not (listp args))
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 32ba0ac3091..40eda1e0d65 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -190,7 +190,7 @@ The name is made by appending a number to PREFIX, default \"T\"."
(&rest ("cl-declare" &rest sexp)))
(def-edebug-spec cl-declarations-or-string
- (&or stringp cl-declarations))
+ (&or lambda-doc cl-declarations))
(def-edebug-spec cl-lambda-list
(([&rest arg]
@@ -447,8 +447,8 @@ more details.
(def-edebug-spec cl-lambda-expr
(&define ("lambda" cl-lambda-list
- ;;cl-declarations-or-string
- ;;[&optional ("interactive" interactive)]
+ cl-declarations-or-string
+ [&optional ("interactive" interactive)]
def-body)))
;; Redefine function-form to also match cl-function
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index dbc56e272fd..d00b14e803e 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -1986,15 +1986,14 @@ expressions; a `progn' form will be returned enclosing these forms."
(def-edebug-spec defvar (symbolp &optional form stringp))
(def-edebug-spec defun
- (&define name lambda-list
- [&optional stringp]
+ (&define name lambda-list lambda-doc
[&optional ("declare" &rest sexp)]
[&optional ("interactive" interactive)]
def-body))
(def-edebug-spec defmacro
;; FIXME: Improve `declare' so we can Edebug gv-expander and
;; gv-setter declarations.
- (&define name lambda-list [&optional stringp]
+ (&define name lambda-list lambda-doc
[&optional ("declare" &rest sexp)] def-body))
(def-edebug-spec arglist lambda-list) ;; deprecated - use lambda-list.
@@ -2005,6 +2004,10 @@ expressions; a `progn' form will be returned enclosing these forms."
&optional ["&rest" arg]
)))
+(def-edebug-spec lambda-doc
+ (&optional [&or stringp
+ (&define ":documentation" def-form)]))
+
(def-edebug-spec interactive
(&optional &or stringp def-form))
@@ -3204,15 +3207,6 @@ generated symbols for methods. If a function or method to
instrument cannot be found, signal an error."
(let ((func-marker (get func 'edebug)))
(cond
- ((and (markerp func-marker) (marker-buffer func-marker))
- ;; It is uninstrumented, so instrument it.
- (with-current-buffer (marker-buffer func-marker)
- (goto-char func-marker)
- (edebug-eval-top-level-form)
- (list func)))
- ((consp func-marker)
- (message "%s is already instrumented." func)
- (list func))
((cl-generic-p func)
(let ((method-defs (cl--generic-method-files func))
symbols)
@@ -3227,6 +3221,15 @@ instrument cannot be found, signal an error."
(edebug-eval-top-level-form)
(push (edebug-form-data-symbol) symbols))))
symbols))
+ ((and (markerp func-marker) (marker-buffer func-marker))
+ ;; It is uninstrumented, so instrument it.
+ (with-current-buffer (marker-buffer func-marker)
+ (goto-char func-marker)
+ (edebug-eval-top-level-form)
+ (list func)))
+ ((consp func-marker)
+ (message "%s is already instrumented." func)
+ (list func))
(t
(let ((loc (find-function-noselect func t)))
(unless (cdr loc)
diff --git a/lisp/emacs-lisp/generator.el b/lisp/emacs-lisp/generator.el
index f3597cc387d..410e4edcc92 100644
--- a/lisp/emacs-lisp/generator.el
+++ b/lisp/emacs-lisp/generator.el
@@ -142,8 +142,7 @@ the CPS state machinery.
`(let ((,dynamic-var ,static-var))
(unwind-protect ; Update the static shadow after evaluation is done
,form
- (setf ,static-var ,dynamic-var))
- ,form)))
+ (setf ,static-var ,dynamic-var)))))
(defmacro cps--with-dynamic-binding (dynamic-var static-var &rest body)
"Evaluate BODY such that generated atomic evaluations run with
@@ -681,7 +680,8 @@ sub-iterator function returns via `iter-end-of-sequence'."
When called as a function, NAME returns an iterator value that
encapsulates the state of a computation that produces a sequence
of values. Callers can retrieve each value using `iter-next'."
- (declare (indent defun))
+ (declare (indent defun)
+ (debug (&define name lambda-list lambda-doc def-body)))
(cl-assert lexical-binding)
(let* ((parsed-body (macroexp-parse-body body))
(declarations (car parsed-body))
@@ -693,7 +693,8 @@ of values. Callers can retrieve each value using `iter-next'."
(defmacro iter-lambda (arglist &rest body)
"Return a lambda generator.
`iter-lambda' is to `iter-defun' as `lambda' is to `defun'."
- (declare (indent defun))
+ (declare (indent defun)
+ (debug (&define lambda-list lambda-doc def-body)))
(cl-assert lexical-binding)
`(lambda ,arglist
,(cps-generate-evaluator body)))
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el
index c703cae4458..36af88423c8 100644
--- a/lisp/emacs-lisp/pcase.el
+++ b/lisp/emacs-lisp/pcase.el
@@ -226,7 +226,7 @@ I.e. accepts the usual &optional and &rest keywords, but every
formal argument can be any pattern accepted by `pcase' (a mere
variable name being but a special case of it)."
(declare (doc-string 2) (indent defun)
- (debug ((&rest pcase-PAT) body)))
+ (debug (&define (&rest pcase-PAT) lambda-doc def-body)))
(let* ((bindings ())
(parsed-body (macroexp-parse-body body))
(args (mapcar (lambda (pat)
diff --git a/lisp/emacs-lisp/rmc.el b/lisp/emacs-lisp/rmc.el
new file mode 100644
index 00000000000..417301cde06
--- /dev/null
+++ b/lisp/emacs-lisp/rmc.el
@@ -0,0 +1,199 @@
+;;; rmc.el --- read from a multiple choice question -*- lexical-binding: t -*-
+
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+;; Maintainer: emacs-devel@gnu.org
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+;;;###autoload
+(defun read-multiple-choice (prompt choices)
+ "Ask user a multiple choice question.
+PROMPT should be a string that will be displayed as the prompt.
+
+CHOICES is an alist where the first element in each entry is a
+character to be entered, the second element is a short name for
+the entry to be displayed while prompting (if there's room, it
+might be shortened), and the third, optional entry is a longer
+explanation that will be displayed in a help buffer if the user
+requests more help.
+
+This function translates user input into responses by consulting
+the bindings in `query-replace-map'; see the documentation of
+that variable for more information. In this case, the useful
+bindings are `recenter', `scroll-up', and `scroll-down'. If the
+user enters `recenter', `scroll-up', or `scroll-down' responses,
+perform the requested window recentering or scrolling and ask
+again.
+
+When `use-dialog-box' is t (the default), this function can pop
+up a dialog window to collect the user input. That functionality
+requires `display-popup-menus-p' to return t. Otherwise, a text
+dialog will be used.
+
+The return value is the matching entry from the CHOICES list.
+
+Usage example:
+
+\(read-multiple-choice \"Continue connecting?\"
+ \\='((?a \"always\")
+ (?s \"session only\")
+ (?n \"no\")))"
+ (let* ((altered-names nil)
+ (full-prompt
+ (format
+ "%s (%s): "
+ prompt
+ (mapconcat
+ (lambda (elem)
+ (let* ((name (cadr elem))
+ (pos (seq-position name (car elem)))
+ (altered-name
+ (cond
+ ;; Not in the name string.
+ ((not pos)
+ (format "[%c] %s" (car elem) name))
+ ;; The prompt character is in the name, so highlight
+ ;; it on graphical terminals...
+ ((display-supports-face-attributes-p
+ '(:underline t) (window-frame))
+ (setq name (copy-sequence name))
+ (put-text-property pos (1+ pos)
+ 'face 'read-multiple-choice-face
+ name)
+ name)
+ ;; And put it in [bracket] on non-graphical terminals.
+ (t
+ (concat
+ (substring name 0 pos)
+ "["
+ (upcase (substring name pos (1+ pos)))
+ "]"
+ (substring name (1+ pos)))))))
+ (push (cons (car elem) altered-name)
+ altered-names)
+ altered-name))
+ (append choices '((?? "?")))
+ ", ")))
+ tchar buf wrong-char answer)
+ (save-window-excursion
+ (save-excursion
+ (while (not tchar)
+ (message "%s%s"
+ (if wrong-char
+ "Invalid choice. "
+ "")
+ full-prompt)
+ (setq tchar
+ (if (and (display-popup-menus-p)
+ last-input-event ; not during startup
+ (listp last-nonmenu-event)
+ use-dialog-box)
+ (x-popup-dialog
+ t
+ (cons prompt
+ (mapcar
+ (lambda (elem)
+ (cons (capitalize (cadr elem))
+ (car elem)))
+ choices)))
+ (condition-case nil
+ (let ((cursor-in-echo-area t))
+ (read-char))
+ (error nil))))
+ (setq answer (lookup-key query-replace-map (vector tchar) t))
+ (setq tchar
+ (cond
+ ((eq answer 'recenter)
+ (recenter) t)
+ ((eq answer 'scroll-up)
+ (ignore-errors (scroll-up-command)) t)
+ ((eq answer 'scroll-down)
+ (ignore-errors (scroll-down-command)) t)
+ ((eq answer 'scroll-other-window)
+ (ignore-errors (scroll-other-window)) t)
+ ((eq answer 'scroll-other-window-down)
+ (ignore-errors (scroll-other-window-down)) t)
+ (t tchar)))
+ (when (eq tchar t)
+ (setq wrong-char nil
+ tchar nil))
+ ;; The user has entered an invalid choice, so display the
+ ;; help messages.
+ (when (and (not (eq tchar nil))
+ (not (assq tchar choices)))
+ (setq wrong-char (not (memq tchar '(?? ?\C-h)))
+ tchar nil)
+ (when wrong-char
+ (ding))
+ (with-help-window (setq buf (get-buffer-create
+ "*Multiple Choice Help*"))
+ (with-current-buffer buf
+ (erase-buffer)
+ (pop-to-buffer buf)
+ (insert prompt "\n\n")
+ (let* ((columns (/ (window-width) 25))
+ (fill-column 21)
+ (times 0)
+ (start (point)))
+ (dolist (elem choices)
+ (goto-char start)
+ (unless (zerop times)
+ (if (zerop (mod times columns))
+ ;; Go to the next "line".
+ (goto-char (setq start (point-max)))
+ ;; Add padding.
+ (while (not (eobp))
+ (end-of-line)
+ (insert (make-string (max (- (* (mod times columns)
+ (+ fill-column 4))
+ (current-column))
+ 0)
+ ?\s))
+ (forward-line 1))))
+ (setq times (1+ times))
+ (let ((text
+ (with-temp-buffer
+ (insert (format
+ "%c: %s\n"
+ (car elem)
+ (cdr (assq (car elem) altered-names))))
+ (fill-region (point-min) (point-max))
+ (when (nth 2 elem)
+ (let ((start (point)))
+ (insert (nth 2 elem))
+ (unless (bolp)
+ (insert "\n"))
+ (fill-region start (point-max))))
+ (buffer-string))))
+ (goto-char start)
+ (dolist (line (split-string text "\n"))
+ (end-of-line)
+ (if (bolp)
+ (insert line "\n")
+ (insert line))
+ (forward-line 1)))))))))))
+ (when (buffer-live-p buf)
+ (kill-buffer buf))
+ (assq tchar choices)))
+
+(provide 'rmc)
+
+;;; rmc.el ends here
diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el
index 5189cc4a6e8..8ed29d8659d 100644
--- a/lisp/emacs-lisp/subr-x.el
+++ b/lisp/emacs-lisp/subr-x.el
@@ -245,176 +245,6 @@ TRIM-LEFT and TRIM-RIGHT default to \"[ \\t\\n\\r]+\"."
(substring string 0 (- (length string) (length suffix)))
string))
-(defun read-multiple-choice (prompt choices)
- "Ask user a multiple choice question.
-PROMPT should be a string that will be displayed as the prompt.
-
-CHOICES is an alist where the first element in each entry is a
-character to be entered, the second element is a short name for
-the entry to be displayed while prompting (if there's room, it
-might be shortened), and the third, optional entry is a longer
-explanation that will be displayed in a help buffer if the user
-requests more help.
-
-This function translates user input into responses by consulting
-the bindings in `query-replace-map'; see the documentation of
-that variable for more information. In this case, the useful
-bindings are `recenter', `scroll-up', and `scroll-down'. If the
-user enters `recenter', `scroll-up', or `scroll-down' responses,
-perform the requested window recentering or scrolling and ask
-again.
-
-When `use-dialog-box' is t (the default), this function can pop
-up a dialog window to collect the user input. That functionality
-requires `display-popup-menus-p' to return t. Otherwise, a text
-dialog will be used.
-
-The return value is the matching entry from the CHOICES list.
-
-Usage example:
-
-\(read-multiple-choice \"Continue connecting?\"
- \\='((?a \"always\")
- (?s \"session only\")
- (?n \"no\")))"
- (let* ((altered-names nil)
- (full-prompt
- (format
- "%s (%s): "
- prompt
- (mapconcat
- (lambda (elem)
- (let* ((name (cadr elem))
- (pos (seq-position name (car elem)))
- (altered-name
- (cond
- ;; Not in the name string.
- ((not pos)
- (format "[%c] %s" (car elem) name))
- ;; The prompt character is in the name, so highlight
- ;; it on graphical terminals...
- ((display-supports-face-attributes-p
- '(:underline t) (window-frame))
- (setq name (copy-sequence name))
- (put-text-property pos (1+ pos)
- 'face 'read-multiple-choice-face
- name)
- name)
- ;; And put it in [bracket] on non-graphical terminals.
- (t
- (concat
- (substring name 0 pos)
- "["
- (upcase (substring name pos (1+ pos)))
- "]"
- (substring name (1+ pos)))))))
- (push (cons (car elem) altered-name)
- altered-names)
- altered-name))
- (append choices '((?? "?")))
- ", ")))
- tchar buf wrong-char answer)
- (save-window-excursion
- (save-excursion
- (while (not tchar)
- (message "%s%s"
- (if wrong-char
- "Invalid choice. "
- "")
- full-prompt)
- (setq tchar
- (if (and (display-popup-menus-p)
- last-input-event ; not during startup
- (listp last-nonmenu-event)
- use-dialog-box)
- (x-popup-dialog
- t
- (cons prompt
- (mapcar
- (lambda (elem)
- (cons (capitalize (cadr elem))
- (car elem)))
- choices)))
- (condition-case nil
- (let ((cursor-in-echo-area t))
- (read-char))
- (error nil))))
- (setq answer (lookup-key query-replace-map (vector tchar) t))
- (setq tchar
- (cond
- ((eq answer 'recenter)
- (recenter) t)
- ((eq answer 'scroll-up)
- (ignore-errors (scroll-up-command)) t)
- ((eq answer 'scroll-down)
- (ignore-errors (scroll-down-command)) t)
- ((eq answer 'scroll-other-window)
- (ignore-errors (scroll-other-window)) t)
- ((eq answer 'scroll-other-window-down)
- (ignore-errors (scroll-other-window-down)) t)
- (t tchar)))
- (when (eq tchar t)
- (setq wrong-char nil
- tchar nil))
- ;; The user has entered an invalid choice, so display the
- ;; help messages.
- (when (and (not (eq tchar nil))
- (not (assq tchar choices)))
- (setq wrong-char (not (memq tchar '(?? ?\C-h)))
- tchar nil)
- (when wrong-char
- (ding))
- (with-help-window (setq buf (get-buffer-create
- "*Multiple Choice Help*"))
- (with-current-buffer buf
- (erase-buffer)
- (pop-to-buffer buf)
- (insert prompt "\n\n")
- (let* ((columns (/ (window-width) 25))
- (fill-column 21)
- (times 0)
- (start (point)))
- (dolist (elem choices)
- (goto-char start)
- (unless (zerop times)
- (if (zerop (mod times columns))
- ;; Go to the next "line".
- (goto-char (setq start (point-max)))
- ;; Add padding.
- (while (not (eobp))
- (end-of-line)
- (insert (make-string (max (- (* (mod times columns)
- (+ fill-column 4))
- (current-column))
- 0)
- ?\s))
- (forward-line 1))))
- (setq times (1+ times))
- (let ((text
- (with-temp-buffer
- (insert (format
- "%c: %s\n"
- (car elem)
- (cdr (assq (car elem) altered-names))))
- (fill-region (point-min) (point-max))
- (when (nth 2 elem)
- (let ((start (point)))
- (insert (nth 2 elem))
- (unless (bolp)
- (insert "\n"))
- (fill-region start (point-max))))
- (buffer-string))))
- (goto-char start)
- (dolist (line (split-string text "\n"))
- (end-of-line)
- (if (bolp)
- (insert line "\n")
- (insert line))
- (forward-line 1)))))))))))
- (when (buffer-live-p buf)
- (kill-buffer buf))
- (assq tchar choices)))
-
(provide 'subr-x)
;;; subr-x.el ends here
diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el
index e940588db7b..d1d7c0a8042 100644
--- a/lisp/emacs-lisp/tabulated-list.el
+++ b/lisp/emacs-lisp/tabulated-list.el
@@ -329,6 +329,8 @@ Check the current row, the previous one and the next row."
(string-width (if (stringp nt) nt (car nt)))))
tabulated-list--near-rows)))
+(defvar tabulated-list-entry-lnum-width nil)
+
(defun tabulated-list-print (&optional remember-pos update)
"Populate the current Tabulated List mode buffer.
This sorts the `tabulated-list-entries' list if sorting is
@@ -371,6 +373,7 @@ changing `tabulated-list-sort-key'."
(unless tabulated-list-use-header-line
(tabulated-list-print-fake-header)))
;; Finally, print the resulting list.
+ (setq tabulated-list-entry-lnum-width (tabulated-list-line-number-width))
(while entries
(let* ((elt (car entries))
(tabulated-list--near-rows
@@ -383,7 +386,7 @@ changing `tabulated-list-sort-key'."
(equal entry-id id)
(setq entry-id nil
saved-pt (point)))
- ;; If the buffer this empty, simply print each elt.
+ ;; If the buffer is empty, simply print each elt.
(if (or (not update) (eobp))
(apply tabulated-list-printer elt)
(while (let ((local-id (tabulated-list-get-id)))
@@ -424,12 +427,10 @@ of column descriptors."
(let ((beg (point))
(x (max tabulated-list-padding 0))
(ncols (length tabulated-list-format))
- (lnum-width (tabulated-list-line-number-width))
(inhibit-read-only t))
- (if display-line-numbers
- (setq x (+ x lnum-width)))
+ (setq x (+ x tabulated-list-entry-lnum-width))
(if (> tabulated-list-padding 0)
- (insert (make-string (- x lnum-width) ?\s)))
+ (insert (make-string (- x tabulated-list-entry-lnum-width) ?\s)))
(let ((tabulated-list--near-rows ; Bind it if not bound yet (Bug#25506).
(or (bound-and-true-p tabulated-list--near-rows)
(list (or (tabulated-list-get-entry (point-at-bol 0))
diff --git a/lisp/frame.el b/lisp/frame.el
index e501daefb4c..7b57aa3df1f 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -2434,7 +2434,11 @@ See also `toggle-frame-maximized'."
(set-frame-parameter nil 'fullscreen fullscreen-restore)
(set-frame-parameter nil 'fullscreen nil)))
(modify-frame-parameters
- nil `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen))))))
+ nil `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen))))
+ ;; Manipulating a frame without waiting for the fullscreen
+ ;; animation to complete can cause a crash, or other unexpected
+ ;; behaviour, on macOS (bug#28496).
+ (when (featurep 'cocoa) (sit-for 1))))
;;;; Key bindings
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index ed0b3cb44fc..95eae6ba811 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -49,7 +49,8 @@
(require 'mm-util)
(require 'rfc2047)
(require 'puny)
-(require 'subr-x) ; read-multiple-choice
+(require 'rmc) ; read-multiple-choice
+(eval-when-compile (require 'subr-x)) ; when-let*
(autoload 'mailclient-send-it "mailclient")
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index e2053a09355..87fa9778b6d 100644
--- a/lisp/net/nsm.el
+++ b/lisp/net/nsm.el
@@ -25,7 +25,7 @@
;;; Code:
(require 'cl-lib)
-(require 'subr-x) ; read-multiple-choice
+(require 'rmc) ; read-multiple-choice
(defvar nsm-permanent-host-settings nil)
(defvar nsm-temporary-host-settings nil)
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 7af6148e473..260ada54222 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -470,6 +470,18 @@ size, and full-buffer size."
(shr-insert sub)
(shr-descend sub))))
+(defun shr-indirect-call (tag-name dom &rest args)
+ (let ((function (intern (concat "shr-tag-" (symbol-name tag-name)) obarray))
+ ;; Allow other packages to override (or provide) rendering
+ ;; of elements.
+ (external (cdr (assq tag-name shr-external-rendering-functions))))
+ (cond (external
+ (apply external dom args))
+ ((fboundp function)
+ (apply function dom args))
+ (t
+ (apply 'shr-generic dom args)))))
+
(defun shr-descend (dom)
(let ((function
(intern (concat "shr-tag-" (symbol-name (dom-tag dom))) obarray))
@@ -490,6 +502,11 @@ size, and full-buffer size."
(setq style nil)))
;; If we have a display:none, then just ignore this part of the DOM.
(unless (equal (cdr (assq 'display shr-stylesheet)) "none")
+ ;; We don't use shr-indirect-call here, since shr-descend is
+ ;; the central bit of shr.el, and should be as fast as
+ ;; possible. Having one more level of indirection with its
+ ;; negative effect on performance is deemed unjustified in
+ ;; this case.
(cond (external
(funcall external dom))
((fboundp function)
@@ -1404,7 +1421,7 @@ ones, in case fg and bg are nil."
(when url
(cond
(image
- (shr-tag-img dom url)
+ (shr-indirect-call 'img dom url)
(setq dom nil))
(multimedia
(shr-insert " [multimedia] ")
@@ -1469,7 +1486,7 @@ The preference is a float determined from `shr-prefer-media-type'."
(unless url
(setq url (car (shr--extract-best-source dom))))
(if (> (length image) 0)
- (shr-tag-img nil image)
+ (shr-indirect-call 'img nil image)
(shr-insert " [video] "))
(shr-urlify start (shr-expand-url url))))
@@ -1964,9 +1981,9 @@ flags that control whether to collect or render objects."
do (setq tag (dom-tag child)) and
unless (memq tag '(comment style))
if (eq tag 'img)
- do (shr-tag-img child)
+ do (shr-indirect-call 'img child)
else if (eq tag 'object)
- do (shr-tag-object child)
+ do (shr-indirect-call 'object child)
else
do (setq recurse t) and
if (eq tag 'tr)
@@ -1980,7 +1997,7 @@ flags that control whether to collect or render objects."
do (setq flags nil)
else if (car flags)
do (setq recurse nil)
- (shr-tag-table child)
+ (shr-indirect-call 'table child)
end end end end end end end end end end
when recurse
append (shr-collect-extra-strings-in-table child flags)))
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 237d6896e2a..3a1c9f9b5ac 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -416,6 +416,19 @@ Every entry is a list (NAME ADDRESS).")
(defconst tramp-hal-interface-device "org.freedesktop.Hal.Device"
"The device interface of the HAL daemon.")
+;; "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1. We
+;; must use "gio <command>" tool instead.
+(defconst tramp-gvfs-gio-mapping
+ '(("gvfs-copy" . "copy")
+ ("gvfs-info" . "info")
+ ("gvfs-ls" . "list")
+ ("gvfs-mkdir" . "mkdir")
+ ("gvfs-monitor-file" . "monitor")
+ ("gvfs-move" . "move")
+ ("gvfs-rm" . "remove")
+ ("gvfs-trash" . "trash"))
+ "List of cons cells, mapping \"gvfs-<command>\" to \"gio <command>\".")
+
(defconst tramp-gvfs-file-attributes
'("name"
"type"
@@ -1078,9 +1091,12 @@ If FILE-SYSTEM is non-nil, return file system attributes."
((memq 'change flags)
'(created changed changes-done-hint moved deleted))
((memq 'attribute-change flags) '(attribute-changed))))
- (p (start-process
- "gvfs-monitor-file" (generate-new-buffer " *gvfs-monitor-file*")
- "gvfs-monitor-file" (tramp-gvfs-url-file-name file-name))))
+ (p (apply
+ 'start-process
+ "gvfs-monitor" (generate-new-buffer " *gvfs-monitor*")
+ (if (tramp-gvfs-gio-tool-p v)
+ `("gio" "monitor" ,(tramp-gvfs-url-file-name file-name)))
+ `("gvfs-monitor-file" (tramp-gvfs-url-file-name file-name)))))
(if (not (processp p))
(tramp-error
v 'file-notify-error "Monitoring not supported for `%s'" file-name)
@@ -1785,10 +1801,16 @@ connection if a previous connection has died for some reason."
(tramp-gvfs-get-remote-uid vec 'string)
(tramp-gvfs-get-remote-gid vec 'string))))
+(defun tramp-gvfs-gio-tool-p (vec)
+ "Check, whether the gio tool is available."
+ (with-tramp-connection-property vec "gio-tool"
+ (zerop (tramp-call-process vec "gio" nil nil nil "version"))))
+
(defun tramp-gvfs-send-command (vec command &rest args)
"Send the COMMAND with its ARGS to connection VEC.
-COMMAND is usually a command from the gvfs-* utilities.
-`call-process' is applied, and it returns t if the return code is zero."
+COMMAND is a command from the gvfs-* utilities. It is replaced
+by the corresponding gio tool call if available. `call-process'
+is applied, and it returns t if the return code is zero."
(let* ((locale (tramp-get-local-locale vec))
(process-environment
(append
@@ -1796,6 +1818,11 @@ COMMAND is usually a command from the gvfs-* utilities.
,(format "LANGUAGE=%s" locale)
,(format "LC_ALL=%s" locale))
process-environment)))
+ (when (tramp-gvfs-gio-tool-p vec)
+ ;; Use gio tool.
+ (setq args (cons (cdr (assoc command tramp-gvfs-gio-mapping)) args)
+ command "gio"))
+
(with-current-buffer (tramp-get-connection-buffer vec)
(tramp-gvfs-maybe-open-connection vec)
(erase-buffer)
diff --git a/lisp/org/ob-hledger.el b/lisp/org/ob-hledger.el
index 86276aad810..57ab8af4f30 100644
--- a/lisp/org/ob-hledger.el
+++ b/lisp/org/ob-hledger.el
@@ -1,4 +1,4 @@
-;; ob-ledger.el --- Babel Functions for hledger -*- lexical-binding: t; -*-
+;; ob-hledger.el --- Babel Functions for hledger -*- lexical-binding: t; -*-
;; Copyright (C) 2010-2017 Free Software Foundation, Inc.
diff --git a/lisp/org/ob-lob.el b/lisp/org/ob-lob.el
index 8a52b57e52a..13f728f37f6 100644
--- a/lisp/org/ob-lob.el
+++ b/lisp/org/ob-lob.el
@@ -53,11 +53,15 @@ should not be inherited from a source block.")
(let* ((info (org-babel-get-src-block-info 'light))
(source-name (nth 4 info)))
(when source-name
- (setq source-name (intern source-name)
- org-babel-library-of-babel
- (cons (cons source-name info)
- (assq-delete-all source-name org-babel-library-of-babel))
- lob-ingest-count (1+ lob-ingest-count)))))
+ (setf (nth 1 info)
+ (if (org-babel-noweb-p (nth 2 info) :eval)
+ (org-babel-expand-noweb-references info)
+ (nth 1 info)))
+ (let ((source (intern source-name)))
+ (setq org-babel-library-of-babel
+ (cons (cons source info)
+ (assq-delete-all source org-babel-library-of-babel))))
+ (cl-incf lob-ingest-count))))
(message "%d src block%s added to Library of Babel"
lob-ingest-count (if (> lob-ingest-count 1) "s" ""))
lob-ingest-count))
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 2eec817735a..9dc501500b1 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -2984,6 +2984,7 @@ The details of what will be saved are regulated by the variable
;; Local variables:
;; generated-autoload-file: "org-loaddefs.el"
+;; coding: utf-8
;; End:
;;; org-clock.el ends here
diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el
index 242bdc26550..eac29c50f65 100644
--- a/lisp/org/org-colview.el
+++ b/lisp/org/org-colview.el
@@ -464,7 +464,8 @@ for the duration of the command.")
(kill-local-variable 'org-previous-header-line-format)
(remove-hook 'post-command-hook 'org-columns-hscroll-title 'local))
(set-marker org-columns-begin-marker nil)
- (set-marker org-columns-top-level-marker nil)
+ (when (markerp org-columns-top-level-marker)
+ (set-marker org-columns-top-level-marker nil))
(org-with-silent-modifications
(mapc #'delete-overlay org-columns-overlays)
(setq org-columns-overlays nil)
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index 66907e2cd9c..8dc648eaecd 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -1646,12 +1646,14 @@ In particular, this does handle wide and invisible characters."
(if (not (org-at-table-p))
(user-error "Not at a table"))
(let ((col (current-column))
- (dline (org-table-current-dline)))
+ (dline (and (not (org-match-line org-table-hline-regexp))
+ (org-table-current-dline))))
(kill-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)))
(if (not (org-at-table-p)) (beginning-of-line 0))
(org-move-to-column col)
- (when (or (not org-table-fix-formulas-confirm)
- (funcall org-table-fix-formulas-confirm "Fix formulas? "))
+ (when (and dline
+ (or (not org-table-fix-formulas-confirm)
+ (funcall org-table-fix-formulas-confirm "Fix formulas? ")))
(org-table-fix-formulas "@" (list (cons (number-to-string dline) "INVALID"))
dline -1 dline))))
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index 523afd1ad33..30318ba92c8 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -5,13 +5,13 @@
(defun org-release ()
"The release version of Org.
Inserted by installing Org mode or when a release is made."
- (let ((org-release "9.1.1"))
+ (let ((org-release "9.1.2"))
org-release))
;;;###autoload
(defun org-git-version ()
"The Git version of org-mode.
Inserted by installing Org or when a release is made."
- (let ((org-git-version "release_9.1.1-37-gb1e8b5"))
+ (let ((org-git-version "release_9.1.2-40-g6ca906"))
org-git-version))
(provide 'org-version)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index c5759cb537b..35405b4bf81 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -16071,7 +16071,9 @@ automatically performed, such drawers will be silently ignored."
(when (memq (org-element-type element) '(keyword node-property))
(let ((value (org-element-property :value element))
(start 0))
- (while (string-match "%[0-9]*\\(\\S-+\\)" value start)
+ (while (string-match "%[0-9]*\\([[:alnum:]_-]+\\)\\(([^)]+)\\)?\
+\\(?:{[^}]+}\\)?"
+ value start)
(setq start (match-end 0))
(let ((p (match-string-no-properties 1 value)))
(unless (member-ignore-case p org-special-properties)
@@ -19481,7 +19483,6 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names."
(org-defkey org-mode-map [(shift return)] 'org-table-copy-down)
(org-defkey org-mode-map [(meta shift return)] 'org-insert-todo-heading)
-(org-defkey org-mode-map [(meta return)] 'org-meta-return)
(org-defkey org-mode-map (kbd "M-RET") #'org-meta-return)
;; Cursor keys with modifiers
@@ -24204,16 +24205,25 @@ convenience:
- On an affiliated keyword, jump to the first one.
- On a table or a property drawer, move to its beginning.
- - On a verse or source block, stop before blank lines."
+ - On comment, example, export, src and verse blocks, stop
+ before blank lines."
(interactive)
(unless (bobp)
(let* ((deactivate-mark nil)
(element (org-element-at-point))
(type (org-element-type element))
- (contents-begin (org-element-property :contents-begin element))
(contents-end (org-element-property :contents-end element))
(post-affiliated (org-element-property :post-affiliated element))
- (begin (org-element-property :begin element)))
+ (begin (org-element-property :begin element))
+ (special? ;blocks handled specially
+ (memq type '(comment-block example-block export-block src-block
+ verse-block)))
+ (contents-begin
+ (if special?
+ ;; These types have no proper contents. Fake line
+ ;; below the block opening line as contents beginning.
+ (save-excursion (goto-char begin) (line-beginning-position 2))
+ (org-element-property :contents-begin element))))
(cond
((not element) (goto-char (point-min)))
((= (point) begin)
@@ -24224,11 +24234,8 @@ convenience:
(goto-char (org-element-property
:post-affiliated (org-element-property :parent element))))
((memq type '(property-drawer table)) (goto-char begin))
- ((memq type '(src-block verse-block))
- (when (eq type 'src-block)
- (setq contents-begin
- (save-excursion (goto-char begin) (forward-line) (point))))
- (if (= (point) contents-begin) (goto-char post-affiliated)
+ (special?
+ (if (<= (point) contents-begin) (goto-char post-affiliated)
;; Inside a verse block, see blank lines as paragraph
;; separators.
(let ((origin (point)))
@@ -24237,7 +24244,6 @@ convenience:
(skip-chars-forward " \r\t\n" origin)
(if (= (point) origin) (goto-char contents-begin)
(beginning-of-line))))))
- ((not contents-begin) (goto-char (or post-affiliated begin)))
((eq type 'paragraph)
(goto-char contents-begin)
;; When at first paragraph in an item or a footnote definition,
diff --git a/lisp/org/ox-html.el b/lisp/org/ox-html.el
index fb8c61334f5..8ce4fb6adcd 100644
--- a/lisp/org/ox-html.el
+++ b/lisp/org/ox-html.el
@@ -174,7 +174,6 @@
(:html-klipsify-src nil nil org-html-klipsify-src)
(:html-klipse-css nil nil org-html-klipse-css)
(:html-klipse-js nil nil org-html-klipse-js)
- (:html-klipse-keep-old-src nil nil org-html-keep-old-src)
(:html-klipse-selection-script nil nil org-html-klipse-selection-script)
(:infojs-opt "INFOJS_OPT" nil nil)
;; Redefine regular options.
@@ -1572,12 +1571,6 @@ https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag"
:package-version '(Org . "9.1")
:type 'string)
-(defcustom org-html-keep-old-src nil
- "When non-nil, use <pre class=\"\"> instead of <pre><code class=\"\">."
- :group 'org-export-html
- :package-version '(Org . "9.1")
- :type 'boolean)
-
;;;; Todos
@@ -3402,12 +3395,16 @@ contextual information."
listing-number
(org-trim (org-export-data caption info))))))
;; Contents.
- (let ((open (if org-html-keep-old-src "<pre" "<pre><code"))
- (close (if org-html-keep-old-src "</pre>" "</code></pre>")))
- (format "%s class=\"src src-%s\"%s%s>%s%s"
- open lang label (if (and klipsify (string= lang "html"))
- " data-editor-type=\"html\"" "")
- code close)))))))
+ (if klipsify
+ (format "<pre><code class=\"src src-%s\"%s%s>%s</code></pre>"
+ lang
+ label
+ (if (string= lang "html")
+ " data-editor-type=\"html\""
+ "")
+ code)
+ (format "<pre class=\"src src-%s\"%s>%s</pre>"
+ lang label code)))))))
;;;; Statistics Cookie
diff --git a/lisp/org/ox-publish.el b/lisp/org/ox-publish.el
index a975abc4871..957b0da7c59 100644
--- a/lisp/org/ox-publish.el
+++ b/lisp/org/ox-publish.el
@@ -435,8 +435,8 @@ This splices all the components into the list."
(let* ((base-dir (file-name-as-directory
(org-publish-property :base-directory project)))
(extension (or (org-publish-property :base-extension project) "org"))
- (match (and (not (eq extension 'any))
- (concat "^[^\\.].*\\.\\(" extension "\\)$")))
+ (match (if (eq extension 'any) ""
+ (format "^[^\\.].*\\.\\(%s\\)$" extension)))
(base-files
(cl-remove-if #'file-directory-p
(if (org-publish-property :recursive project)
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index 5aefdea3305..02b685d240d 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -1026,7 +1026,8 @@ casts and declarations are fontified. Used on level 2 and higher."
(goto-char pos)))))
nil)
-(defun c-font-lock-declarators (limit list types not-top)
+(defun c-font-lock-declarators (limit list types not-top
+ &optional template-class)
;; Assuming the point is at the start of a declarator in a declaration,
;; fontify the identifier it declares. (If TYPES is set, it does this via
;; the macro `c-fontify-types-and-refs'.)
@@ -1040,6 +1041,11 @@ casts and declarations are fontified. Used on level 2 and higher."
;; non-nil, we are not at the top-level ("top-level" includes being directly
;; inside a class or namespace, etc.).
;;
+ ;; TEMPLATE-CLASS is non-nil when the declaration is in template delimiters
+ ;; and was introduced by, e.g. "typename" or "class", such that if there is
+ ;; a default (introduced by "="), it will be fontified as a type.
+ ;; E.g. "<class X = Y>".
+ ;;
;; Nil is always returned. The function leaves point at the delimiter after
;; the last declarator it processes.
;;
@@ -1112,6 +1118,13 @@ casts and declarations are fontified. Used on level 2 and higher."
(goto-char next-pos)
(setq pos nil) ; So as to terminate the enclosing `while' form.
+ (if (and template-class
+ (eq got-init ?=) ; C++ "<class X = Y>"?
+ (c-forward-token-2 1 nil limit) ; Over "="
+ (let ((c-promote-possible-types t))
+ (c-forward-type t))) ; Over "Y"
+ (setq list nil)) ; Shouldn't be needed. We can't have a list, here.
+
(when list
;; Jump past any initializer or function prototype to see if
;; there's a ',' to continue at.
@@ -1340,8 +1353,12 @@ casts and declarations are fontified. Used on level 2 and higher."
(c-backward-syntactic-ws)
(and (c-simple-skip-symbol-backward)
(looking-at c-paren-stmt-key))))
- t)))
-
+ t))
+ (template-class (and (eq context '<>)
+ (save-excursion
+ (goto-char match-pos)
+ (c-forward-syntactic-ws)
+ (looking-at c-template-typename-key)))))
;; Fix the `c-decl-id-start' or `c-decl-type-start' property
;; before the first declarator if it's a list.
;; `c-font-lock-declarators' handles the rest.
@@ -1353,10 +1370,9 @@ casts and declarations are fontified. Used on level 2 and higher."
(if (cadr decl-or-cast)
'c-decl-type-start
'c-decl-id-start)))))
-
(c-font-lock-declarators
(min limit (point-max)) decl-list
- (cadr decl-or-cast) (not toplev)))
+ (cadr decl-or-cast) (not toplev) template-class))
;; A declaration has been successfully identified, so do all the
;; fontification of types and refs that've been recorded.
@@ -1650,7 +1666,8 @@ casts and declarations are fontified. Used on level 2 and higher."
;; font-lock-keyword-face. It always returns NIL to inhibit this and
;; prevent a repeat invocation. See elisp/lispref page "Search-based
;; fontification".
- (let ((decl-search-lim (c-determine-limit 1000))
+ (let ((here (point))
+ (decl-search-lim (c-determine-limit 1000))
paren-state encl-pos token-end context decl-or-cast
start-pos top-level c-restricted-<>-arglists
c-recognize-knr-p) ; Strictly speaking, bogus, but it
@@ -1667,26 +1684,27 @@ casts and declarations are fontified. Used on level 2 and higher."
(when (or (bobp)
(memq (char-before) '(?\; ?{ ?})))
(setq token-end (point))
- (c-forward-syntactic-ws)
- ;; We're now putatively at the declaration.
- (setq start-pos (point))
- (setq paren-state (c-parse-state))
- ;; At top level or inside a "{"?
- (if (or (not (setq encl-pos
- (c-most-enclosing-brace paren-state)))
- (eq (char-after encl-pos) ?\{))
- (progn
- (setq top-level (c-at-toplevel-p))
- (let ((got-context (c-get-fontification-context
- token-end nil top-level)))
- (setq context (car got-context)
- c-restricted-<>-arglists (cdr got-context)))
- (setq decl-or-cast
- (c-forward-decl-or-cast-1 token-end context nil))
- (when (consp decl-or-cast)
- (goto-char start-pos)
- (c-font-lock-single-decl limit decl-or-cast token-end
- context top-level)))))))
+ (c-forward-syntactic-ws here)
+ (when (< (point) here)
+ ;; We're now putatively at the declaration.
+ (setq start-pos (point))
+ (setq paren-state (c-parse-state))
+ ;; At top level or inside a "{"?
+ (if (or (not (setq encl-pos
+ (c-most-enclosing-brace paren-state)))
+ (eq (char-after encl-pos) ?\{))
+ (progn
+ (setq top-level (c-at-toplevel-p))
+ (let ((got-context (c-get-fontification-context
+ token-end nil top-level)))
+ (setq context (car got-context)
+ c-restricted-<>-arglists (cdr got-context)))
+ (setq decl-or-cast
+ (c-forward-decl-or-cast-1 token-end context nil))
+ (when (consp decl-or-cast)
+ (goto-char start-pos)
+ (c-font-lock-single-decl limit decl-or-cast token-end
+ context top-level))))))))
nil))
(defun c-font-lock-enclosing-decls (limit)
@@ -1996,85 +2014,6 @@ on level 2 only and so aren't combined with `c-complex-decl-matchers'."
2 font-lock-type-face)
`(,(concat "\\<\\(" re "\\)\\>")
1 'font-lock-type-face)))
-
- ;; Fontify types preceded by `c-type-prefix-kwds' (e.g. "struct").
- ,@(when (c-lang-const c-type-prefix-kwds)
- `((,(byte-compile
- `(lambda (limit)
- (c-fontify-types-and-refs
- ((c-promote-possible-types t)
- ;; The font-lock package in Emacs is known to clobber
- ;; `parse-sexp-lookup-properties' (when it exists).
- (parse-sexp-lookup-properties
- (cc-eval-when-compile
- (boundp 'parse-sexp-lookup-properties))))
- (save-restriction
- ;; Narrow to avoid going past the limit in
- ;; `c-forward-type'.
- (narrow-to-region (point) limit)
- (while (re-search-forward
- ,(concat "\\<\\("
- (c-make-keywords-re nil
- (c-lang-const c-type-prefix-kwds))
- "\\)\\>")
- limit t)
- (unless (c-skip-comments-and-strings limit)
- (c-forward-syntactic-ws)
- ;; Handle prefix declaration specifiers.
- (while
- (or
- (when (or (looking-at c-prefix-spec-kwds-re)
- (and (c-major-mode-is 'java-mode)
- (looking-at "@[A-Za-z0-9]+")))
- (c-forward-keyword-clause 1)
- t)
- (when (and c-opt-cpp-prefix
- (looking-at
- c-noise-macro-with-parens-name-re))
- (c-forward-noise-clause)
- t)))
- ,(if (c-major-mode-is 'c++-mode)
- `(when (and (c-forward-type)
- (eq (char-after) ?=))
- ;; In C++ we additionally check for a "class
- ;; X = Y" construct which is used in
- ;; templates, to fontify Y as a type.
- (forward-char)
- (c-forward-syntactic-ws)
- (c-forward-type))
- `(c-forward-type))
- )))))))))
-
- ;; Fontify symbols after closing braces as declaration
- ;; identifiers under the assumption that they are part of
- ;; declarations like "class Foo { ... } foo;". It's too
- ;; expensive to check this accurately by skipping past the
- ;; brace block, so we use the heuristic that it's such a
- ;; declaration if the first identifier is on the same line as
- ;; the closing brace. `c-font-lock-declarations' will later
- ;; override it if it turns out to be an new declaration, but
- ;; it will be wrong if it's an expression (see the test
- ;; decls-8.cc).
-;; ,@(when (c-lang-const c-opt-block-decls-with-vars-key)
-;; `((,(c-make-font-lock-search-function
-;; (concat "}"
-;; (c-lang-const c-single-line-syntactic-ws)
-;; "\\(" ; 1 + c-single-line-syntactic-ws-depth
-;; (c-lang-const c-type-decl-prefix-key)
-;; "\\|"
-;; (c-lang-const c-symbol-key)
-;; "\\)")
-;; `((c-font-lock-declarators limit t nil) ; That nil says use `font-lock-variable-name-face';
-;; ; t would mean `font-lock-function-name-face'.
-;; (progn
-;; (c-put-char-property (match-beginning 0) 'c-type
-;; 'c-decl-id-start)
-;; ; 'c-decl-type-start)
-;; (goto-char (match-beginning
-;; ,(1+ (c-lang-const
-;; c-single-line-syntactic-ws-depth)))))
-;; (goto-char (match-end 0)))))))
-
;; Fontify the type in C++ "new" expressions.
,@(when (c-major-mode-is 'c++-mode)
;; This pattern is a probably a "(MATCHER . ANCHORED-HIGHLIGHTER)"
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index bcda093678a..227b3e16485 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1896,6 +1896,17 @@ the type of that expression."
t (c-make-keywords-re t (c-lang-const c-typeof-kwds)))
(c-lang-defvar c-typeof-key (c-lang-const c-typeof-key))
+(c-lang-defconst c-template-typename-kwds
+ "Keywords which, within a template declaration, can introduce a
+declaration with a type as a default value. This is used only in
+C++ Mode, e.g. \"<typename X = Y>\"."
+ t nil
+ c++ '("class" "typename"))
+
+(c-lang-defconst c-template-typename-key
+ t (c-make-keywords-re t (c-lang-const c-template-typename-kwds)))
+(c-lang-defvar c-template-typename-key (c-lang-const c-template-typename-key))
+
(c-lang-defconst c-type-prefix-kwds
"Keywords where the following name - if any - is a type name, and
where the keyword together with the symbol works as a type in
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 3690f673832..99a4841e318 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -1599,8 +1599,11 @@ ARGLIST is either a string, or a list of strings or symbols."
(defvar checkdoc-autofix-flag)
(defvar checkdoc-generate-compile-warnings-flag)
(defvar checkdoc-diagnostic-buffer)
-(defun elisp-flymake--checkdoc-1 ()
- "Do actual work for `elisp-flymake-checkdoc'."
+
+;;;###autoload
+(defun elisp-flymake-checkdoc (report-fn &rest _args)
+ "A Flymake backend for `checkdoc'.
+Calls REPORT-FN directly."
(let (collected)
(let* ((checkdoc-create-error-function
(lambda (text start end &optional unfixable)
@@ -1608,63 +1611,52 @@ ARGLIST is either a string, or a list of strings or symbols."
nil))
(checkdoc-autofix-flag nil)
(checkdoc-generate-compile-warnings-flag nil)
- (buf (generate-new-buffer " *checkdoc-temp*"))
- (checkdoc-diagnostic-buffer buf))
+ (checkdoc-diagnostic-buffer
+ (generate-new-buffer " *checkdoc-temp*")))
(unwind-protect
(save-excursion
(checkdoc-current-buffer t))
- (kill-buffer buf)))
+ (kill-buffer checkdoc-diagnostic-buffer)))
+ (funcall report-fn
+ (cl-loop for (text start end _unfixable) in
+ collected
+ collect
+ (flymake-make-diagnostic
+ (current-buffer)
+ start end :note text)))
collected))
-;;;###autoload
-(defun elisp-flymake-checkdoc (report-fn &rest _args)
- "A Flymake backend for `checkdoc'.
-Calls REPORT-FN directly."
- (unless (derived-mode-p 'emacs-lisp-mode)
- (error "Can only work on `emacs-lisp-mode' buffers"))
- (funcall report-fn
- (cl-loop for (text start end _unfixable) in
- (elisp-flymake--checkdoc-1)
- collect
- (flymake-make-diagnostic
- (current-buffer)
- start end :note text))))
-
(defun elisp-flymake--byte-compile-done (report-fn
- origin-buffer
- output-buffer
- temp-file)
- (unwind-protect
- (with-current-buffer
- origin-buffer
- (save-excursion
- (save-restriction
- (widen)
- (funcall
- report-fn
- (cl-loop with data =
- (with-current-buffer output-buffer
- (goto-char (point-min))
- (search-forward ":elisp-flymake-output-start")
- (read (point-marker)))
- for (string pos _fill level) in data
- do (goto-char pos)
- for beg = (if (< (point) (point-max))
- (point)
- (line-beginning-position))
- for end = (min
- (line-end-position)
- (or (cdr
- (bounds-of-thing-at-point 'sexp))
- (point-max)))
- collect (flymake-make-diagnostic
- (current-buffer)
- (if (= beg end) (1- beg) beg)
- end
- level
- string))))))
- (kill-buffer output-buffer)
- (ignore-errors (delete-file temp-file))))
+ source-buffer
+ output-buffer)
+ (with-current-buffer
+ source-buffer
+ (save-excursion
+ (save-restriction
+ (widen)
+ (funcall
+ report-fn
+ (cl-loop with data =
+ (with-current-buffer output-buffer
+ (goto-char (point-min))
+ (search-forward ":elisp-flymake-output-start")
+ (read (point-marker)))
+ for (string pos _fill level) in data
+ do (goto-char pos)
+ for beg = (if (< (point) (point-max))
+ (point)
+ (line-beginning-position))
+ for end = (min
+ (line-end-position)
+ (or (cdr
+ (bounds-of-thing-at-point 'sexp))
+ (point-max)))
+ collect (flymake-make-diagnostic
+ (current-buffer)
+ (if (= beg end) (1- beg) beg)
+ end
+ level
+ string)))))))
(defvar-local elisp-flymake--byte-compile-process nil
"Buffer-local process started for byte-compiling the buffer.")
@@ -1674,16 +1666,11 @@ Calls REPORT-FN directly."
"A Flymake backend for elisp byte compilation.
Spawn an Emacs process that byte-compiles a file representing the
current buffer state and calls REPORT-FN when done."
- (interactive (list (lambda (stuff)
- (message "aha %s" stuff))))
- (unless (derived-mode-p 'emacs-lisp-mode)
- (error "Can only work on `emacs-lisp-mode' buffers"))
(when elisp-flymake--byte-compile-process
- (process-put elisp-flymake--byte-compile-process 'elisp-flymake--obsolete t)
(when (process-live-p elisp-flymake--byte-compile-process)
(kill-process elisp-flymake--byte-compile-process)))
(let ((temp-file (make-temp-file "elisp-flymake-byte-compile"))
- (origin-buffer (current-buffer)))
+ (source-buffer (current-buffer)))
(save-restriction
(widen)
(write-region (point-min) (point-max) temp-file nil 'nomessage))
@@ -1703,21 +1690,22 @@ current buffer state and calls REPORT-FN when done."
:connection-type 'pipe
:sentinel
(lambda (proc _event)
- (unless (process-live-p proc)
+ (when (eq (process-status proc) 'exit)
(unwind-protect
(cond
+ ((not (eq proc elisp-flymake--byte-compile-process))
+ (flymake-log :warning "byte-compile process %s obsolete" proc))
((zerop (process-exit-status proc))
(elisp-flymake--byte-compile-done report-fn
- origin-buffer
- output-buffer
- temp-file))
- ((process-get proc 'elisp-flymake--obsolete)
- (flymake-log :warning "byte-compile process %s obsolete" proc))
+ source-buffer
+ output-buffer))
(t
(funcall report-fn
:panic
:explanation
- (format "byte-compile process %s died" proc)))))))))
+ (format "byte-compile process %s died" proc))))
+ (ignore-errors (delete-file temp-file))
+ (kill-buffer output-buffer))))))
:stderr null-device
:noquery t)))
diff --git a/lisp/progmodes/flymake-proc.el b/lisp/progmodes/flymake-proc.el
index d08819713a3..52cb1985327 100644
--- a/lisp/progmodes/flymake-proc.el
+++ b/lisp/progmodes/flymake-proc.el
@@ -113,7 +113,7 @@ NAME is the file name function to use, default `flymake-proc-get-real-file-name'
"Currently active Flymake process for a buffer, if any.")
(defvar flymake-proc--report-fn nil
- "If bound, function used to report back to flymake's UI.")
+ "If bound, function used to report back to Flymake's UI.")
(defun flymake-proc-reformat-err-line-patterns-from-compile-el (original-list)
"Grab error line patterns from ORIGINAL-LIST in compile.el format.
@@ -265,7 +265,6 @@ Return t if so, nil if not."
(defun flymake-proc--find-possible-master-files (file-name master-file-dirs masks)
"Find (by name and location) all possible master files.
-
Name is specified by FILE-NAME and location is specified by
MASTER-FILE-DIRS. Master files include .cpp and .c for .h.
Files are searched for starting from the .h directory and max
@@ -626,7 +625,7 @@ Create parent directories as needed."
(defun flymake-proc--panic (problem explanation)
"Tell Flymake UI about a fatal PROBLEM with this backend.
May only be called in a dynamic environment where
-`flymake-proc--dynamic-report-fn' is bound"
+`flymake-proc--report-fn' is bound."
(flymake-log 0 "%s: %s" problem explanation)
(if (and (boundp 'flymake-proc--report-fn)
flymake-proc--report-fn)
@@ -718,7 +717,7 @@ May only be called in a dynamic environment where
(defun flymake-proc-legacy-flymake (report-fn &rest args)
"Flymake backend based on the original Flymake implementation.
This function is suitable for inclusion in
-`flymake-diagnostic-types-alist'. For backward compatibility, it
+`flymake-diagnostic-functions'. For backward compatibility, it
can also be executed interactively independently of
`flymake-mode'."
;; Interactively, behave as if flymake had invoked us through its
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index acc0637ec35..4c4d6aef322 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -203,7 +203,7 @@ generated it."
`(flymake--log-1 ,level ',sublog ,msg ,@args)))
(defun flymake-error (text &rest args)
- "Format TEXT with ARGS and signal an error for flymake."
+ "Format TEXT with ARGS and signal an error for Flymake."
(let ((msg (apply #'format-message text args)))
(flymake-log :error msg)
(error (concat "[Flymake] " msg))))
@@ -223,17 +223,6 @@ TYPE is a key to `flymake-diagnostic-types-alist' and TEXT is a
description of the problem detected in this region."
(flymake--diag-make :buffer buffer :beg beg :end end :type type :text text))
-(defun flymake-ler-make-ler (file line type text &optional full-file)
- (let* ((file (or full-file file))
- (buf (find-buffer-visiting file)))
- (unless buf (flymake-error "No buffer visiting %s" file))
- (pcase-let* ((`(,beg . ,end)
- (with-current-buffer buf
- (flymake-diag-region line nil))))
- (flymake-make-diagnostic buf beg end type text))))
-
-(make-obsolete 'flymake-ler-make-ler 'flymake-make-diagnostic "26.1")
-
(cl-defun flymake--overlays (&key beg end filter compare key)
"Get flymake-related overlays.
If BEG is non-nil and END is nil, consider only `overlays-at'
@@ -342,7 +331,7 @@ function is called with an arbitrary number of arguments:
* the remaining arguments are keyword-value pairs in the
form (:KEY VALUE :KEY2 VALUE2...). Currently, Flymake provides
no such arguments, but backend functions must be prepared to
- accept to accept and possibly ignore any number of them.
+ accept and possibly ignore any number of them.
Backend functions are expected to initiate the buffer check, but
aren't required to complete it check before exiting: if the
@@ -385,8 +374,8 @@ Currently accepted REPORT-KEY arguments are:
* ‘:explanation’: value should give user-readable details of
the situation encountered, if any.
-* ‘:force’: value should be a boolean suggesting that the Flymake
- considers the report even if was somehow unexpected.")
+* ‘:force’: value should be a boolean suggesting that Flymake
+ consider the report even if it was somehow unexpected.")
(defvar flymake-diagnostic-types-alist
`((:error
@@ -395,15 +384,17 @@ Currently accepted REPORT-KEY arguments are:
. ((flymake-category . flymake-warning)))
(:note
. ((flymake-category . flymake-note))))
- "Alist ((KEY . PROPS)*) of properties of Flymake error types.
-KEY can be anything passed as `:type' to `flymake-diag-make'.
+ "Alist ((KEY . PROPS)*) of properties of Flymake diagnostic types.
+KEY designates a kind of diagnostic can be anything passed as
+`:type' to `flymake-make-diagnostic'.
PROPS is an alist of properties that are applied, in order, to
-the diagnostics of each type. The recognized properties are:
+the diagnostics of the type designated by KEY. The recognized
+properties are:
* Every property pertaining to overlays, except `category' and
`evaporate' (see Info Node `(elisp)Overlay Properties'), used
- affect the appearance of Flymake annotations.
+ to affect the appearance of Flymake annotations.
* `bitmap', an image displayed in the fringe according to
`flymake-fringe-indicator-position'. The value actually
@@ -522,23 +513,22 @@ associated `flymake-category' return DEFAULT."
"Buffer-local hash table of a Flymake backend's state.
The keys to this hash table are functions as found in
`flymake-diagnostic-functions'. The values are structures
-of the type `flymake--backend-state', with these slots
+of the type `flymake--backend-state', with these slots:
`running', a symbol to keep track of a backend's replies via its
REPORT-FN argument. A backend is running if this key is
-present. If the key is absent if the backend isn't expecting any
-replies from the backend.
+present. If nil, Flymake isn't expecting any replies from the
+backend.
-`diags', a (possibly empty) list of diagnostic objects created
-with `flymake-make-diagnostic'. This key is absent if the
-backend hasn't reported anything yet.
+`diags', a (possibly empty) list of recent diagnostic objects
+created by the backend with `flymake-make-diagnostic'.
`reported-p', a boolean indicating if the backend has replied
since it last was contacted.
`disabled', a string with the explanation for a previous
-exceptional situation reported by the backend. If this key is
-present the backend is disabled.")
+exceptional situation reported by the backend, nil if the
+backend is operating normally.")
(cl-defstruct (flymake--backend-state
(:constructor flymake--make-backend-state))
@@ -563,7 +553,6 @@ present the backend is disabled.")
&key explanation force
&allow-other-keys)
"Handle reports from BACKEND identified by TOKEN.
-
BACKEND, REPORT-ACTION and EXPLANATION, and FORCE conform to the calling
convention described in `flymake-diagnostic-functions' (which
see). Optional FORCE says to handle a report even if TOKEN was
@@ -650,7 +639,7 @@ different runs of the same backend."
(defun flymake--disable-backend (backend &optional explanation)
"Disable BACKEND because EXPLANATION.
-If is is running also stop it."
+If it is running also stop it."
(flymake-log :warning "Disabling backend %s because %s" backend explanation)
(flymake--with-backend-state backend state
(setf (flymake--backend-state-running state) nil
@@ -666,7 +655,7 @@ If is is running also stop it."
(flymake--backend-state-disabled state) nil
(flymake--backend-state-diags state) nil
(flymake--backend-state-reported-p state) nil))
- ;; FIXME: Should use `condition-case-unless-debug' here, for don't
+ ;; FIXME: Should use `condition-case-unless-debug' here, but don't
;; for two reasons: (1) that won't let me catch errors from inside
;; `ert-deftest' where `debug-on-error' appears to be always
;; t. (2) In cases where the user is debugging elisp somewhere
@@ -719,18 +708,14 @@ Interactively, with a prefix arg, FORCE is t."
(cond
;; Turning the mode ON.
(flymake-mode
- (cond
- ((not flymake-diagnostic-functions)
- (flymake-error "No backends to check buffer %s" (buffer-name)))
- (t
- (add-hook 'after-change-functions 'flymake-after-change-function nil t)
- (add-hook 'after-save-hook 'flymake-after-save-hook nil t)
- (add-hook 'kill-buffer-hook 'flymake-kill-buffer-hook nil t)
+ (add-hook 'after-change-functions 'flymake-after-change-function nil t)
+ (add-hook 'after-save-hook 'flymake-after-save-hook nil t)
+ (add-hook 'kill-buffer-hook 'flymake-kill-buffer-hook nil t)
- (setq flymake--backend-state (make-hash-table))
+ (setq flymake--backend-state (make-hash-table))
- (when flymake-start-syntax-check-on-find-file
- (flymake-start)))))
+ (when flymake-start-syntax-check-on-find-file
+ (flymake-start)))
;; Turning the mode OFF.
(t
@@ -806,13 +791,11 @@ Do it only if `flymake-no-changes-timeout' is non-nil."
(defun flymake-goto-next-error (&optional n filter interactive)
"Go to Nth next Flymake error in buffer matching FILTER.
+Interactively, always move to the next error. With a prefix arg,
+skip any diagnostics with a severity less than ‘:warning’.
-Interactively, always move to the next error. Interactively, and
-with a prefix arg, skip any diagnostics with a severity less than
-‘:warning’.
-
-If ‘flymake-wrap-around’ is non-nil, resumes search from top
-at end of buffer.
+If ‘flymake-wrap-around’ is non-nil and no more next errors,
+resumes search from top.
FILTER is a list of diagnostic types found in
`flymake-diagnostic-types-alist', or nil, if no filter is to be
@@ -852,6 +835,7 @@ applied."
(goto-char (overlay-start target))
(when interactive
(message
+ "%s"
(funcall (overlay-get target 'help-echo)
nil nil (point)))))
(interactive
@@ -862,13 +846,11 @@ applied."
(defun flymake-goto-prev-error (&optional n filter interactive)
"Go to Nth previous Flymake error in buffer matching FILTER.
+Interactively, always move to the previous error. With a prefix
+arg, skip any diagnostics with a severity less than ‘:warning’.
-Interactively, always move to the previous error. Interactively,
-and with a prefix arg, skip any diagnostics with a severity less
-than ‘:warning’.
-
-If ‘flymake-wrap-around’ is non-nil, resumes search from top
-at end of buffer.
+If ‘flymake-wrap-around’ is non-nil and no more previous errors,
+resumes search from bottom.
FILTER is a list of diagnostic types found in
`flymake-diagnostic-types-alist', or nil, if no filter is to be
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 9aa5134ca0d..f79d9a47d31 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -640,10 +640,14 @@ The type returned can be `comment', `string' or `paren'."
((python-rx string-delimiter)
(0 (ignore (python-syntax-stringify))))))
-(defconst python--prettify-symbols-alist
+(defvar python-prettify-symbols-alist
'(("lambda" . ?λ)
("and" . ?∧)
- ("or" . ?∨)))
+ ("or" . ?∨))
+ "Value for `prettify-symbols-alist' in `python-mode'.")
+
+(define-obsolete-variable-alias 'python--prettify-symbols-alist
+ 'python-prettify-symbols-alist "26.1")
(defsubst python-syntax-count-quotes (quote-char &optional point limit)
"Count number of quotes around point (max is 3).
diff --git a/lisp/ses.el b/lisp/ses.el
index 9221476e7a1..4c19c70c5da 100644
--- a/lisp/ses.el
+++ b/lisp/ses.el
@@ -1254,8 +1254,7 @@ preceding cell has spilled over."
((< len width)
;; Fill field to length with spaces.
(setq len (make-string (- width len) ?\s)
- text (if (or (stringp value)
- (eq ses-call-printer-return t))
+ text (if (eq ses-call-printer-return t)
(concat text len)
(concat len text))))
((> len width)
diff --git a/lisp/subr.el b/lisp/subr.el
index d2fefe04f8a..c216877ce5f 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -110,8 +110,7 @@ BODY should be a list of Lisp expressions.
\(fn ARGS [DOCSTRING] [INTERACTIVE] BODY)"
(declare (doc-string 2) (indent defun)
- (debug (&define lambda-list
- [&optional stringp]
+ (debug (&define lambda-list lambda-doc
[&optional ("interactive" interactive)]
def-body)))
;; Note that this definition should not use backquotes; subr.el should not
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 772a72d5c50..d268e1a3fe7 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -288,8 +288,10 @@ which is the \"1006\" extension implemented in Xterm >= 277."
(string-match "down-" last-name)
(equal name (replace-match "" t t last-name)))
(xterm-mouse--set-click-count event click-count)))
- ((not last-time) nil)
- ((and (> double-click-time (* 1000 (- this-time last-time)))
+ ((and last-time
+ double-click-time
+ (or (eq double-click-time t)
+ (> double-click-time (* 1000 (- this-time last-time))))
(equal last-name (replace-match "" t t name)))
(setq click-count (1+ click-count))
(xterm-mouse--set-click-count event click-count))
diff --git a/src/dispnew.c b/src/dispnew.c
index ad59704a168..cb32f09b7c6 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -66,7 +66,7 @@ struct dim
/* Function prototypes. */
-static void update_frame_line (struct frame *, int);
+static void update_frame_line (struct frame *, int, bool);
static int required_matrix_height (struct window *);
static int required_matrix_width (struct window *);
static void increment_row_positions (struct glyph_row *, ptrdiff_t, ptrdiff_t);
@@ -88,7 +88,7 @@ static void check_matrix_pointers (struct glyph_matrix *,
static void mirror_line_dance (struct window *, int, int, int *, char *);
static bool update_window_tree (struct window *, bool);
static bool update_window (struct window *, bool);
-static bool update_frame_1 (struct frame *, bool, bool, bool);
+static bool update_frame_1 (struct frame *, bool, bool, bool, bool);
static bool scrolling (struct frame *);
static void set_window_cursor_after_update (struct window *);
static void adjust_frame_glyphs_for_window_redisplay (struct frame *);
@@ -3121,7 +3121,7 @@ update_frame (struct frame *f, bool force_p, bool inhibit_hairy_id_p)
/* Update the display. */
update_begin (f);
- paused_p = update_frame_1 (f, force_p, inhibit_hairy_id_p, 1);
+ paused_p = update_frame_1 (f, force_p, inhibit_hairy_id_p, 1, false);
update_end (f);
if (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))
@@ -3174,7 +3174,7 @@ update_frame_with_menu (struct frame *f, int row, int col)
cursor_at_point_p = !(row >= 0 && col >= 0);
/* Force update_frame_1 not to stop due to pending input, and not
try scrolling. */
- paused_p = update_frame_1 (f, 1, 1, cursor_at_point_p);
+ paused_p = update_frame_1 (f, 1, 1, cursor_at_point_p, true);
/* ROW and COL tell us where in the menu to position the cursor, so
that screen readers know the active region on the screen. */
if (!cursor_at_point_p)
@@ -4474,7 +4474,7 @@ scrolling_window (struct window *w, bool header_line_p)
static bool
update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p,
- bool set_cursor_p)
+ bool set_cursor_p, bool updating_menu_p)
{
/* Frame matrices to work on. */
struct glyph_matrix *current_matrix = f->current_matrix;
@@ -4513,7 +4513,7 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p,
/* Update the individual lines as needed. Do bottom line first. */
if (MATRIX_ROW_ENABLED_P (desired_matrix, desired_matrix->nrows - 1))
- update_frame_line (f, desired_matrix->nrows - 1);
+ update_frame_line (f, desired_matrix->nrows - 1, updating_menu_p);
/* Now update the rest of the lines. */
for (i = 0; i < desired_matrix->nrows - 1 && (force_p || !input_pending); i++)
@@ -4539,7 +4539,7 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p,
if (!force_p && (i - 1) % preempt_count == 0)
detect_input_pending_ignore_squeezables ();
- update_frame_line (f, i);
+ update_frame_line (f, i, updating_menu_p);
}
}
@@ -4775,7 +4775,7 @@ count_match (struct glyph *str1, struct glyph *end1, struct glyph *str2, struct
/* Perform a frame-based update on line VPOS in frame FRAME. */
static void
-update_frame_line (struct frame *f, int vpos)
+update_frame_line (struct frame *f, int vpos, bool updating_menu_p)
{
struct glyph *obody, *nbody, *op1, *op2, *np1, *nend;
int tem;
@@ -4814,6 +4814,12 @@ update_frame_line (struct frame *f, int vpos)
current_row->enabled_p = true;
current_row->used[TEXT_AREA] = desired_row->used[TEXT_AREA];
+ /* For some reason, cursor is sometimes moved behind our back when a
+ frame with a TTY menu is redrawn. Homing the cursor as below
+ fixes that. */
+ if (updating_menu_p)
+ cursor_to (f, 0, 0);
+
/* If desired line is empty, just clear the line. */
if (!desired_row->enabled_p)
{
diff --git a/src/editfns.c b/src/editfns.c
index d88a913c667..e65bd34da87 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -4179,6 +4179,7 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
multibyte character of the previous string. This flag tells if we
must consider such a situation or not. */
bool maybe_combine_byte;
+ Lisp_Object val;
bool arg_intervals = false;
USE_SAFE_ALLOCA;
sa_avail -= sizeof initial_buffer;
@@ -4417,7 +4418,10 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
{
if (format == end && format - format_start == 2
&& ! string_intervals (args[0]))
- return arg;
+ {
+ val = arg;
+ goto return_val;
+ }
/* handle case (precision[n] >= 0) */
@@ -4862,11 +4866,14 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
emacs_abort ();
if (! new_result)
- return args[0];
+ {
+ val = args[0];
+ goto return_val;
+ }
if (maybe_combine_byte)
nchars = multibyte_chars_in_text ((unsigned char *) buf, p - buf);
- Lisp_Object val = make_specified_string (buf, nchars, p - buf, multibyte);
+ val = make_specified_string (buf, nchars, p - buf, multibyte);
/* If the format string has text properties, or any of the string
arguments has text properties, set up text properties of the
@@ -4964,6 +4971,7 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
}
}
+ return_val:
/* If we allocated BUF or INFO with malloc, free it too. */
SAFE_FREE ();
diff --git a/src/gnutls.c b/src/gnutls.c
index d7a1399f106..b55d1b9289f 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -2472,7 +2472,6 @@ syms_of_gnutls (void)
DEFSYM (QCcipher_blocksize, ":cipher-blocksize");
DEFSYM (QCcipher_keysize, ":cipher-keysize");
DEFSYM (QCcipher_tagsize, ":cipher-tagsize");
- DEFSYM (QCcipher_keysize, ":cipher-keysize");
DEFSYM (QCcipher_ivsize, ":cipher-ivsize");
DEFSYM (QCmac_algorithm_id, ":mac-algorithm-id");
diff --git a/src/nsterm.m b/src/nsterm.m
index f0b6a70dae3..abfdffc9f5e 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -6893,6 +6893,9 @@ not_in_argv (NSString *arg)
NSTRACE_RECT ("[sender frame]", [sender frame]);
NSTRACE_FSTYPE ("fs_state", fs_state);
+ if (!FRAME_LIVE_P (emacsframe))
+ return frameSize;
+
if (fs_state == FULLSCREEN_MAXIMIZED
&& (maximized_width != (int)frameSize.width
|| maximized_height != (int)frameSize.height))
diff --git a/src/process.c b/src/process.c
index 2733fa39113..05feba73253 100644
--- a/src/process.c
+++ b/src/process.c
@@ -8097,7 +8097,6 @@ syms_of_process (void)
DEFSYM (Qreal, "real");
DEFSYM (Qnetwork, "network");
DEFSYM (Qserial, "serial");
- DEFSYM (Qpipe, "pipe");
DEFSYM (QCbuffer, ":buffer");
DEFSYM (QChost, ":host");
DEFSYM (QCservice, ":service");
diff --git a/src/sysdep.c b/src/sysdep.c
index 26d381f5796..8291a606bea 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -232,7 +232,18 @@ emacs_get_current_dir_name (void)
bool use_libc = true;
# endif
if (use_libc)
- return get_current_dir_name ();
+ {
+ /* GNU/Linux get_current_dir_name can return a string starting
+ with "(unreachable)" (Bug#27871). */
+ char *wd = get_current_dir_name ();
+ if (wd && ! (IS_DIRECTORY_SEP (*wd) || (*wd && IS_DEVICE_SEP (wd[1]))))
+ {
+ free (wd);
+ errno = ENOENT;
+ return NULL;
+ }
+ return wd;
+ }
# endif
char *buf;
diff --git a/test/lisp/emacs-lisp/generator-tests.el b/test/lisp/emacs-lisp/generator-tests.el
index 4cc6c841dac..cbb136ae919 100644
--- a/test/lisp/emacs-lisp/generator-tests.el
+++ b/test/lisp/emacs-lisp/generator-tests.el
@@ -282,3 +282,13 @@ identical output.
(ert-deftest cps-test-declarations-preserved ()
(should (equal (documentation 'generator-with-docstring) "Documentation!"))
(should (equal (get 'generator-with-docstring 'lisp-indent-function) 5)))
+
+(ert-deftest cps-iter-lambda-with-dynamic-binding ()
+ "`iter-lambda' with dynamic binding produces correct result (bug#25965)."
+ (should (= 1
+ (iter-next
+ (funcall (iter-lambda ()
+ (let* ((fill-column 10) ;;any special variable will do
+ (i 0)
+ (j (setq i (1+ i))))
+ (iter-yield i))))))))