diff options
author | Nicolas Petton <nicolas@petton.fr> | 2017-10-05 23:18:23 +0200 |
---|---|---|
committer | Nicolas Petton <nicolas@petton.fr> | 2017-10-05 23:18:23 +0200 |
commit | 16dc580aa61832285269f8de081248bac618cf84 (patch) | |
tree | 1d057d8b263fb8219c36325a8fa72e53ae1dfe7d /ChangeLog.3 | |
parent | 82d2a05a74c120480dc1b68243430c9417bfc523 (diff) | |
download | emacs-16dc580aa61832285269f8de081248bac618cf84.tar.gz |
; Update ChangeLog.3
Diffstat (limited to 'ChangeLog.3')
-rw-r--r-- | ChangeLog.3 | 28146 |
1 files changed, 28145 insertions, 1 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: |