Format shell commands in tramp.texi
[emacs.git] / ChangeLog.3
blob40423be3799733e351c18878216805d38aad01d9
2 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
4         Update authors.el
6         * admin/authors.el (authors-renamed-files-alist)
7         (authors-valid-file-names): Additions.
9 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
11         Fix dynamic binding wrapper in iter-lambda (bug#25965)
13         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
14         Remove extra evaluation of form.
15         * test/lisp/emacs-lisp/generator-tests.el
16         (cps-iter-lambda-with-dynamic-binding): New test.
18 2017-10-05  Rasmus  <rasmus@gmx.us>
20         Update Org to v9.1.2
22         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
24 2017-10-05  Alan Mackenzie  <acm@muc.de>
26         Fix irregularities with CC Mode fontification, particularly with "known types"
28         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
29         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
30         type.
31         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
32         have a construct like the above.  Pass this as argument to
33         c-font-lock-declarators.
34         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
35         being processed starts before the function's starting position.
36         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
37         preceded by, e.g., "struct"".
39         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
40         (c-template-typename-key): New lang defconsts and defvar.
42 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
44         Fix breakage due to recent change in tabulated-list-print-entry
46         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
47         Update the doc string.
48         (tabulated-list-print-entry): Revert to using only 2 arguments.
49         Update the doc string.
50         (tabulated-list-entry-lnum-width): New defvar.
51         (tabulated-list-print): Compute the width of line-number display
52         once, then store that value in tabulated-list-entry-lnum-width,
53         for tabulated-list-printer to use.  (Bug#28704)
55 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
57         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
59 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
61         Set xterm click count to 1 even with no last click
63         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
64         the last click so that click-count is initialized properly.
65         Handle the value of t for double-click-time.
66         (Bug#28658)
68 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
70         Support indirection for all shr-tag-* calls
72         The 'shr-external-rendering-functions' variable was previously only
73         honored in the shr-descend function, now all direct calls to the
74         shr-tag-* functions have been replaced by a call to
75         'shr-indirect-call' which tries using an alternative rendering
76         function first.
78         * lisp/net/shr.el (shr-indirect-call): New helper function.
79         (shr-descend, shr-tag-object, shr-tag-video):
80         (shr-collect-extra-strings-in-table): Fix callers to call via
81         shr-indirect-call.  (Bug#28402)
83 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
85         Speed up list-packages when 'visual' line numbers are displayed
87         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
88         Update the doc string.
89         (tabulated-list-print-entry): Accept an additional optional
90         argument INDENT.  Update the doc string.
91         (tabulated-list-print): Compute the width of line-number display
92         once, then call tabulated-list-printer with that value as 3rd
93         argument.  (Bug#28704)
95 2017-10-05  João Távora  <joaotavora@gmail.com>
97         Misc. minor adjustments to Flymake
99         - Add a half-decent minor-mode menu;
100         - Fix "waiting for backends" mode line message;
101         - Adjust the flymake-diag-region API;
102         - Autoload the flymake-log macro;
103         - Auto-disable the legacy backend in more situations;
104         - Fix a couple of warnings in legacy backend.
106         * lisp/progmodes/flymake-proc.el
107         (flymake-proc--diagnostics-for-pattern): Use new
108         flymake-diag-region.
110         * lisp/progmodes/flymake-proc.el
111         (flymake-proc-legacy-flymake): Do error when no
112         buffer-file-name or not writable.
113         (flymake-proc-legacy-flymake)
114         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
116         * lisp/progmodes/flymake.el (flymake-diag-region):
117         Autoload.  Take buffer as first argument.
119         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
120         New command.
121         (flymake-menu): Add a simple menu.
122         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
123         log buffer when clicking exceptional warnings.
125 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
127         Fix search for ~/.Xdefaults-HOSTNAME
129         * src/xrdb.c (get_environ_db): Fix typo when handling
130         ~/.Xdefaults-HOSTNAME (Bug#28708).
132 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
134         Speed up (format "%s" STRING) and the like
136         Although the Lisp manual said that ‘format’ returns a
137         newly-allocated string, this was not true for a few cases like
138         (format "%s" ""), and fixing the documentation to allow reuse of
139         arguments lets us improve performance in common cases like
140         (format "foo") and (format "%s" "foo") (Bug#28625).
141         * doc/lispref/strings.texi (Formatting Strings):
142         * etc/NEWS:
143         Say that the result of ‘format’ might not be newly allocated.
144         * src/callint.c (Fcall_interactively):
145         * src/dbusbind.c (XD_OBJECT_TO_STRING):
146         * src/editfns.c (Fmessage, Fmessage_box):
147         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
148         Just use Fformat or Fformat_message, as that’s simpler and no
149         longer makes unnecessary copies.
150         * src/editfns.c (styled_format): Remove last argument, as it
151         is no longer needed: all callers now want it to behave as if it
152         were true.  All remaining callers changed.  Make this function
153         static again.  Simplify the function now that we no longer
154         need to worry about whether the optimization is allowed.
156 2017-10-04  Alan Mackenzie  <acm@muc.de>
158         Fontify untyped function declarations in C Mode correctly.
160         Also correct two bugs where deleting WS at a BOL could leave an untyped
161         function declaration unfontified.
163         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
164         "top-level" when we're in a macro.
165         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
166         Mode as a implicitly typed function declaration.
167         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
168         macro.  It's not a function plus arglist.
170         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
171         defvar.
173         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
174         over any following parenthesis expression (i.e. parameter list).
175         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
176         the returned region, to cope with deletions at column 0.
178 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
180         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
182         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
184 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
186         Avoid crashes on C-g when several threads wait for input
188         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
189         (getcjmp): Define to current thread's 'm_getcjmp'.
190         * src/thread.c (maybe_reacquire_global_lock): Switch to main
191         thread, since this is called from a SIGINT handler, which always
192         runs in the context of the main thread.
193         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
194         definitions before thread.h is included, as thread.h now uses
195         sys_jmp_buf.
196         * src/keyboard.c (getcjmp): Remove declaration.
197         (read_char): Don't call maybe_reacquire_global_lock here.
198         (handle_interrupt): Call maybe_reacquire_global_lock here, if
199         invoked from the SIGINT handler, to make sure
200         quit_throw_to_read_char runs with main thread's Lisp bindings and
201         uses the main thread's jmp_buf buffer.  (Bug#28630)
203 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
205         Warn if --without-pop is now the default
207         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
208         Warn about the change if defaulting to "no".  Update URLs.
210 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
212         --with-pop is now the default only on MS-Windows
214         Problem reported by N. Jackson (Bug#28597).
215         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
216         * INSTALL, configure.ac, etc/NEWS:
217         Make --with-pop the default only on native MS-Windows.
219 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
221         Add support for `file-system-info' in Tramp
223         * lisp/net/tramp.el (tramp-file-name-for-operation):
224         Add `file-system-info'.
226         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
227         (tramp-adb-file-name-handler-alist): Use it.
229         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
230         (tramp-gvfs-file-system-attributes-regexp): New defconst.
231         (tramp-gvfs-handle-file-system-info): New defun.
232         (tramp-gvfs-file-name-handler-alist): Use it.
233         (tramp-gvfs-get-directory-attributes): Fix property name.
234         (tramp-gvfs-get-root-attributes): Support also file system attributes.
236         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
237         (tramp-sh-file-name-handler-alist): Use it.
238         (tramp-sh-handle-insert-directory): Insert size information.
239         (tramp-get-remote-df): New defun.
241         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
242         (tramp-smb-file-name-handler-alist): Use it.
243         (tramp-smb-handle-insert-directory): Insert size information.
245         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
246         New test.
247         (tramp-test38-asynchronous-requests)
248         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
249         (tramp-test41-unload): Rename.
251 2017-10-03  João Távora  <joaotavora@gmail.com>
253         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
255 2017-10-03  João Távora  <joaotavora@gmail.com>
257         Start rewriting Flymake manual
259         Missing the parts pertaining to the new customization API.
261         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
262         (Installing Flymake): Delete most of this.
263         (Running the syntax check): Mention flymake-start.
264         (Navigating to error lines): Rewrite.
265         (Viewing error messages): Commente out.
266         (Syntax check statuses, Troubleshooting): Rewrite a bit.
267         (Customizable variables): New section under "Using
268         Flymake".  Don't mention any proc variables here.
269         (Configuring Flymake): Delete
270         (Proc backend): New chapter
271         (Proc customization variables): New chapter.
273         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
274         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
275         (Running the syntax check): Simplify.
276         (Viewing error messages): Dekete,
277         (Syntax check statuses): Rewrite.
278         (Troubleshooting): Simplify.
279         (Customizable variables): Rewrite.
280         (Extending Flymake): New chapter, empty for now.
281         (The legacy Proc backend): New chapter.
282         (Proc customizable variables)
283         (Adding support for a new syntax check tool)
284         (Implementation overview)
285         (Making a temporary copy)
286         (Locating a master file)
287         (Getting the include directories)
288         (Locating the buildfile)
289         (Starting the syntax check process)
290         (Parsing the output)
291         (Interaction with other modes)
292         (Example---Configuring a tool called via make)
293         (Example---Configuring a tool called directly): Rewrite a bit.
295 2017-10-03  João Távora  <joaotavora@gmail.com>
297         Minimal tweak as an attempt to future-proof Flymake API
299         Discussed with Stefan that this should allow Flymake to request more
300         from backends in the future, while also allowing backends to report
301         more accurately.
303         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
304         (elisp-flymake-byte-compile): Adjust to new API.
306         * lisp/progmodes/flymake-proc.el ()
307         (flymake-proc-legacy-flymake): Adjust to new API.
309         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
310         Review API again.
311         (flymake--handle-report): Allow other keys.  Change ACTION to
312         REPORT-ACTION.
314 2017-10-03  João Távora  <joaotavora@gmail.com>
316         Integrate Flymake elisp checkers into elisp-mode.el directly
318         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
319         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
320         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
321         (elisp-flymake--byte-compile-done)
322         (elisp-flymake--byte-compile-process)
323         (elisp-flymake-byte-compile): Rename from flymake-elisp
324         counterparts in deleted flymake-elisp.el
325         (elisp-flymake--batch-compile-for-flymake): New helper.
326         (checkdoc-create-error-function)
327         (checkdoc-autofix-flag)
328         (checkdoc-generate-compile-warnings-flag)
329         (checkdoc-diagnostic-buffer): Forward declare.
331         * lisp/progmodes/flymake-elisp.el: Delete.
333 2017-10-03  João Távora  <joaotavora@gmail.com>
335         Hook Flymake onto proper checkdoc and byte-compile interfaces
337         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
338         with little knowledge of actual internals or thought given to the
339         usefulness of said interfaces in contexts other than Flymake's.
341         * lisp/emacs-lisp/bytecomp.el
342         (byte-compile-log-warning-function): New variable.
343         (byte-compile-log-warning): Use it.
344         (byte-compile--log-warning-for-byte-compile): New function.
346         * lisp/emacs-lisp/checkdoc.el
347         (checkdoc-create-error-function): New variable.
348         (checkdoc-create-error): Use it.
349         (checkdoc--create-error-for-checkdoc): New function.xo
351         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
352         Use checkdoc-create-error-function.
353         (flymake-elisp--batch-byte-compile): Use
354         byte-compile-log-warning-function.
356 2017-10-03  João Távora  <joaotavora@gmail.com>
358         Tweak Flymake autoloads and dependencies
360         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
361         flymake-diagnostic-functions here.
363         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
364         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
365         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
366         Autoload.  (flymake-elisp-setup-backends): Remove.
368         * lisp/progmodes/flymake.el: Add some top-level comments.
369         (flymake-make-diagnostic)
370         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
372         Where to fixup this shit?
374 2017-10-03  João Távora  <joaotavora@gmail.com>
376         Capitalize "Flymake" in docstrings and comments
378         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
379         (flymake-elisp-setup-backends): Capitalize "Flymake"
381         * lisp/progmodes/flymake-proc.el:
382         (flymake-proc-reformat-err-line-patterns-from-compile-el)
383         (flymake-proc--panic, flymake-proc-legacy-flymake)
384         (flymake-start-syntax-check, flymake-proc-compile)
385         (define-obsolete-variable-alias): Capitalize "Flymake"
387         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
388         (flymake-make-diagnostic, flymake-delete-own-overlays)
389         (flymake-diagnostic-functions)
390         (flymake-diagnostic-types-alist, flymake-is-running)
391         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
392         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
394 2017-10-03  João Távora  <joaotavora@gmail.com>
396         Flymake backends can report multiple times per check
398         Rewrote a significant part of the Flymake backend API.  Flymake now
399         ignores the return value of backend functions: a function can either
400         returns or errors.  If it doesn't error, a backend is no longer
401         constrained to call REPORT-FN exactly once.  It may do so any number
402         of times, cumulatively reporting diagnostics.  Flymake keeps track of
403         outdated REPORT-FN instances and disconsiders obsolete reports.
404         Backends should avoid reporting obsolete data by cancelling any
405         ongoing processing at every renewed call to the backend function.
407         Consolidated flymake.el internal data structures to require less
408         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
409         new semantics.
411         Adapted and simplified the implementation of elisp and legacy
412         backends, fixing potential race conditions when calling backends in
413         rapid succession.
415         Added a new test for a backend that calls REPORT-FN multiple
416         times.  Simplify test infrastructure.
418         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
419         (flymake-elisp-byte-compile): Error instead of returning nil
420         if not in emacs-lisp-mode.
421         (flymake-elisp--byte-compile-process): New buffer-local variable.
422         (flymake-elisp-byte-compile): Mark (and kill) previous process
423         obsolete process before starting a new one.  Don't report if
424         obsolete process.
426         * lisp/progmodes/flymake-proc.el
427         (flymake-proc--current-process): New buffer-local variable.
428         (flymake-proc--processes): Remove.
429         (flymake-proc--process-filter): Don't bind
430         flymake-proc--report-fn.
431         (flymake-proc--process-sentinel): Rewrite.  Don't report if
432         obsolete process.
433         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
434         previous process obsolete process before starting a new
435         one.  Integrate flymake-proc--start-syntax-check-process
436         helper.
437         (flymake-proc--start-syntax-check-process): Delete.
438         (flymake-proc-stop-all-syntax-checks): Don't use
439         flymake-proc--processes, iterate buffers.
440         (flymake-proc-compile):
442         * lisp/progmodes/flymake.el (subr-x): Require it
443         explicitly.
444         (flymake-diagnostic-functions): Reword docstring.
445         (flymake--running-backends, flymake--disabled-backends)
446         (flymake--diagnostics-table): Delete.
447         (flymake--backend-state): New buffer-local variable and new defstruct.
448         (flymake--with-backend-state, flymake--collect)
449         (flymake-running-backends, flymake-disabled-backends)
450         (flymake-reporting-backends): New helpers.
451         (flymake-is-running): Use flymake-running-backends.
452         (flymake--handle-report): Rewrite.
453         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
454         buffer or not at all.
455         (flymake--disable-backend, flymake--run-backend): Rewrite.
456         (flymake-start): Rewrite.
457         (flymake-mode): Set flymake--backend-state.
458         (flymake--mode-line-format): Rewrite.
460         * test/lisp/progmodes/flymake-tests.el
461         (flymake-tests--wait-for-backends): New helper.
462         (flymake-tests--call-with-fixture): Use it.
463         (included-c-header-files): Fix whitespace.
464         (flymake-tests--diagnose-words): New helper.
465         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
466         (flymake-tests--assert-set): Use quote.
467         (recurrent-backend): New test.
469 2017-10-03  João Távora  <joaotavora@gmail.com>
471         Flymake uses proper idle timers
473         Also, flymake-no-changes-timeout can be set to nil to disable
474         automatic periodic checks.  But even in that situation the idle timer
475         still runs at a reduced rate to detect changes in the variable and
476         revert that decision.
478         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
479         (flymake-last-change-time): Delete.
480         (flymake--schedule-timer-maybe): New helper.
481         (flymake-after-change-function): Use it.
482         (flymake-on-timer-event): Delete
483         (flymake-mode): Don't scheduler timer.
485 2017-10-03  João Távora  <joaotavora@gmail.com>
487         Flymake variable flymake-diagnostic-functions now a special hook
489         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
490         flymake-diagnostic-functions.
492         * lisp/progmodes/flymake-elisp.el
493         (flymake-elisp-setup-backends): Use add-hook.
495         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
496         Revise docstring.
497         (flymake-start): Use run-hook-wrapped.
499 2017-10-03  João Távora  <joaotavora@gmail.com>
501         Batch of minor Flymake cleanup actions agreed to with Stefan
503         Discussed with Stefan, in no particular order
505         - Remove aliases for symbols thought to be internal to flymake-proc.el
506         - Don’t need :group in defcustom and defface in flymake.el
507         - Fix docstring of flymake-make-diagnostic
508         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
509         - Mark overlays with just the property ’flymake, not ’flymake-overlay
510         - Tune flymake-overlays for performance
511         - Make flymake-mode-on and flymake-mode-off obsolete
512         - Don’t use hash-table-keys unless necessary.
513         - Copyright notice in flymake-elisp.
515         Added some more
517         - Clarify docstring of flymake-goto-next-error
518         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
519         - Prevent compilation warnings in flymake-proc.el
520         - Remove doctring from obsolete aliases
522         Now the changelog:
524         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
526         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
527         (flymake-proc-diagnostic-type-pred)
528         (flymake-proc-default-guess)
529         (flymake-proc--get-file-name-mode-and-masks): Move up to
530         beginning of file to shoosh compiler warnings
531         (define-obsolete-variable-alias): Delete many obsolete aliases.
533         * lisp/progmodes/flymake.el (flymake-error-bitmap)
534         (flymake-warning-bitmap, flymake-note-bitmap)
535         (flymake-fringe-indicator-position)
536         (flymake-start-syntax-check-on-newline)
537         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
538         (flymake-start-syntax-check-on-find-file, flymake-log-level)
539         (flymake-wrap-around, flymake-error, flymake-warning)
540         (flymake-note): Don't need :group in these defcustom and defface.
541         (flymake--run-backend): Clarify comment
542         (flymake-mode-map): Remove.
543         (flymake-make-diagnostic): Fix docstring.
544         (flymake--highlight-line, flymake--overlays): Identify flymake
545         overlays with just ’flymake.
546         (flymake--overlays): Reverse order of invocation for
547         cl-remove-if-not and cl-sort.
548         (flymake-mode-on)
549         (flymake-mode-off): Make obsolete.
550         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
551         (flymake-diagnostic-functions): Clarify keyword arguments in
552         docstring.
554         Maybe squash in that one where I remove many obsoletes
556 2017-10-03  João Távora  <joaotavora@gmail.com>
558         Explicitly add a(n empty) keymap for Flymake
560         Too early to decide what will be in it, if anything.  Though "M-n" and
561         "M-p" would be great.
563         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
565 2017-10-03  João Távora  <joaotavora@gmail.com>
567         Flymake uses some new fringe bitmaps
569         Also fix behaviour whereby flymake wouldn't react to a change in the
570         variable.
572         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
573         (flymake-warning-bitmap): Update bitmaps.
574         (flymake-note-bitmap): New defcustom.
575         (flymake-double-exclamation-mark): New bitmap.
576         (flymake-error, flymake-warning, flymake-note)
577         (flymake--highlight-line): 'bitmap property must be a symbol.
578         Also set default face to flymake-error.
579         (flymake--fringe-overlay-spec): Bitmap property can be a
580         variable symbol.
582 2017-10-03  João Távora  <joaotavora@gmail.com>
584         Remove old flymake-display-err-menu-for-current-line, it's useless
586         See https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00949.html
588         * lisp/progmodes/flymake-ui.el
589         (flymake-popup-current-error-menu): Remove.
591 2017-10-03  João Távora  <joaotavora@gmail.com>
593         Treat Flymake errors as just another type of diagnostic
595         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
596         (flymake--handle-report, flymake-popup-current-error-menu):
597         Don't use it.
599 2017-10-03  João Távora  <joaotavora@gmail.com>
601         Fix three Flymake bugs when checking C header files
603         The first of these problems is longstanding: if an error-less B.h is
604         included from error-ridden A.h, flymake's legacy parser will panic
605         (and disable itself) since it sees a non-zero exit for a clean file.
606         To fix this, recommend returning 'true' in the documentation for the
607         check-syntax target.
609         Another problem was introduced by the parser rewrite.  For error
610         patterns spanning more than one line, point may be left in the middle
611         of a line and thus render other patterns useless.  Those patterns were
612         written for the old line-by-line parser.  To make them useful again,
613         move to the beginning of line in those situations.
615         The third problem was also longstanding and happened on newer GCC's:
616         The "In file included from" prefix confused
617         flymake-proc-get-real-file-name.  Fix this.
619         Also updated flymake--diag-region to fallback to highlighting a full
620         line less often.
622         Add automatic tests to check this.
624         * lisp/progmodes/flymake-proc.el
625         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
626         accidentally spans more than one line.  Don't create
627         diagnostics without error messages.
628         (flymake-proc-real-file-name-considering-includes): New
629         helper.
630         (flymake-proc-allowed-file-name-masks): Use it.
632         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
633         argument explicitly optional.  Only fall back to full line in extreme
634         cases.
636         * test/lisp/progmodes/flymake-tests.el
637         (included-c-header-files): New test.
638         (different-diagnostic-types): Update.
640         * test/lisp/progmodes/flymake-resources/Makefile
641         (check-syntax): Always return success (0) error code.
642         (CC_OPTS): Add -Wextra
644         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
645         (main): Rewrite comments.
647         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
648         Include some dummy header files.
650         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
652         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
654         * doc/misc/flymake.texi (Example---Configuring a tool called
655         via make): Recommend adding "|| true" to the check-syntax target.
657 2017-10-03  João Távora  <joaotavora@gmail.com>
659         Add interactive flymake-start function
661         * lisp/progmodes/flymake.el (flymake-on-timer-event)
662         (flymake-after-change-function, flymake-mode): Call
663         flymake-start.
664         (flymake-start): Rename from flymake--start-syntax-check.
666 2017-10-03  João Távora  <joaotavora@gmail.com>
668         A couple of Flymake backends for emacs-lisp-mode
670         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
671         automatically, but it affects emacs-lisp-mode-hook so that
672         flymake-diagnostic-functions is setup with a suitable buffer-local
673         value.  The variable flymake-diagnostic-funtions in every live
674         emacs-lisp-mode buffer is also adjusted.
676         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
678         * lisp/progmodes/flymake-elisp.el: New file.
680 2017-10-03  João Távora  <joaotavora@gmail.com>
682         Fancy Flymake mode-line construct displays status
684         Imitates compilation-mode's mode-line a bit, and uses its faces.
686         * lisp/progmodes/flymake.el
687         (flymake-error, flymake-warning, flymake-note): Add
688         mode-line-face to these flymake error types.
689         (flymake-note): Notes don't need a noisy fringe bitmap.
690         (flymake-lighter): Delete.
691         (flymake--update-lighter): Delete.
692         (flymake--mode-line-format): New function and variable.
693         (flymake--diagnostics-table): New buffer-local variable.
694         (flymake--handle-report): Don't update "lighters".  Affect
695         flymake--diagnostics-table.
696         (flymake--run-backend): Init flymake--diagnostics-table for backend.
697         (flymake-mode): Use flymake--mode-line-format.
698         (flymake-mode): Don't update lighter.
699         (flymake--highlight-line): Be more careful when overriding a
700         nil default overlay property.
702 2017-10-03  João Távora  <joaotavora@gmail.com>
704         Tweak Flymake commands flymake-goto-[next/prev]-error
706         Add filters, useful for backends like the upcoming
707         flymake-elisp-checkdoc backend, for example, which litters everything
708         with low-priority notes.
710         Also re-implement wraparound for flymake-goto-next-error. Manual
711         mentions this, so it's probably a good idea to keep it.  Added a new
712         customization variable flymake-wrap-around to control it.
714         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
715         (flymake-goto-next-error): Accept FILTER argument.
716         (flymake-wrap-around): New variable.
717         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
719         * test/lisp/progmodes/flymake-tests.el
720         (different-diagnostic-types, dummy-backends): Pass FILTER to
721         flymake-goto-prev-error.
722         (different-diagnostic-types)
723         (dummy-backends): Use flymake-wrap-around.
725 2017-10-03  João Távora  <joaotavora@gmail.com>
727         Flymake's flymake-proc.el backend slightly easier to debug
729         Misc cleanup in flymake-proc.el
731         Improve description of what this file contains.
733         Better name for the backend function.  Fix the case where it is run
734         interactively.
736         Keep the output buffer alive iff the external process panics.
738         * lisp/progmodes/flymake-proc.el
739         (flymake-proc-legacy-flymake): Rename from
740         flymake-proc-start-syntax-check.  Allow running interactively.
741         (flymake-start-syntax-check): Obsolete alias for
742         flymake-proc-legacy-flymake.
743         (flymake-proc-start-syntax-check): Delete.
744         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
745         (flymake-proc--process-sentinel): Keep output buffer alive.
746         Clarify with comments.
747         (flymake-proc--diagnostics-for-pattern)
748         (flymake-proc--process-sentinel)
749         (flymake-proc--safe-delete-directory)
750         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
752 2017-10-03  João Távora  <joaotavora@gmail.com>
754         Simplify Flymake logging and erroring
756         Use display-warning and a dedicated *Flymake log* buffer.
758         To ease readability, flymake log messages are now prefixed with a
759         common prefix and the buffer that originated them.
761         Some situations of over-zealous logging are fixed.
763         Use byte-compiler info, if available, to determine whence the
764         flymake-related log message is coming.
766         * lisp/progmodes/flymake-proc.el
767         (flymake-proc--diagnostics-for-pattern): Improve log message.
768         (flymake-proc--panic): Always flymake-log an error
769         (flymake-proc--safe-delete-file)
770         (flymake-proc--safe-delete-directory):
771         Downgrade warning
772         (flymake-proc-start-syntax-check): Simplify slightly.
773         (flymake-proc--start-syntax-check-process): Simplify.
774         (flymake-proc--init-find-buildfile-dir)
775         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
776         No need to warn twice.
778         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
779         (flymake--log-1): New helper.
780         (flymake-log-level): Deprecate.
781         (flymake-error): New helper.
782         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
783         Use flymake-error.
784         (flymake-on-timer-event)
785         (flymake--handle-report, flymake--disable-backend)
786         (flymake--run-backend, flymake-start, flymake-mode-on)
787         (flymake-mode-off, flymake-after-change-function)
788         (flymake-after-save-hook, flymake-find-file-hook): Adjust
789         flymake-log calls.
791         * test/lisp/progmodes/flymake-tests.el
792         (flymake-tests--call-with-fixture): Only log errors.
794 2017-10-03  Philipp Stephani  <phst@google.com>
796         Work around deprecation of gtk_style_context_get_background_color
798         * src/gtkutil.c (xg_check_special_colors): Replace call to
799         gtk_style_context_get_background_color with its definition.
801 2017-10-03  João Távora  <joaotavora@gmail.com>
803         New Flymake API variable flymake-diagnostic-functions
805         Lay groundwork for multiple active backends in the same buffer.
807         Backends are lisp functions called when flymake-mode sees fit.  They
808         are responsible for examining the current buffer and telling
809         flymake.el, via return value, if they can syntax check it.
810         Backends should return quickly and inexpensively, but they are also
811         passed a REPORT-FN argument which they may or may not call
812         asynchronously after performing more expensive work.
814         REPORT-FN's calling convention stipulates that a backend calls it with
815         a list of diagnostics as argument, or, alternatively, with a symbol
816         denoting an exceptional situation, usually some panic resulting from a
817         misconfigured backend.  In keeping with legacy behaviour,
818         flymake.el's response to a panic is to disable the issuing backend.
820         The flymake--diag object representing a diagnostic now also keeps
821         information about its source backend.  Among other uses, this allows
822         flymake to selectively cleanup overlays based on which backend is
823         updating its diagnostics.
825         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
826         New dynamic variable.
827         (flymake-proc--process): New variable.
828         (flymake-can-syntax-check-buffer): Remove.
829         (flymake-proc--process-sentinel): Simplify.  Use
830         unwind-protect.  Affect flymake-proc--processes here.
831         Bind flymake-proc--report-fn.
832         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
833         (flymake-proc--post-syntax-check): Delete
834         (flymake-proc-start-syntax-check): Take mandatory
835         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
836         (flymake-proc--process-sentinel): Rewrite and simplify.
837         (flymake-proc--panic): New helper.
838         (flymake-proc--start-syntax-check-process): Record report-fn
839         in process.  Use flymake-proc--panic.
840         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
841         flymake-proc--processes here.  Record interruption reason.
842         (flymake-proc--init-find-buildfile-dir)
843         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
844         Use flymake-proc--panic.
845         (flymake-diagnostic-functions): Add
846         flymake-proc-start-syntax-check.
847         (flymake-proc-compile): Call
848         flymake-proc-stop-all-syntax-checks with a reason.
850         * lisp/progmodes/flymake.el (flymake-backends): Delete.
851         (flymake-check-was-interrupted): Delete.
852         (flymake--diag): Add backend slot.
853         (flymake-delete-own-overlays): Take optional filter arg.
854         (flymake-diagnostic-functions): New user-visible variable.
855         (flymake--running-backends, flymake--disabled-backends): New
856         buffer-local variables.
857         (flymake-is-running): Now a function, not a variable.
858         (flymake-mode-line, flymake-mode-line-e-w)
859         (flymake-mode-line-status): Delete.
860         (flymake-lighter):  flymake's minor-mode "lighter".
861         (flymake-report): Delete.
862         (flymake--backend): Delete.
863         (flymake--can-syntax-check-buffer): Delete.
864         (flymake--handle-report, flymake--disable-backend)
865         (flymake--run-backend, flymake--run-backend):  New helpers.
866         (flymake-make-report-fn): Make a lambda.
867         (flymake--start-syntax-check): Iterate
868         flymake-diagnostic-functions.
869         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
870         flymake--running-backends and flymake--disabled-backends.
871         (flymake-find-file-hook): Simplify.
873         * test/lisp/progmodes/flymake-tests.el
874         (flymake-tests--call-with-fixture): Use flymake-is-running the
875         function.  Check if flymake-mode already active before activating it.
876         Add a thorough test for flymake multiple backends
878         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
879         Don't use condition-case-unless-debug, use condition-case
881         * test/lisp/progmodes/flymake-tests.el
882         (flymake-tests--assert-set): New helper macro.
883         (dummy-backends): New test.
885 2017-10-03  João Távora  <joaotavora@gmail.com>
887         More Flymake cleanup before advancing to backend redesign
889         Diagnostics are reported for buffers, not necessarily files.  It’s the
890         backend’s responsibility to compute the buffer where the diagnostic is
891         applicable.  For now, this has to match the buffer where flymake-mode
892         is active and which is at the origin of the backend call.
894         flymake.el knows nothing about line/column diagnostics (except for
895         backward-compatible flymake-ler-make-ler, which must yet be tested).
896         It’s also the backend’s reponsibility to compute a BEG and END
897         positions for the diagnostic in the relevant buffer.
899         * lisp/progmodes/flymake-proc.el
900         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
901         region here.  Check file buffer here.
902         (flymake-proc--process-sentinel): Don’t kill output buffer if
903         high enough log level.
905         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
906         function.  (flymake--highlight-line): Diagnostic has region now.
907         (flymake-popup-current-error-menu): Don’t add file and line numbers to
908         already this silly menu.  (flymake--fix-line-numbers): Remove.
909         (flymake-report): No need to fix diagnostics here.
911 2017-10-03  João Távora  <joaotavora@gmail.com>
913         Protect Flymake's eager checks against commands like fill-paragraph
915         If flymake-start-syntax-check-on-newline is t, check should start as
916         soon as a newline is seen by after-change-functions.  But don't rush
917         it: since the buffer state might not be final, we might end up with
918         invalid diagnostic regions after some commands silently insert and
919         delete newlines (looking at you, fill-paragraph).
921         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
922         `deferred' to flymake--start-syntax-check.
923         (flymake--start-syntax-check): Take optional `deferred' arg.
925 2017-10-03  João Távora  <joaotavora@gmail.com>
927         Flymake highlights GCC info/notes as detected by flymake-proc.el
929         * lisp/progmodes/flymake-proc.el
930         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
931         honour more sophisticated flymake-proc-diagnostic-type-pred.
932         (flymake-warning-re): Is now an obsolete alias for
933         flymake-proc-diagnostic-type-pred.
934         (flymake-proc-diagnostic-type-pred): Rename and augment from
935         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
936         Delete.
938         * lisp/progmodes/flymake.el (flymake-note): New face.
939         (flymake-diagnostic-types-alist): Simplify.
940         (flymake-note): New overlay category.
941         (flymake--lookup-type-property): Only lookup single keys, not lists.
942         (flymake--diag-errorp): Rewrite.
943         (flymake--highlight-line): Use flymake--lookup-type-property.
945         * test/lisp/progmodes/flymake-tests.el
946         (different-diagnostic-types): Rename from errors-and-warnings.
947         Check notes.
948         (flymake-tests--call-with-fixture): Use
949         flymake-proc-diagnostic-type-pred.
951 2017-10-03  João Távora  <joaotavora@gmail.com>
953         Flymake checks file names before considering diagnostics
955         The error patterns for gcc picked up errors for the Makefile itself,
956         for example.  These shouldn't count as actual errors.
958         * lisp/progmodes/flymake.el (flymake-report): Check
959         matching file names.
961 2017-10-03  João Távora  <joaotavora@gmail.com>
963         Echo Flymake error messages when navigating errors interactively
965         Perhaps binding M-n and M-p to flymake-goto-next-error and
966         flymake-goto-prev-error also wouldn't be a bad idea.
968         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
969         target overlay's help-echo.
971 2017-10-03  João Távora  <joaotavora@gmail.com>
973         Add a new Flymake test for multiple errors and warnings
975         * test/lisp/progmodes/flymake-tests.el
976         (flymake-tests--call-with-fixture): Save excursion.
977         (errors-and-warnings): New test.
979         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
980         New test fixture.
982 2017-10-03  João Távora  <joaotavora@gmail.com>
984         Flymake warning face easier to distinguish
986         A orange wavy underline is very hard to tell from a red wavy
987         underline.
989         * lisp/progmodes/flymake.el (flymake-warning): Change color to
990         "deep sky blue"
992 2017-10-03  João Távora  <joaotavora@gmail.com>
994         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
996         Column numbers are not a great way of marking diagnostic regions, but
997         that's probably all that can be expected from the flymake-proc.el
998         backend.  For now, try (end-of-thing 'sexp) to discover the
999         diagnostic's end position.
1001         * lisp/progmodes/flymake-proc.el ()
1002         (flymake-proc-err-line-patterns): Also parse column numbers,
1003         if available, for gcc/javac warnings.
1005 2017-10-03  João Távora  <joaotavora@gmail.com>
1007         New Flymake variable flymake-diagnostic-types-alist and much cleanup
1009         A new user-visible variable is introduced where different diagnostic
1010         types can be categorized.  Flymake backends can also contribute to
1011         this variable.  Anything that doesn’t match an existing error type
1012         is considered.
1014         The variable’s alists are used to propertize the overlays pertaining
1015         to each error type.  The user can override the built-in properties by
1016         either by modifying the alist, or by modifying the properties of a
1017         special "category" symbol, named by the `flymake-category' entry in
1018         the alist.
1020         The `flymake-category' entry is especially useful for, say, the author
1021         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
1022         should behave like notes, except with no fringe bitmap:
1024            (add-to-list 'flymake-diagnostic-types-alist
1025                         '(:foo-note
1026                           . ((flymake-category . flymake-note)
1027                              (bitmap . nil))))
1029         For essential properties like `severity', `priority', etc, a default
1030         value is produced.  Some properties like `evaporate' cannot be
1031         overriden.
1033         * lisp/progmodes/flymake.el (flymake--diag): Rename from
1034         flymake-ler.
1035         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
1036         (flymake-ler-errorp): Rewrite using flymake--severity.
1037         (flymake--place-overlay): Delete.
1038         (flymake--overlays): Now a cl-defun with &key args.  Document.
1039         Use `overlays-at' if BEG is non-nil and END is nil.
1040         (flymake--lookup-type-property): New helper.
1041         (flymake--highlight-line): Rewrite.
1042         (flymake-diagnostic-types-alist): New API variable.
1043         (flymake--diag-region)
1044         (flymake--severity, flymake--face)
1045         (flymake--fringe-overlay-spec): New helper.
1046         (flymake-popup-current-error-menu): Use new flymake-overlays.
1047         (flymake-popup-current-error-menu, flymake-report): Use
1048         flymake--diag-errorp.
1049         (flymake--fix-line-numbers): Use flymake--diag-line.
1050         (flymake-goto-next-error): Pass :key to flymake-overlays
1052         * lisp/progmodes/flymake-proc.el
1053         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
1055 2017-10-03  João Távora  <joaotavora@gmail.com>
1057         Refactor Flymake tests in preparation for more tests
1059         Introduce a slightly more generic fixture macro.
1061         Also make flymake-tests.el friendlier to interactive runs, by not
1062         killing buffers visited by the user.
1064         * test/lisp/progmodes/flymake-tests.el
1065         (flymake-tests--call-with-fixture): New helper from
1066         flymake-tests--current-face.  Don't kill file buffers already
1067         being visited before the test starts.
1068         (flymake-tests--with-flymake): New macro.
1069         (flymake-tests--current-face): Delete.
1070         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
1071         (warning-predicate-rx-perl, warning-predicate-function-perl):
1072         Use flymake-test--with-flymake.
1074 2017-10-03  João Távora  <joaotavora@gmail.com>
1076         Allow running Flymake tests from interactive sessions
1078         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
1079         Expand to reasonable value if no
1080         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
1081         "weirdness" of bug 17647 with read-event.
1083 2017-10-03  João Távora  <joaotavora@gmail.com>
1085         Flymake diagnostics now apply to arbitrary buffer regions
1087         Make Flymake UI some 150 lines lighter
1089         Strip away much of the original implementation's complexity in
1090         manipulating objects representing diagnostics as well as creating and
1091         navigating overlays.
1093         Lay some groundwork for a more flexible approach that allows for
1094         different classes of diagnostics, not necessarily line-based.
1095         Importantly, one overlay per diagnostic is created, whereas the
1096         original implementation had one per line, and on it it concatenated
1097         the results of errors and warnings.
1099         This means that currently, an error and warning on the same line are
1100         problematic and the warning might be overlooked but this will soon be
1101         fixed by setting appropriate priorities.
1103         Since diagnostics can highlight arbitrary regions, not just lines, the
1104         faces were renamed.
1106         Tests pass and backward compatibility with interactive functions is
1107         maintained, but probably any third-party extension or customization
1108         relying on more than a trivial set of flymake.el internals has stopped
1109         working.
1111         * lisp/progmodes/flymake-proc.el
1112         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
1113         constructor syntax.
1115         * lisp/progmodes/flymake.el (flymake-ins-after)
1116         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
1117         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
1118         (flymake-ler-set-full-file, flymake-ler-set-line)
1119         (flymake-get-line-err-count, flymake-get-err-count)
1120         (flymake-highlight-err-lines, flymake-overlay-p)
1121         (flymake-make-overlay, flymake-region-has-flymake-overlays)
1122         (flymake-find-err-info)
1123         (flymake-line-err-info-is-less-or-equal)
1124         (flymake-add-line-err-info, flymake-add-err-info)
1125         (flymake-get-first-err-line-no)
1126         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
1127         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
1128         (flymake-goto-line, flymake-goto-next-error)
1129         (flymake-goto-prev-error, flymake-patch-err-text): Delete
1130         functions no longer used.
1131         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
1132         (flymake-report): Rewrite.
1133         (flymake-popup-current-error-menu): Rewrite.
1134         (flymake--highlight-line): Rename from
1135         flymake-highlight-line.  Call `flymake--place-overlay.
1136         (flymake--place-overlay): New function.
1137         (flymake-ler-errorp): New predicate.
1138         (flymake-ler): Simplify.
1139         (flymake-error): Rename from
1140         flymake-errline.
1141         (flymake-warning): Rename from flymake-warnline.
1142         (flymake-warnline, flymake-errline): Obsoletion aliases.
1144         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
1145         (warning-predicate-function-gcc, warning-predicate-rx-perl)
1146         (warning-predicate-function-perl): Use face `flymake-warning'.
1148 2017-10-03  João Távora  <joaotavora@gmail.com>
1150         Move symbols in flymake-proc.el to separate namespace
1152         Every symbol in this flymake now starts with the prefix flymake-proc-.
1154         Make obsolete aliases for (almost?) every symbol.
1156         Furthermore, many flymake-proc.el symbols are prefixed with
1157         "flymake-proc--", that is they were considered internal.
1159         Some customization variables, interactive functions, and other symbols
1160         considered useful to user customizations or third-party libraries are
1161         considered "public" or "external" and so use a "flymake-proc-" prefix.
1163         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
1165         * test/lisp/progmodes/flymake-tests.el
1166         (flymake-tests--current-face): Use
1167         flymake-proc-warning-predicate, not flymake-warning-predicate.
1169         * lisp/progmodes/flymake-proc.el
1170         (flymake-proc--get-project-include-dirs-function)
1171         (flymake-proc--get-project-include-dirs-imp)
1172         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
1173         (flymake-proc--find-make-buildfile)
1174         (flymake-proc--get-syntax-check-program-args)
1175         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
1176         (flymake-proc--init-find-buildfile-dir)
1177         (flymake-proc--get-full-nonpatched-file-name)
1178         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
1179         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
1180         (flymake-proc--temp-source-file-name)
1181         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
1182         (flymake-proc--start-syntax-check-process)
1183         (flymake-proc--compilation-is-running)
1184         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
1185         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
1186         (flymake-proc--clear-project-include-dirs-cache)
1187         (flymake-proc--project-include-dirs-cache)
1188         (flymake-proc--get-system-include-dirs)
1189         (flymake-proc--get-project-include-dirs)
1190         (flymake-proc--add-project-include-dirs-to-cache)
1191         (flymake-proc--get-project-include-dirs-from-cache)
1192         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
1193         (flymake-proc--process-filter) (flymake-proc--create-master-file)
1194         (flymake-proc--find-buffer-for-file)
1195         (flymake-proc--copy-buffer-to-temp-buffer)
1196         (flymake-proc--read-file-to-temp-buffer)
1197         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
1198         flymake-proc--check-include)
1199         (flymake-proc--check-patch-master-file-buffer)
1200         (flymake-proc--master-file-compare)
1201         (flymake-proc--find-possible-master-files)
1202         (flymake-proc--included-file-name, flymake-proc--same-files)
1203         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
1204         (flymake-proc--clear-buildfile-cache)
1205         (flymake-proc--add-buildfile-to-cache)
1206         (flymake-proc--get-buildfile-from-cache)
1207         (flymake-proc--find-buildfile-cache)
1208         (flymake-proc--get-real-file-name-function)
1209         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
1210         (flymake-proc--get-file-name-mode-and-masks)
1211         (flymake-proc--processes): Rename to internal symbol from
1212         flymake-proc- version.
1214 2017-10-03  João Távora  <joaotavora@gmail.com>
1216         Completely rewrite Flymake's subprocess output processing
1218         Instead of parsing and matching regexps line-by-line, insert
1219         subprocess output in a separate buffer and parse using
1220         `search-forward-regexp'.  This eventually enables multi-line error
1221         patterns and simplifies code all around.  Store per-check information
1222         in the subprocess using `process-get' and `process-put'.  Treat error
1223         messages, warnings, etc. more generically as "diagnostics".  Create
1224         these objects as soon as possible, reusing existing `flymake-ler'
1225         structure.  Fix some whitespace.
1227         * lisp/progmodes/flymake.el (cl-lib): Require also when
1228         loading.
1229         (flymake--fix-line-numbers): Rename from
1230         flymake-fix-line-numbers.  Simplify.
1231         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
1232         plain diagnostics list into alist format expected by
1233         flymake-highlight-err-lines.
1235         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
1236         process output and parse in dedicated output buffer.
1237         (flymake-proc--diagnostics-for-pattern): New helper function.
1238         (flymake-process-sentinel): Call flymake-post-syntax-check with
1239         collected diagnostics.  Kill output buffer.
1240         (flymake-post-syntax-check): Receive diagnostics as third argument.
1241         (flymake-parse-output-and-residual, flymake-new-err-info)
1242         (flymake-parse-residual, flymake-parse-err-lines)
1243         (flymake-split-output, flymake-proc-parse-line)
1244         (flymake-output-residual): Delete.
1245         (flymake-start-syntax-check-process): Use make-process.  Setup
1246         dedicated an output buffer
1248 2017-10-03  João Távora  <joaotavora@gmail.com>
1250         Flymake provides flymake-report re-entry point for backends
1252         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
1253         Simplify.  Call flymake-report.
1255         * lisp/progmodes/flymake.el (flymake-report): New function.
1257 2017-10-03  João Távora  <joaotavora@gmail.com>
1259         Split Flymake into flymake.el into flymake-proc.el (again!)
1261         After deciding that this work would continue on master only, which
1262         caused two commits named
1264            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
1266         and
1268            Revert "Add flymake-backends defcustom"
1270         to be added to the emacs-26 branch, further discussion reversed that
1271         decision.
1273            See:
1275              https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01020.html
1276              https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01030.html
1278         This means that those two commits MUST be merged to master AFTER ALL.
1280         flymke-proc.el contains the main syntax-checking backend, while
1281         flymake.el keeps mostly the UI part.
1283         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
1285         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
1287 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
1289         Update authors.el
1291         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
1292         (authors-renamed-files-alist): Additions.
1294 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
1296         Give more helpful messages for python completion setup failures
1298         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
1299         case the completion setup failed with some exception, print out the
1300         exception type and message.  If libedit is detected, raise an
1301         exception, since this is known to fail.
1303 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
1305         Fix the --without-x build
1307         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
1308         frame_parent only in GUI builds to avoid compilation errors in
1309         --without-x builds.  (Bug#28611)
1311 2017-10-02  Paul Eggert  <eggert@day>
1313         Fix customization of zoneinfo-style-world-list
1315         A customizable variable's initial value cannot depend on that of
1316         another customizable variable, since the variables are initialized
1317         in other than textual order.  Problem reported by N. Jackson
1318         (Bug#24291).
1319         * lisp/time.el (display-time-world-list): Default to t,
1320         a special value that expands to zoneinfo-style-word-list
1321         if that works, and to legacy-style-word-list otherwise.
1322         (time--display-world-list): New function.
1323         (display-time-world, display-time-world-timer): Use it.
1325 2017-10-02  Alan Mackenzie  <acm@muc.de>
1327         Fix a CC Mode brace stack cache bug.
1329         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
1330         c-beginning-of-current-token after a failing search operation, to ensure we
1331         don't cache a point inside a token.
1333 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
1335         * etc/PROBLEMS: Document Bug#26638.
1337 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
1339         Prefer HTTPS to HTTP for gnu.org
1341         This fixes some URLs I omitted from my previous pass,
1342         notably those in lists.gnu.org.  Although lists.gnu.org
1343         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
1344         * lisp/erc/erc.el (erc-official-location):
1345         * lisp/mail/emacsbug.el (report-emacs-bug):
1346         Use https:, not http:.
1348 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
1350         Merge from Gnulib
1352         This is mostly to change http: to https: in licenses.
1353         * COPYING, build-aux/config.guess, build-aux/config.sub:
1354         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
1355         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
1356         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
1357         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
1358         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
1359         * msdos/COPYING, nt/COPYING, src/COPYING:
1360         Copy from Gnulib.
1362 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
1364         Keep eww buffer current when looking up CSS on MDN
1366         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
1367         current when looking up CSS documentation on MDN.  This fixes a bug
1368         where the eww buffer's content sometimes get mangled when switching
1369         buffers mid-render.
1371 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
1373         Workaround for faulty localtime() under macOS 10.6
1375         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
1376         'decode-time' on times later than year -2**31 under macOS 10.6.
1377         See Bug#27706.
1379 2017-10-01  Alan Mackenzie  <acm@muc.de>
1381         Doc amendment for syntax-ppss.
1383         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
1384         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
1385         buffer.  Final part of the fix for bug #22983.
1387 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
1389         Remove incorrect NEWS entry about 'find-library'
1391         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
1392         'find-library' taking a prefix argument to pop to a different
1393         window.  This behavior was added in "Allow a prefix argument to
1394         find-library to pop to a different window" (commit e1f2d14a), and
1395         then removed in "New commands: find-library-other-window,
1396         find-library-other-frame" (commit 021430f4).
1398 2017-10-01  Alan Mackenzie  <acm@muc.de>
1400         Remove inadvertent changes to syntax.texi in last commit.
1402         * doc/lispref/syntax.texi (Position Parse): revert changes.
1404 2017-10-01  Alan Mackenzie  <acm@muc.de>
1406         Amend documentation for text-quoting-style becoming a user option.
1408         * doc/lispref/control.texi (Signaling Errors):
1409         * doc/lispref/display.texi (Displaying Messages):
1410         * doc/lispref/strings.texi (Formatting Strings):
1411         Edit for brevity, farming out the details to the new
1412         Text Quoting Style node.
1413         * doc/lispref/help.texi (Text Quoting Style): New section.
1414         Move detailed discussion of text-quoting-style here.
1415         Add discussion about how to output grave accent and apostrophe in
1416         documentation and messages.  Adjust xrefs to point to this section
1417         when appropriate.
1418         * etc/NEWS: text-quoting-style semantics have not changed.
1420 2017-10-01  Alan Mackenzie  <acm@muc.de>
1422         Make the value nil in text-quoting-style mean what it does in Emacs 25.
1424         This is a partial reversion of yesterday's commit by the same author, which
1425         changed the meaning of nil and introduced the new value t.
1427         * src/doc.c (text_quoting_style, text-quoting-style)
1428         (internal--text-quoting-flag): Revert yesterday's changes.
1430         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
1432         * etc/NEWS: Amend the entry for text-quoting-style.
1434         * doc/lispref/control.texi (Signalling Errors)
1435         * doc/lispref/display.texi (Displaying Messages)
1436         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
1437         grave rather than nil to inhibit translation of quotes.
1439         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
1440         proposed new default, t.
1442 2017-10-01  Alan Mackenzie  <acm@muc.de>
1444         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
1446         A value of nil for text-quoting-style now means "no translation".  t means
1447         "Use curved quotes if displayable".
1449         * src/doc.c (text-quoting-style (function)): modify for new semantics.
1450         (text-quoting-style (variable)): Amend the doc string, set the default value
1451         to t.
1453         * lisp/cus-start.el: (top level): Create a customize entry for
1454         text-quoting-style in group display.
1456         * etc/NEWS: Amend the entry for text-quoting-style.
1458         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
1459         quotes to curved quotes, and how to influence or inhibit it.
1461         * doc/lispref/control.texi (Signalling Errors)
1462         * doc/lispref/display.texi (Displaying Messages)
1463         * doc/lispref/strings.texi (Formatting Strings): Describe binding
1464         text-quoting-style to nil to inhibit unwanted quote translation.
1466         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
1467         from a variable to a user option.  Describe its changed set of values.  State
1468         that it can be customized freely.
1470 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
1472         eshell.texi improvements
1474         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
1475         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
1476         (Aliases): Add $*, $1, $2, ... to the variable index.
1478 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
1480         Fix ns-win.el on GNUstep
1482         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
1483         don't try it when not using Cocoa.
1485 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
1487         Fix reference style in org.texi
1489         * doc/misc/org.texi (A Texinfo example): Fix reference style.
1491 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
1493         Improve handling of iconification of child frames (Bug#28611)
1495         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
1496         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
1497         (iconify_child_frame): New option.
1498         * lisp/cus-start.el (iconify-child-frame): Add customization
1499         properties.
1500         * doc/lispref/frames.texi (Child Frames): Describe new option
1501         `iconify-child-frame'.  Don't index "top-level frame" twice.
1503 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
1505         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
1507         It broke the established argument handling methods provided by eshell
1508         aliases (Bug#28568).
1509         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
1510         arguments in aliases.
1511         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
1512         ARGS.
1514 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
1516         Make "unsafe directory" error message more informative (Bug#865)
1518         * lisp/server.el (server-ensure-safe-dir): Produce a description for
1519         each "unsafe" condition.
1521 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
1523         Fix slot typecheck in eieio-persistent
1525         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
1526           An `or' form can specify multiple potential classes (or null) as
1527           valid types for a slot, but previously only the final element of the
1528           `or' was actually checked. Now returns all valid classes in the `or'
1529           form.
1530           (eieio-persistent-validate/fix-slot-value): Check if proposed value
1531           matches any of the valid classes.
1532         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
1533           (eieio-test-multiple-class-slot): Test this behavior.
1535 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
1537         Fix semantic-ia-fast-jump
1539         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
1540         Use `pop-to-buffer-same-window' (bug#28645).
1542 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
1544         Bind vc-region-history
1546         * lisp/vc/vc-hooks.el (vc-prefix-map):
1547         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
1548         `vc-insert-headers' (Bug#27644).
1549         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
1550         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
1551         'C-x v h' with `vc-insert-headers'.
1552         (http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00957.html)
1554 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
1556         Exit macro definition on undefined keys
1558         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
1559         (Bug#28008)
1561 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
1563         Reset bidi-paragraph-direction on article rendering
1565         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
1566         bidi-paragraph-direction on article rendering.  (Bug#28454)
1568 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
1570         Fix url-http use of url-current-object
1572         * lisp/url/url-http.el (url-http): Bind url-current-object before
1573         calling url-http-find-free-connection.  (Bug#28515)
1575 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
1577         Avoid assertions in vc-hg.el on MS-Windows
1579         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
1580         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
1581         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
1582         instead of relying on Unix file-name syntax.  This avoids
1583         assertion violations on MS-Windows.
1585 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
1587         Improve documentation of 'copy-sequence'
1589         * src/fns.c (Fcopy_sequence):
1590         * doc/lispref/sequences.texi (Sequence Functions): Mention the
1591         exception when copying an empty sequence.  (Bug#28627)
1593 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
1595         Minor update of ack.texi
1597         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
1598         contributions.
1600 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
1602         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
1604 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
1606         Improve indexing of multi-file/buffer Isearch commands
1608         * doc/emacs/maintaining.texi (Identifier Search): Change wording
1609         of index entries to make them different from those for multi-file
1610         isearch commands.  (Bug#28584)
1611         * doc/emacs/search.texi (Other Repeating Search): Index the
1612         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
1613         each index entry close to its subject.
1615 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
1617         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
1619         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
1620         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
1621         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
1622         functions.
1623         (lcms-cam02-ucs): Refactor.
1624         (syms_of_lcms2): Declare new functions.
1625         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
1626         (lcms-jmh->cam02-ucs-silver): New tests.
1627         * etc/NEWS: Mention new functions.
1629 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
1631         Fix uses of @kindex in the Emacs manual
1633         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
1634         * doc/emacs/mark.texi (Global Mark Ring)
1635         (Disabled Transient Mark):
1636         * doc/emacs/buffers.texi (Select Buffer):
1637         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
1638         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
1640 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
1642         Merge from gnulib
1644         This incorporates:
1645         2017-09-28 string: code style
1646         2017-09-25 sys_types: update URL
1647         2017-09-23 install-sh: do not assume / = //
1648         2017-09-21 mktime: port to OpenVMS
1649         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
1650         * m4/sys_types_h.m4: Copy from Gnulib.
1651         * lib/gnulib.mk.in: Regenerate.
1653 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
1655         Prefer HTTPS to HTTP for gnu.org
1657         This catches some URLs I missed in my previous scan,
1658         or perhaps were added after the scan.
1660 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
1662         Wait for frame visibility with timeout in w32term too
1664         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
1665         variable.
1666         (x_make_frame_visible): Wait for frame to become visible according to
1667         its value.
1668         (input_signal_count): Remove.
1670 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
1672         Bring back the busy wait after x_make_frame_visible (Bug#25521)
1674         But wait specfically for a MapNotify event, and only for a
1675         configurable amount of time.
1676         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
1677         variable.
1678         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
1679         (x_make_frame_visible): Call x_wait_for_event at the end.
1680         * etc/NEWS: Announce x_wait_for_event.
1682 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
1684         Fix last doc string change in simple.el
1686         * lisp/simple.el (shell-command-saved-pos)
1687         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
1689 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
1691         Revert "bug#28609: simple.el"
1693         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
1695 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
1697         bug#28609: simple.el
1699         Correct grammar; also, call a pair a pair.
1701         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
1703 2017-09-29  Rasmus  <rasmus@gmx.us>
1705         Merge branch 'emacs-26' into scratch/org-mode-merge
1707 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
1709         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
1711         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
1712         above the `debugger' frame, rather than assuming there will be a
1713         `signal' frame.
1715 2017-09-28  Alan Third  <alan@idiocy.org>
1717         Revert "Fix build on macOS (bug#28571)"
1719         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
1721         Prematurely pushed.
1723 2017-09-28  Alan Third  <alan@idiocy.org>
1725         Fix build on macOS (bug#28571)
1727         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
1728         [DARWIN_OS]: Undefine.
1730 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
1732         Add tests for `css-current-defun-name'
1734         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
1735         (css-test-current-defun-name-nested)
1736         (css-test-current-defun-name-complex): New tests for
1737         `css-current-defun-name'.
1739 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
1741         In w32fullscreen_hook don't add decorations to undecorated frames
1743         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
1744         remove) decorations for undecorated frames.
1746 2017-09-28  João Távora  <joaotavora@gmail.com>
1748         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
1750         In other words, re-coalesce the two files,
1751         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
1752         into a single one, lisp/progmodes/flymake.el.
1754         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
1755         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
1756         are kept in place in the new lisp/progmodes/flymake.el.
1758         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
1760         Don't merge this back to master as development happening there builds
1761         upon this work. See also
1762         https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html.
1764 2017-09-28  João Távora  <joaotavora@gmail.com>
1766         Revert "Add flymake-backends defcustom"
1768         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
1770         Don't merge this back to master as development happening there builds
1771         upon this work. See also
1772         https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html
1774 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
1776         * src/editfns.c (styled_format): Fix typo in previous change.
1778 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
1780         Avoid some unnecessary copying in Fformat etc.
1782         This patch is just for performance; it should not affect behavior.
1783         On my platform, it made the microbenchmark (format "%S" load-path)
1784         run about 45% faster.  It should also speed up calls like (message
1785         "%s" STRING).
1786         * src/callint.c (Fcall_interactively):
1787         * src/dbusbind.c (XD_OBJECT_TO_STRING):
1788         * src/editfns.c (Fmessage, Fmessage_box):
1789         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
1790         Use styled_format instead of Fformat or Fformat_message,
1791         to avoid unnecessary copying.
1792         * src/editfns.c (styled_format): New arg NEW_RESULT.
1793         All uses changed.  Reuse an input string if it has the
1794         right value and if !NEW_RESULT.
1795         * src/lisp.h (style_format): New decl.
1797 2017-09-26  John Wiegley  <johnw@newartisans.com>
1799         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
1801 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
1803         bug#28609: simple.el
1805         Correct grammar; also, call a pair a pair.
1807 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
1809         Use a separate syntax-ppss cache for narrowed buffers
1811         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
1812         New variable, to contain the data from `syntax-ppss-last' and
1813         `syntax-ppss-cache'.
1814         (syntax-ppss-cache, syntax-ppss-last): Remove.
1815         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
1816         (syntax-ppss-flush-cache): Flush both caches.
1817         (syntax-ppss--data): Return the appropriate last result and
1818         buffer cache for the current restriction.
1819         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
1821 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
1823         Improve python3-compatibility of fallback completion (Bug#28499)
1825         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
1826         inspect.getfullargspec instead of inspect.getargspec to avoid a
1827         deprecation warning on every usage of eldoc in python-mode.
1829 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
1831         Fix subr-x-tests when running from elc
1833         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
1834         Use `eval' around the `should-error' cases.
1836 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
1838         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
1840 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
1842         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
1844         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
1845         variable alias for `sh-basic-offset'.
1846         (sh-mode, sh-smie--indent-continuation)
1847         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
1848         with `sh-basic-offset'.
1850 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
1852         Fix loading of smie-config rules (Bug#24848)
1854         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
1855         instead of `setq-default'.
1856         (smie-config): Use `custom-initialize-set' instead of
1857         `custom-initialize-default' as the :initialize argument.
1859         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
1860         we call `smie-config-guess' so that the user will have a chance to
1861         find the correct docstring to consult.  Remove hedging comments
1862         regarding use of abnormal hooks.
1864 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
1866         Reset default-directory inside *xref-grep* buffer
1868         * lisp/progmodes/xref.el (xref-collect-matches):
1869         Reset default-directory, too. (Bug#28575)
1871 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
1873         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
1874         code for smb.
1876 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
1878         Loosen strict parsing requirement for desktop files
1880         There are other desktop-looking files, for instance those having to do
1881         with MIME typess, that would benefit from being able to be read by this
1882         function.  It helps to have some flexibility.
1883         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
1884         * test/lisp/xdg-tests.el: Remove a test.
1886 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
1888         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
1890 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
1892         Fix documentation of `make-frame' and related variables and hooks
1894         * lisp/frame.el (before-make-frame-hook)
1895         (after-make-frame-functions, frame-inherited-parameters)
1896         (make-frame): Fix doc-strings.
1897         * doc/lispref/frames.texi (Creating Frames): Fix description
1898         of `make-frame' and related variables and hooks.
1900 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
1902         Accept new `always' value for option `buffer-offer-save'
1904         Also revert ee512e9a82
1906         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
1907           allows a third symbol value, `always'. A buffer where this option is
1908           set to `always' will always be offered for save by
1909           `save-some-buffers'.
1910           (save-some-buffers): Check the exact value of this buffer-local
1911           variable. No longer check the buffer name, or the value of
1912           `write-contents-functions'.
1913         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
1914         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
1915           names.
1916         * etc/NEWS: Mention in NEWS.
1918 2017-09-24  Alan Third  <alan@idiocy.org>
1920         Improve new NS scrolling variable names
1922         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
1923         'ns-use-mwheel-acceleration'.
1924         (ns-touchpad-scroll-line-height): Replace with
1925         'ns-mwheel-line-height'.
1926         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
1927         * etc/NEWS: Change variable names.
1929 2017-09-24  Philipp Stephani  <phst@google.com>
1931         Document 'replace-buffer-contents' in the manual.
1933         * doc/lispref/text.texi (Replacing): New node.
1935 2017-09-23  Alan Third  <alan@idiocy.org>
1937         Fix undecorated frame resizing issues on NS (bug#28512)
1939         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
1940         toolbar on undecorated frames.
1941         (EmacsView::initFrameFromEmacs): Group window flags correctly.
1943 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
1945         Fix doc string of 'dired-listing-switches'
1947         * lisp/dired.el (dired-listing-switches): Fix the quoting
1948         example.  (Bug#28569)
1950 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
1952         Documentation improvements for 'display-line-numbers'
1954         * doc/emacs/display.texi (Display Custom): Document a few more
1955         options for display-line-numbers.  (Bug#28533)  Fix a typo.
1957 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
1959         Fix last change in bat-mode.el
1961         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
1962         change.  (Bug#28311)
1964 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
1966         Fix restoring in GUI sessions desktop saved in TTY sessions
1968         * lisp/frameset.el (frameset-filter-font-param): New function.
1969         (frameset-persistent-filter-alist): Use it for processing the
1970         'font' frame parameter.  (Bug#17352)
1972 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
1974         Improve syntax highlighting in bat-mode
1976         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
1977         font-locking of environment variables.  Suggested by Achim Gratz
1978         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
1980 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
1982         Document the 'list-FOO' convention
1984         * doc/lispref/tips.texi (Coding Conventions): Document the
1985         list-FOO convention.
1987 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
1989         Expose viewing conditions in CAM02-UCS metric
1991         Also add tests from the colorspacious library.  Finally, catch an
1992         errant calculation, where degrees were not being converted to radians.
1993         * src/lcms.c (deg2rad, default_viewing_conditions):
1994         (parse_viewing_conditions): New functions.
1995         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
1996         the docstring and explain viewing conditions.  JCh hue is given in
1997         degrees and needs to be converted to radians.
1998         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
1999         API needlessly impure.
2000         * test/src/lcms-tests.el: Reword commentary.
2001         (lcms-rgb255->xyz): New function.
2002         (lcms-cri-cam02-ucs): Fix let-binding.
2003         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
2005 2017-09-21  Alan Third  <alan@idiocy.org>
2007         Revert "Set frame size to actual requested size (bug#18215)"
2009         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
2011         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
2013 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
2015         Add tests for Edebug
2017         * tests/lisp/emacs-lisp/edeug-tests.el: New file.
2018         * tests/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
2020 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
2022         Catch more messages in ert-with-message-capture
2024         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
2025         messages from prin1, princ and print.
2026         (ert--make-message-advice): New function.
2027         (ert--make-print-advice): New function.
2029 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
2031         Support setting region from secondary selection and vice versa
2033         * lisp/mouse.el (secondary-selection-exist-p): New function to
2034         allow callers to tell existence of the secondary selection
2035         in current buffer.
2036         (secondary-selection-to-region): New function to set
2037         beginning and end of the region from those of the secondary
2038         selection.
2039         (secondary-selection-from-region): New function to set
2040         beginning and end of the secondary selection from those of
2041         the region.  (Bug#27530)
2043         * etc/NEWS: Mention the new functions.
2045 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2047         Fix new copy-directory bug with empty dirs
2049         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
2050         (Bug#28483#34).  This is another bug that I introduced in my
2051         recent copy-directory changes.
2052         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
2053         * test/lisp/files-tests.el (files-tests--copy-directory):
2054         Test for this bug.
2056 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
2058         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
2060 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
2062         Fix 2 testsuite tests for MS-Windows
2064         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
2065         create files with "*" in their names.
2066         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
2067         results to MS-Windows build.  Reported by Fabrice Popineau
2068         <fabrice.popineau@gmail.com>.
2070 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
2072         Rename timer-list to list-timers
2074         * doc/emacs/anti.texi (Antinews):
2075         * doc/lispref/os.texi (Timers):
2076         * etc/NEWS:
2077         * lisp/emacs-lisp/timer-list.el:
2078         (timer-list-mode): Rename timer-list to list-timers.
2080 2017-09-19  Alan Third  <alan@idiocy.org>
2082         Provide native touchpad scrolling on macOS
2084         * etc/NEWS: Describe changes.
2085         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
2086         mouse-wheel-progressive-speed): Set to smarter values for macOS
2087         touchpads.
2088         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
2089         calculate scrolling for touchpads and mouse wheels.
2090         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
2091         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
2092         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
2093         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
2094         * lisp/mwheel.el (mwheel-scroll): Use line count.
2095         * lisp/subr.el (event-line-count): New function.
2097 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2099         Fix MinGW64 build broken by recent MinGW64 import libraries
2101         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
2102         MinGW64 import libraries require that.  (Bug#28493)
2104         * src/Makefile.in: Adjust commentary to the new order of w32
2105         libraries.
2107 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2109         Fix crashes in 'move-point-visually' in minibuffer windows
2111         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
2112         comparing against the last valid glyph_row of a window glyph
2113         matrix.  (Bug#28505)
2115 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2117         * src/emacs.c (usage_message): Don't mention 'find-file'.
2119 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2121         Fix a minor inaccuracy in the Emacs manual
2123         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
2124         'find-file', as the implementation has changed.  Reported by
2125         Everton J. Carpes <everton.carpes@gmail.com> in
2126         http://lists.gnu.org/archive/html/help-gnu-emacs/2017-09/msg00146.html.
2128 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2130         Fix errors in flyspell-post-command-hook
2132         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
2133         case of a nil Nth element of the language dictionary slot.  This
2134         avoids errors in 'flyspell-post-command-hook' when switching
2135         dictionaries with some spell-checkers.  (Bug#28501)
2137 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
2139         Work on Tramp's file-truename
2141         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
2142         Check also for symlinks.
2143         (tramp-sh-handle-file-truename): Move check for a symlink
2144         cycle to the end.  Do not blame symlinks which look like a
2145         remote file name.
2147         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
2149 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
2151         Fix bug with make-directory on MS-Windows root
2153         * lisp/files.el (files--ensure-directory): Treat any error, not
2154         just file-already-exists, as an opportunity to check whether DIR
2155         is already a directory (Bug#28508).
2157 2017-09-19  Tom Tromey  <tom@tromey.com>
2159         Fix log-view-diff-common when point is after last entry
2161         Bug#28466
2162         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
2163         entry, look at the previous revision.
2165 2017-09-18  Ken Brown  <kbrown@cornell.edu>
2167         Adapt fileio-tests--symlink-failure to Cygwin
2169         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
2170         [CYGWIN]: Skip the case of a symlink target starting with '\';
2171         this is treated specially on Cygwin.
2173 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
2175         Ignore buffers whose name begins with a space in save-some-buffers
2177         * lisp/files.el (save-some-buffers): Consider these buffers
2178           "internal", and don't prompt the user to save them.
2179         * doc/lispref/files.texi: Document.
2181 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
2183         Improve tramp-interrupt-process robustness
2185         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
2186         process has disappeared.
2188 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
2190         Minor Tramp doc update
2192         * doc/misc/tramp.texi (Frequently Asked Questions):
2193         Mention `vc-handled-backends'.
2195 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
2197         Fix gensym
2199         * lisp/subr.el (gensym): Actually implement the default prefix.
2200         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
2202 2017-09-18  Rasmus  <rasmus@gmx.us>
2204         Update Org to v9.1.1
2206         Please see etc/ORG-NEWS for major changes.
2208 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
2210         Cleanup in files-tests.el
2212         * test/lisp/files-tests.el (files-tests--make-directory)
2213         (files-tests--copy-directory): Cleanup temporary directories.
2215 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2217         Remove old cl-assert calls in 'newline'
2219         * lisp/simple.el (newline): Remove cl-assert calls
2220         that didn't seem to be helping us debug Bug#18913,
2221         and that caused problems as reported in Bug#28280.
2222         Suggested by Glenn Morris (Bug#28280#8).
2224 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2226         Avoid crash with C-g C-g in GC
2228         Problem reported by Richard Stallman (Bug#17406).
2229         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
2230         * src/term.c (tty_send_additional_strings):
2231         Use only safe accessors, to avoid crash when C-g C-g in GC.
2233 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2235         Fix format-time-string %Z bug with negative tz
2237         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
2238         numeric zone is negative (Bug#28746).
2239         * test/src/editfns-tests.el (format-time-string-with-zone):
2240         Add test for this bug.
2242 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2244         message-citation-line-format %Z is now tz name
2246         * etc/NEWS:
2247         * lisp/gnus/message.el (message-citation-line-format):
2248         Fix doc to match new behavior (Bug#28476).
2250 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
2252         Use doc-view or pdf-tools on any window-system
2254         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
2255         window-system.
2257 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2259         Fix bug with min and max and NaNs
2261         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
2262         mistakenly yielded 0.  Also, pacify GCC in a better way.
2263         * test/src/data-tests.el (data-tests-min): Test for the bug.
2265 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2267         Fix recently-introduced copy-directory bug
2269         Problem reported by Andrew Christianson (Bug#28451):
2270         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
2271         destination directory if it does not exist, even if it is a
2272         directory name.  Simplify, and omit unnecessary test for an
2273         already-existing non-directory target, since make-directory
2274         diagnoses that for us now.
2275         * test/lisp/files-tests.el (files-tests--copy-directory):
2276         Test for this bug.
2278 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2280         Merge from Gnulib
2282         This incorporates:
2283         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
2284         2017-09-13 all: Replace many more http URLs by https URLs
2285         * build-aux/config.guess, build-aux/config.sub:
2286         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
2287         * lib/allocator.h, lib/count-leading-zeros.h:
2288         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
2289         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
2290         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
2291         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
2292         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
2293         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
2294         Copy from Gnulib.
2295         * lib/gnulib.mk.in: Regenerate.
2297 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
2299         Fix compatibility problem in Tramp
2301         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
2303         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
2304         (top): Do not call `tramp-change-syntax' anymore.
2305         (tramp-compat-directory-name-p): New defalias.
2307         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
2308         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
2309         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
2310         (tramp-smb-handle-copy-file): Use it.
2312         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
2313         Modify test.
2315 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
2317         Avoid GCC 7 compilation warning in eval.c
2319         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
2320         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
2321         in http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00492.html.
2323 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
2325         Adapt Tramp version.  Do not merge
2327         * doc/misc/trampver.texi:
2328         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
2329         (customize-package-emacs-version-alist): Add Tramp version
2330         integrated in Emacs 26.1.
2332 2017-09-17  Tom Tromey  <tom@tromey.com>
2334         Search for Syntax section when viewing MDN
2336         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
2337         "Syntax" section.
2339 2017-09-17  Tom Tromey  <tom@tromey.com>
2341         Allow smerge-keep-current to work for empty hunks
2343         Bug#25555
2344         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
2345         match-end.
2346         * test/lisp/vc/smerge-mode-tests.el: New file.
2348 2017-09-17  Tom Tromey  <tom@tromey.com>
2350         Call vc-setup-buffer in vc-git-log-{in,out}going
2352         Bug#28427:
2353         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
2354         vc-setup-buffer.
2356 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2358         Fix last change to textmodes/page-ext.el
2360         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
2361         while we build it (bug#28431).
2363 2017-09-16  Glenn Morris  <rgm@gnu.org>
2365         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
2367 2017-09-16  Glenn Morris  <rgm@gnu.org>
2369         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
2371         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
2373 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2375         Fix compilation warning in etags.c
2377         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
2378         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
2380 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
2382         Add lisp variable lcms-d65-xyz
2384         This serves as the default optional argument for functions in this
2385         library.
2386         * src/lcms.c (lcms-d65-xyz): New variable.
2387         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
2388         color1 -> color2.
2389         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
2390         (lcms-colorspacious-d65): New variable.
2392 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
2394         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
2396 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
2398         Avoid MinGW64 compiler warnings in unexw32.c
2400         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
2401         64-bit build.
2403 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2405         Start emacs-26 release branch
2407         * configure.ac:
2408         * nt/README.W32:
2409         * README:
2410         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
2412         * lisp/cus-edit.el (customize-changed-options-previous-release):
2413         Update value to "25.3".
2415 2017-09-16  Alan Mackenzie  <acm@muc.de>
2417         Cope better with C++ and Objective-C protection keywords in class declarations
2419         This fix fixes the fontification of a method inside a class at the time it is
2420         typed, when there is a protection keyword clause preceding it.
2422         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
2423         keywords.
2424         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
2425         clauses too eagerly.
2427         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
2428         lang defconsts and defvars.
2430         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
2431         keyword following a semicolon or brace, move forward over it before attempting
2432         to parse a type.
2434 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2436         Fix order of sorted overlays returned by 'overlays-at'
2438         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
2439         list of results, to have their order as per the documentation.
2440         (Bug#28390)
2442         * etc/NEWS: Mention the change in the behavior of overlays-at.
2444 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2446         Disable execution of unsafe Lisp by Enriched Text mode
2448         * src/xdisp.c (handle_display_spec): If the display property is
2449         wrapped in 'disable-eval' form, disable Lisp evaluation while
2450         processing this property.
2451         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
2452         If that argument is false, don't evaluate Lisp while processing
2453         display properties.
2455         * lisp/textmodes/enriched.el
2456         (enriched-allow-eval-in-display-props): New defcustom.
2457         (enriched-decode-display-prop): If
2458         enriched-allow-eval-in-display-props is nil, wrap the display
2459         property with 'disable-eval' to disable Lisp evaluation when the
2460         display property is processed for display.  (Bug#28350)
2461         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
2462         enriched text.
2464         * doc/lispref/display.texi (Display Property): Document the
2465         'disable-eval' wrapping of 'display' properties.
2466         * doc/emacs/text.texi (Enriched Properties): Document
2467         'enriched-allow-eval-in-display-props'.
2469         * etc/NEWS: Describe the security issues with Enriched Text mode
2470         and their solution.
2472 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2474         Avoid MinGW64 compilation warning in w32.c
2476         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
2478 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2480         Fix MS-Windows build broken by recent changes in lcms.c
2482         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
2483         and cmsxyY2XYZ function pointers.
2484         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
2485         cmsxyY2XYZ from liblcms2.
2486         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
2487         corresponding function pointers.
2488         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
2489         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
2491 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2493         Avoid GCC 7 compilation warning in data.c
2495         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
2496         warnings.  Reported by Fabrice Popineau
2497         <fabrice.popineau@centralesupelec.fr>.
2499 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
2501         Add lcms-temp->white-point and initial tests
2503         * src/lcms.c (lcms-temp->white-point): New function.
2504         * test/src/lcms-tests.el: New file.
2506 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
2508         Use cl-print in timer list
2510         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
2511         for handling functions.
2512         (timer-list-mode): Capitalize major mode name.  Set bidi direction
2513         as in tabulated-list-mode.
2515 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2517         Make landscape layout with geometry package rather than a PostScript special.
2519         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
2520         default class option.
2521         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
2522         request to `cal-tex-insert-preamble' function call within the
2523         class option string.
2524         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
2525         to `cal-tex-insert-preamble' function, as it is default.
2526         (cal-tex-insert-preamble): Suppress landscape and size
2527         argument, and replace them by a class-options string
2528         argument. Do not insert any longer "\special{landscape}" in
2529         case of landscape layout, as the job is made by the geometry
2530         package.
2532 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
2534         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
2536 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
2538         One more attempt to avoid GCC 7 warnings in dispnew.c
2540         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
2541         eassert, to avoid compilation warnings about NULL pointer
2542         dereferences.
2544 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
2546         Fix color-distance docstring
2548         Also feed the translated color to the metric argument.
2549         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
2550         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
2551         instead of the function's color arguments.
2553 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
2555         Improve Tramp behaviour according to bug#27986
2557         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
2558         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
2559         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
2560         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
2561         directory name when existing.  Use `file-name-as-directory'
2562         where appropriate.
2564 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
2566         More JSON optimization
2568         Last I checked, inlining json-skip-whitespace didn't make much
2569         difference.  However, changing defsubsts to define-inline results
2570         in roughly 15% reduction in read time on a 200K file.
2571         * lisp/json.el (json-advance, json-peek, json-pop):
2572         (json-skip-whitespace): Inline with define-inline.
2573         (json-read-keyword): Don't use whitespace syntax.
2574         (json-add-to-object): Simpler condition.
2576 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
2578         Avoid crashes due to invalid error forms from sentinels/filters
2580         * src/process.c (exec_sentinel_error_handler): Make sure the error
2581         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
2583 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
2585         Avoid compilation warnings with GCC 7 on MS-Windows
2587         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
2588         (w32_read_socket): Initialize variables to shut up bogus
2589         compilation warnings from GCC 7.
2590         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
2591         to avoid compiler warnings about printing signed values using %x
2592         format spec.
2593         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
2594         compiler warning about possible NULL pointer dereference.
2595         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
2597 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
2599         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
2601         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
2602         case only to avoid unused macros warning otherwise.
2604 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
2606         In w32heap.c bump up DUMPED_HEAP_SIZE
2608         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
2609         to 13*1024*1024 for 32-bit non-wide-integer builds.
2611 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
2613         Bind n,p in timer-list
2615         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
2616         to next- and previous-line, respectively.
2618 2017-09-14  Glenn Morris  <rgm@gnu.org>
2620         * lisp/net/tls.el (tls-program): Fix :version.
2622 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
2624         * configure.ac (--with-lcms2, --without-lcms2): New options.
2626 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
2628         Avoid 64-bit compilation warnings in unexw32.c
2630         * src/unexw32.c (pDWP): New macro.
2631         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
2632         pDWP for printing values that can be either 32-bit or 64-bit wide.
2634 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
2636         Fix warnings about formats in printf-like functions on MS-Windows
2638         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
2639         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
2640         http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00171.html
2641         for the details.
2642         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
2643         definition specific to MinGW64.
2644         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
2645         __mingw_printf__ in ANSI-compatible mode.
2647 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
2649         Support lcms2 in MS-Windows builds
2651         * lisp/term/w32-win.el (dynamic-library-alist): Include
2652         association for the lcms2 library.
2654         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
2655         DEF_DLL_FN to define pointers to dynamically loaded lcms2
2656         functions.
2657         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
2658         (cmsCIECAM02Done): New macros.
2659         (init_lcms_functions, Flcms2_available_p): New functions.
2660         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
2661         init_lcms_functions.
2662         (syms_of_lcms2): Defsubr lcms2-available-p.
2663         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
2665         * configure.ac: Include lcms2 in the final report and in
2666         emacs_config_features.
2668         * nt/INSTALL:
2669         * nt/INSTALL.W64: Update with the information about lcms2 library.
2671 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
2673         Port renameat_noreplace to openSUSE 12.3
2675         Problem reported by M. Nomiya in:
2676         http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00363.html
2677         * src/sysdep.c (renameat_noreplace):
2678         Call renameat2 only if CYGWIN.
2680 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
2682         Prefer HTTPS to FTP and HTTP in documentation
2684         Most of this change is to boilerplate commentary such as license URLs.
2685         This change was prompted by ftp://ftp.gnu.org's going-away party,
2686         planned for November.  Change these FTP URLs to https://ftp.gnu.org
2687         instead.  Make similar changes for URLs to other organizations moving
2688         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
2689         fsf.org when this works, as this will further help defend against
2690         man-in-the-middle attacks (for this part I omitted the MS-DOS and
2691         MS-Windows sources and the test tarballs to keep the workload down).
2692         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
2693         for now.
2695 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
2697         Prefer HTTPS to HTTP for gnu.org
2699         This patch just changes code files; a followup companion patch
2700         (much larger) will affect the commentary.  This part is
2701         separated out to make it easier to review.
2702         * .dir-locals.el (change-log-mode):
2703         * lisp/org/org-info.el (org-info-other-documents)
2704         (org-info-map-html-url):
2705         * lisp/org/ox-html.el (org-html-creator-string):
2706         * lisp/startup.el (fancy-startup-text, fancy-about-text)
2707         (fancy-splash-head):
2708         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
2709         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
2710         Use HTTPS instead of HTTP.
2712 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
2714         Add tests for color.el
2716         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
2717         docstrings that RGB triplets should use four digits per component.
2718         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
2719         warning.
2721         * test/lisp/color-tests.el: New file.
2723 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
2725         Make gnutls-verify-error work again with url-retrieve-synchronously
2727         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
2728         we're doing async connections (bug#26835).
2730         * lisp/url/url-parse.el (url): Add an asynchronous slot.
2732         * lisp/url/url.el (url-asynchronous): New variable.
2733         (url-retrieve-internal): Store the value.
2734         (url-retrieve-synchronously): Bind the variable.
2736 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
2738         Improve backward compatibility of tramp-tests
2740         * test/lisp/net/tramp-tests.el (seq): Don't require.
2741         (tramp--test-emacs26-p): New defun.
2742         (tramp-test10-write-region, tramp-test11-copy-file)
2743         (tramp-test12-rename-file, tramp-test15-copy-directory)
2744         (tramp-test21-file-links): Use it.
2745         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
2747 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
2749         * lisp/net/trampver.el (customize-package-emacs-version-alist):
2751         Add Tramp version integrated in Emacs 25.3.
2753 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
2755         Add clarification to if-let* docstring
2757         Also make its behaviour consistent with and-let* in that empty bindings
2758         results in success, not failure.
2759         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
2761 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
2763         Make fully qualified domain names more fully qualified
2765         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
2766         system-name without any periods as a fully qualified domain name.
2768 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2770         Remove unused file lib/getopt_.h
2772         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
2773         on 2011-01-08, but I forgot to remove the old file.
2775 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
2777         Remove "baroque" use of prefix argument from gensym
2779         'cl-gensym' was simply moved here, but let us take an opportunity to
2780         shed some historical baggage.
2781         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
2782         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
2783         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
2784         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
2786 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
2788         Provide an lcms2 feature
2790         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
2792 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
2794         Add lcms2 interface
2796         configure.ac: Add boilerplate for configuring and detecting liblcms2.
2797         etc/NEWS: Mention new configure option and color-distance change.
2798         src/Makefile.in: Add references to lcms.c and liblcms.
2799         src/emacs.c: Define lcms2 symbols.
2800         src/lcms.c: New file.
2801         src/lisp.h: Add declaration for lcms2.
2802         src/xfaces.c: Add optional METRIC argument.
2804 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
2806         Add other D series white points and some simple conversions
2808         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
2809         constants.
2810         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
2811         (color-lch-to-lab): New functions.
2813 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
2815         Permit non-integral color gradients
2817         * lisp/color.el (color-gradient): Float the step-number.
2819 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
2821         Protect against malformed MIME messages that cause inf-loop (bugfix)
2823         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
2824         Protect against malformed MIME messages that cause inf-loop.
2826 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2828         Merge from Gnulib
2830         This incorporates:
2831         2017-09-13 all: prefer https: URLs
2832         This just changes http: to https: in comments,
2833         in files copied from Gnulib.
2835 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
2837         Call vc-resynch-buffer in vc-git-resolve-when-done
2839         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
2840         Call vc-resynch-buffer on the current file (bug#28121).
2841         Move its autoload to before this function.
2843 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
2845         Allow write-contents-functions to short-circuit buffer save
2847         Bug#28412
2849         * lisp/files.el (basic-save-buffer): Re-arrange function so that
2850           write-contents-functions are run earlier. If they return non-nil,
2851           consider the buffer saved without requiring the buffer to be
2852           visiting a file.
2853           (save-some-buffers): This function should consider any buffer with a
2854           buffer-local value for write-contents-functions eligible for
2855           saving.
2856         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
2857           test.
2858         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
2859         * etc/NEWS: And in NEWS.
2861 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
2863         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
2865 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
2867         Less chatter for ’make info/dir’
2869         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
2870         that an ordinary make says just "GEN info/dir" rather than
2871         also having a seemingly-unrelated mv line.
2873 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
2875         Tweak Gnus doc re gnus-copy-file
2877         * doc/misc/gnus.texi (Saving Articles):
2878         Document behavior with directory name targets (Bug#27986).
2879         Problem reported by Katsumi Yamaoka in:
2880         http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00216.html
2882 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
2884         Update uses of if-let and when-let
2886         * lisp/dom.el (dom-previous-sibling):
2887         * lisp/emacs-lisp/package.el (package--with-work-buffer):
2888         (package--sort-deps-in-alist, package--sort-by-dependence):
2889         (package-install-from-archive, package-install):
2890         (package-menu-execute, package-menu--populate-new-package-list):
2891         * lisp/filenotify.el (file-notify--rm-descriptor):
2892         (file-notify--event-watched-file, file-notify--event-file-name):
2893         (file-notify--event-file1-name, file-notify-rm-watch):
2894         (file-notify-valid-p):
2895         * lisp/gnus/message.el (message-toggle-image-thumbnails):
2896         * lisp/gnus/nnimap.el (nnimap-request-move-article):
2897         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
2898         * lisp/mpc.el (mpc-format):
2899         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
2900         (eww-save-history):
2901         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
2902         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
2903         * lisp/svg.el (svg-remove):
2904         * lisp/textmodes/css-mode.el (css--named-color):
2905         (css--colon-inside-funcall):
2906         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
2907         (html-current-buffer-ids): Use if-let* and when-let* instead.
2909 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
2911         Implement and-let*
2913         This also includes changes to if-let and when-let.  The single tuple
2914         special case is ambiguous, and binding a symbol to nil is not as
2915         useful as binding it to its value outside the lexical scope of the
2916         binding.  (Bug#28254)
2917         * etc/NEWS: Mention.
2918         * lisp/emacs-lisp/subr-x.el (internal--listify):
2919         (internal--build-binding-value-form): Extend to account for
2920         solitary symbols and (EXPR) items in binding varlist.
2921         (if-let*, when-let*): Nix single tuple case and incumbent
2922         bind-symbol-to-nil behavior.
2923         (and-let*): New macro.
2924         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
2925         they implicitly gain the new features without breaking existing code.
2926         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
2927         single-tuple special case, lack of binding solitary symbols to nil,
2928         and the introduction of uninterned symbols for (EXPR) bindings.  Add
2929         SRFI-2 test suite adapted to Elisp.
2931 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
2933         Fix minor typos in the Emacs manual
2935         * doc/emacs/text.texi (Org Organizer):
2936         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
2938 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
2940         Merge Emacs 25.3 fixes
2942         The security patches released for Emacs 25.3 were less drastic
2943         than what we had immediately put into master.  Adjust master to
2944         match 25.3 (Bug#28350).
2945         * lisp/textmodes/enriched.el (enriched-translations):
2946         Re-enable FUNCTION and display translations that are safe.
2947         (enriched-handle-display-prop): Bring back.
2948         (enriched-decode-display-prop): Bring back, but disable
2949         the unsafe part.
2951 2017-09-12  Alan Mackenzie  <acm@muc.de>
2953         Don't match C++ template delims starting within a token.  FIxes bug #28418.
2955         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
2956         attempted match from the start of a token (in particular, "<<"), move to the
2957         next token rather than the nex character before searching for the next "<".
2959 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
2961         Move gensym to core Elisp
2963         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
2964         after make-symbol.
2965         * etc/NEWS: Mention.
2966         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
2967         gensym-counter.
2968         (cl-gensym): Alias to gensym.
2969         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
2970         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
2971         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
2972         (ert--expand-should-1, ert--expand-should):
2973         (ert--should-error-handle-error):
2974         * lisp/emacs-lisp/generator.el (cps--gensym):
2975         * lisp/emacs-lisp/gv.el (setf):
2976         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
2977         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
2978         (pcase--funcall, pcase--u1): Use gensym.
2979         * lisp/subr.el (gensym-counter): New variable.
2980         (gensym): New function, assimilated from cl-lib.
2982 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
2984         Fix cl-gentemp
2986         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
2987         (cl-gentemp): Use it.  Change prefix to "T".
2989 2017-09-12  Sam Steingold  <sds@gnu.org>
2991         gnus-score-file-name: Do not append empty suffix.
2993 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
2995         Extend tramp-tests according to bug#27986
2997         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
2998         (tramp-test12-rename-file, tramp-test15-copy-directory)
2999         (tramp-test21-file-links): Extend tests.
3000         (tramp-test13-make-directory, tramp-test14-delete-directory):
3001         Specifiy error symbol in `should-error'.
3003 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3005         Add cl-print method for hash tables
3007         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
3009 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3011         Add docstrings to cl-print entry points
3013         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
3014         (cl-prin1, cl-prin1-to-string): Add docstrings.
3016 2017-09-12  Glenn Morris  <rgm@gnu.org>
3018         Improve reproducibility of generated leim-list.el
3020         * lisp/international/quail.el (quail-update-leim-list-file):
3021         Sort the quail directory listing, for more stable output.
3023 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
3025         Include sxhash of object with printed bytecode
3027         This printing, while succint, is rather opaque.  At least give an
3028         immediate clue of whether different byte code printouts are for the
3029         same or different byte code objects.
3030         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
3031         printed token "#<bytecode>".
3033 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
3035         Update documentation of 'max-lisp-eval-depth'
3037         * doc/lispref/eval.texi (Eval): Update the documented default
3038         value of 'max-lisp-eval-depth'.
3040 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
3042         Another place to produce debugging output in etags
3044         * lib-src/etags.c (Ruby_functions): One more place to print
3045         debugging output under --debug.
3047 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
3049         Improve documentation of etags-related features
3051         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
3052         'xref-prompt-for-identifier'.  (Bug#28403)
3053         (Etags Regexps): Document \D back references in etags regexps.
3055 2017-09-11  Alan Third  <alan@idiocy.org>
3057         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
3059         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
3060         Change macOS compatibility from 10.9 to 10.10.
3062 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
3064         Further optimization in Tramp's file name decomposition
3066         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
3067         components.  Call `custom-set-variables' after loading.
3068         (tramp-build-prefix-format, tramp-build-prefix-regexp)
3069         (tramp-build-method-regexp)
3070         (tramp-build-postfix-method-format)
3071         (tramp-build-postfix-method-regexp)
3072         (tramp-build-prefix-ipv6-format)
3073         (tramp-build-prefix-ipv6-regexp)
3074         (tramp-build-postfix-ipv6-format)
3075         (tramp-build-postfix-ipv6-regexp)
3076         (tramp-build-postfix-host-format)
3077         (tramp-build-postfix-host-regexp)
3078         (tramp-build-file-name-regexp)
3079         (tramp-build-completion-file-name-regexp): New defuns.
3080         (tramp-prefix-format, tramp-prefix-regexp)
3081         (tramp-method-regexp, tramp-postfix-method-format)
3082         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
3083         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
3084         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
3085         (tramp-postfix-host-regexp)
3086         (tramp-remote-file-name-spec-regexp)
3087         (tramp-file-name-structure, tramp-file-name-regexp)
3088         (tramp-completion-file-name-regexp): Convert defuns into defvars.
3089         (tramp-prefix-regexp-alist)
3090         (tramp-postfix-method-regexp-alist)
3091         (tramp-prefix-ipv6-regexp-alist)
3092         (tramp-postfix-ipv6-regexp-alist)
3093         (tramp-postfix-host-regexp-alist)
3094         (tramp-remote-file-name-spec-regexp-alist): Remove.
3095         (tramp-build-remote-file-name-spec-regexp)
3096         (tramp-build-file-name-structure): Simplify.
3097         (tramp-completion-file-name-regexp-alist): New defconst.
3098         (tramp-tramp-file-p, tramp-dissect-file-name)
3099         (tramp-make-tramp-file-name)
3100         (tramp-completion-make-tramp-file-name)
3101         (tramp-rfn-eshadow-update-overlay-regexp)
3102         (tramp-register-file-name-handlers)
3103         (tramp-completion-handle-file-name-all-completions)
3104         (tramp-completion-dissect-file-name, tramp-clear-passwd):
3105         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
3106         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
3107         (tramp-compute-multi-hops): Use variables but functions for
3108         file name components.
3110         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
3111         Use variables but functions for file name components.
3113 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3115         Port tramp-tests to new copy-directory behavior
3117         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
3118         Use directory name as arg for copy-directory when we want
3119         the special behavior.
3121 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3123         Adjust thumbs to new rename-file behavior
3125         * etc/NEWS: Mention this.
3126         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
3127         as special only if it is a directory name.  When there is
3128         a marked list, turn the destination into a directory name
3129         if it is not already.
3131 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3133         Adjust ob-tangle to new copy-file behavior
3135         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
3136         Port to new copy-file behavior.
3138 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3140         Make gnus-copy-file act like copy-file etc.
3142         * etc/NEWS: Mention this.
3143         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
3144         as special only if it is a directory name.
3146 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3148         Make write-file act like copy-file etc.
3150         Change write-file to be consistent with the new behavior
3151         of copy-file, etc.
3152         * etc/NEWS: Mention this.
3153         * lisp/files.el (write-file): Treat the destination as special
3154         only if it is a directory name.
3156 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3158         Make copy-directory act like copy-file etc.
3160         Do the special dance with the destination only if it is a
3161         directory name, for consistency with copy-file etc. (Bug#27986).
3162         * doc/emacs/files.texi (Copying and Naming):
3163         * doc/lispref/files.texi (Create/Delete Dirs):
3164         * etc/NEWS: Document this.
3165         * lisp/files.el (copy-directory): Treat NEWNAME as special
3166         only if it is a directory name.
3168 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3170         Fix some make-directory bugs
3172         * lisp/files.el (files--ensure-directory): New function.
3173         (make-directory): Use it to avoid bugs when (make-directory FOO t)
3174         is invoked on a non-directory, or on a directory hierarchy that
3175         is being built by some other process while Emacs is running.
3176         * test/lisp/files-tests.el (files-tests--make-directory): New test.
3178 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3180         Fix race with rename-file etc. with dir NEWNAME
3182         This changes the behavior of rename-file etc. slightly.
3183         The old behavior mostly disagreed with the documentation, and had
3184         a race condition bug that could allow attackers to modify victims'
3185         write-protected directories (Bug#27986).
3186         * doc/lispref/files.texi (Changing Files): Document that in
3187         rename-file etc., NEWFILE is special if it is a directory name.
3188         * etc/NEWS: Document the change in behavior.
3189         * src/fileio.c (directory_like): Remove.  All uses removed.
3190         (expand_cp_target): Test only whether NEWNAME is a directory name,
3191         not whether it is currently a directory.  This avoids a race.
3192         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
3193         Document behavior if NEWNAME is a directory name.
3194         (Frename_file): Simplify now that the destdir behavior occurs
3195         only when NEWNAME is a directory name.
3196         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
3197         (tramp-test12-rename-file, tramp--test-check-files):
3198         Adjust tests to match new behavior.
3200 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
3202         Extend --debug printouts in etags
3204         * lib-src/etags.c (regex_tag_multiline, readline): Under
3205         "--debug", print tags found via regexps.
3207 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
3209         Add --debug option to etags
3211         * lib-src/etags.c (make_tag): Print found tags under --debug.
3212         (longopts): Add --debug.
3214 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3216         Spelling fixes
3218         * lisp/progmodes/cc-langs.el:
3219         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
3220         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
3222 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3224         Merge from gnulib
3226         This incorporates:
3227         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
3228         2017-08-24 warnings: fix compilation with old autoconf
3229         2017-08-23 glob: merge from glibc with Zanella glob changes
3230         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
3231         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
3232         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
3233         * m4/warnings.m4:
3234         Copy from Gnulib.
3235         * lib/gnulib.mk.in: Regenerate.
3237 2017-09-10  Ken Brown  <kbrown@cornell.edu>
3239         Implement renameat_noreplace on recent Cygwin
3241         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
3242         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
3243         (Bug#27986)
3245 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
3247         Avoid warnings about file names in autoloads on MS-Windows
3249         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
3250         avoid warnings from find-file-noselect when making autoloads.  For
3251         the details, see
3252         http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00049.html.
3254 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
3256         Avoid looking at localized strings
3258         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
3259         localized strings.
3260         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
3261         parsing l10n strings doesn't error but is essentially a no-op.
3263 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3265         * etc/NEWS.25: Document 25.3 changes.
3267 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
3269         Remove unsafe enriched mode translations
3271         * lisp/gnus/mm-view.el (mm-inline-text):
3272         Do not worry about enriched or richtext type.
3273         * lisp/textmodes/enriched.el (enriched-translations):
3274         Remove translations for FUNCTION, display (Bug#28350).
3275         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
3277 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3279         Be more consistent about "directory name" in manual
3281         This clarifies the documentation, partly in response to the
3282         discussion in Bug#27986.
3284 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3286         Remove more compilation warnings in MinGW64 build
3288         * src/w32.c (faccessat, map_w32_filename):
3289         * src/w32fns.c (w32_wnd_proc):
3290         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
3291         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
3292         warnings with GCC 7 and later.
3294 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3296         Improve --enable-gcc-warnings for MinGW64
3298         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
3299         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
3300         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
3301         * lib-src/etags.c (process_file_name, TeX_commands):
3302         * src/buffer.c (fix_overlays_before):
3303         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
3304         (cons_to_signed):
3305         * src/editfns.c (Ftranslate_region_internal):
3306         Prefer UNINIT to some stray value, as this simplifies
3307         code-reading later.
3308         * src/eval.c (CACHEABLE): New macro.
3309         (internal_lisp_condition_case): Use it.
3310         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
3312 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3314         Fix font-lock in Compilation mode
3316         * lisp/progmodes/compile.el (compilation-face): Restore function
3317         lost during recent changes.  (Bug#28349)
3319 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
3321         Add function to read all entries in a group
3323         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
3324         entries in all groups were read and returned by xdg-desktop-read-file.
3325         * lisp/xdg.el (xdg-desktop-read-group): New function.
3326         (xdg-desktop-read-file): Use it.
3327         * test/data/xdg/malformed.desktop: New file.
3328         * test/data/xdg/test.desktop: Add another section.
3329         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
3330         in another group.  Test reading a prescribed group.  Test detecting a
3331         malformed key=value.
3333 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
3335         Reduce Tramp's memory usage
3337         Construct Tramp syntax strings and regular expressions once instead
3338         of every time they are used, and store them in alists keyed by Tramp
3339         syntax.
3340         * tramp.el (tramp-build-remote-file-name-spec-regexp)
3341         (tramp-build-file-name-structure): New functions.
3342         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
3343         (tramp-method-regexp-alist)
3344         (tramp-postfix-method-format-alist)
3345         (tramp-postfix-method-regexp-alist)
3346         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
3347         (tramp-postfix-ipv6-format-alist)
3348         (tramp-postfix-ipv6-regexp-alist)
3349         (tramp-postfix-host-format-alist)
3350         (tramp-postfix-host-regexp-alist)
3351         (tramp-remote-file-name-spec-regexp-alist)
3352         (tramp-file-name-structure-alist): New constants.
3353         (tramp-lookup-syntax): New function.
3354         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
3355         (tramp-postfix-method-format, tramp-postfix-method-regexp)
3356         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
3357         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
3358         (tramp-postfix-host-format, tramp-postfix-host-regexp)
3359         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
3360         Use it.
3362 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3364         Fix compilation warnings in MinGW64 build using GCC 7
3366         Reported by Richard Copley <rcopley@gmail.com>.
3367         * src/w32heap.c (init_heap): Declare enable_lfh only for
3368         mingw.org's MinGW build.
3370         * src/w32console.c (w32con_write_glyphs):
3371         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
3372         mismatches of data type vs format spec.
3374         * src/w32fns.c (compute_tip_xy):
3375         * src/w32proc.c (stop_timer_thread):
3376         * src/w32notify.c (remove_watch):
3377         * src/eval.c (internal_lisp_condition_case):
3378         * src/editfns.c (Ftranslate_region_internal):
3379         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
3380         (cons_to_signed):
3381         * src/buffer.c (fix_overlays_before): Initialize variables to
3382         avoid compiler warnings.
3384         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
3385         variables to avoid compilation warnings.
3387 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3389         Avoid infloop when scrolling under scroll-preserve-screen-position
3391         * src/window.c (window_scroll_pixel_based): If screen position is
3392         to be preserved, make sure its recorded Y coordinate is outside
3393         the scroll margin.  (Bug#28342)
3395 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
3397         Clarification in tramp-texi
3399         * doc/misc/tramp.texi (Connection caching): Two connections are
3400         regarded as different now when they differ in the port number only.
3402 2017-09-09  Miles Bader  <miles@gnu.org>
3404         * admin/quick-install-emacs: Tweak configure.ac parsing
3406 2017-09-09  Miles Bader  <miles@gnu.org>
3408         Use text-property buttons in rcirc-markup-urls
3410         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
3411         instead of `make-button'; the former is much more efficient in large
3412         buffers, and for the purposes of rcirc, changes no functionality.
3414 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
3416         Fix line-pixel-height for lines of variable height
3418         * src/xdisp.c (Fline_pixel_height): Start moving from the
3419         beginning of the screen line, to capture the full metrics of the
3420         line.  (Bug#28391)
3422 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
3424         New variable 'dired-confirm-killing-deleted-buffers'
3426         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
3427         New variable.
3428         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
3429         visiting deleted files without confirming if
3430         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
3431         * etc/NEWS: Document the change.
3433 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
3435         Support SVN files with svn:externals property
3437         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
3438         marked with the svn:externals property.
3440 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
3442         List locally removed files in vc-dir with SVN back-end
3444         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
3445         with ?! as needs-update.
3447 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
3449         Fix Rmail editing with reapplying encoding to message body
3451         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
3452         content-type in edited headers, look for one in original
3453         headers and add it to edited headers.  (Bug #26918)
3454         Use a marker to track start of new body, so that
3455         content-transfer-encoding gets applied only to body.  (Bug #27353).
3456         Ensure blank line at end of message after encoding, not
3457         before.
3459 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
3461         Document last change in dired.el
3463         * etc/NEWS (Dired): Document the last change in dired.el.
3464         (Bug#27435)
3466 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3468         Make mouse clicks in Dired more customizable
3470         * lisp/dired.el (dired-mouse-find-file): Allow callers to
3471         specify functions to visit file/directory.
3472         (dired-mouse-find-file-other-window)
3473         (dired-mouse-find-file-other-frame): New functions to visit
3474         files in another window/frame.  (Bug#27435)
3476 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
3478         Avoid compiler warnings on MS-Windows with GCC 6 and 7
3480         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
3481         bit-shifting, to avoid compiler warnings.
3482         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
3483         a warning.  For details of the warning, see
3484         http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00093.html.
3485         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
3486         in that build.
3487         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
3488         function is not used in that build.
3490         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
3492 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
3494         Fix 'directory-file-name' on DOS_NT systems as well
3496         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
3497         to be consistent with last change.
3499         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
3500         Disable on MS-Windows.
3501         (fileio-tests--directory-file-name-dos-nt)
3502         (fileio-tests--file-name-as-directory-dos-nt): New tests.
3504 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
3506         Fix various verilog-mode.el issues.
3508         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
3509         "*/*", msg2284. Reported by Jonathan Ferguson.
3510         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
3511         by Victor Lau.
3512         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
3513         verilog-substitute-file-name-path): Support -F in verilog getopt files,
3514         bug1171. Reported by George Cuan.
3515         (verilog-do-indent): Fix misindenting symbols starting with t,
3516         bug1169. Reported by Hoai Tran.
3517         (verilog-read-auto-template-middle): Fix slow template matching on
3518         AUTOINST. Reported by Jeffrey Huynh.
3519         (verilog-pretty-expr): The extra whitespace addition before "=" operators
3520         is now done only if the whole assignment block contains the 2-character
3521         "<=" operator.  Remove the unused argument _myre.  Use `unless',
3522         `save-excursion' and `when' functions where possible.  Internal variables
3523         refactored for clarity.  Follow elisp convention for closing parentheses.
3524         By Kaushal Modi.
3525         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
3526         refactored for clarity.  Earlier EDPOS argument was expected to be a
3527         marker; it is now renamed to END and is now expected to be a position.
3528         Use `when' instead of `if'.  By Kaushal Modi.
3529         (electric-verilog-terminate-line): Remove the unused second argument from
3530         `verilog-pretty-expr' call.  By Kaushal Modi.
3531         (verilog-calc-1): Fix indentation of a virtual class definition after a
3532         typedef class, bug1080.  By Kaushal Modi.
3534 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
3536         Don't use summary window to visit group buffer (bugfix)
3538         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
3539         the window to open the group buffer doesn't visit the summary buffer.
3540         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
3541         by trying to select nonexistent summary window.
3543 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
3545         Fix bug: (directory-file-name "///") returned "//"
3547         * src/fileio.c (directory_file_name): For "///" and longer,
3548         return "/", not "//", as per POSIX.
3549         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
3550         (fileio-tests--file-name-as-directory): New tests.
3552 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
3554         Remove obsolete vc-mistrust-permissions doc
3556         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
3557         for vc-mistrust-permissions, which no longer exists.
3559 2017-09-07  Alan Third  <alan@idiocy.org>
3561         Set frame size to actual requested size (bug#18215)
3563         * src/nsterm.m (x_set_window_size): Don't use
3564         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
3566 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
3568         autogen.sh: omit bogus chatter if no .git
3570         Problem reported by Angelo Graziosi in:
3571         http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00045.html
3572         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
3574 2017-09-07  Glenn Morris  <rgm@gnu.org>
3576         Skip emacsclient tests if --enable-profiling was used
3578         * test/lib-src/emacsclient-tests.el
3579         (emacsclient-test-call-emacsclient): Make it a macro.
3580         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
3581         (emacsclient-test-alternate-editor-allows-arguments)
3582         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
3584 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
3586         Fix a minor markup problem in ELisp manual
3588         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
3589         @example and @group.  For the details, see
3590         http://lists.gnu.org/archive/html/bug-texinfo/2017-09/msg00007.html.
3592 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
3594         Add XDG desktop file parsing and tests
3596         * lisp/xdg.el: Add support for Desktop Entry Specification.
3597         (xdg--user-dirs-parse-line): Check if file is readable.
3598         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
3599         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
3600         New functions.
3601         * test/lisp/xdg-tests.el:
3602         * test/data/xdg/test.desktop:
3603         * test/data/xdg/wrong.desktop: New files.
3605 2017-09-06  Glenn Morris  <rgm@gnu.org>
3607         Allow for adjusting line length of test backtraces
3609         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
3610         (%.log): Respect backtrace line length.
3612 2017-09-06  Glenn Morris  <rgm@gnu.org>
3614         Allow customizing line length of ert backtraces in batch mode
3616         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
3617         Make it a user option.
3618         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
3620 2017-09-06  Glenn Morris  <rgm@gnu.org>
3622         Minor emacsclient-tests simplification
3624         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
3625         Simplify.  Also work when running installed.
3627 2017-09-06  Alan Third  <alan@idiocy.org>
3629         Revert "Force screen update after drawing cursor glyph (bug#23774)"
3631         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
3633         See bug#28358
3635 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
3637         Refactor some loops in mailcap.el
3639         * lisp/net/mailcap.el (mailcap-mime-types):
3640         (mailcap-file-default-commands): Convert nested maps to loops.
3642 2017-09-05  Glenn Morris  <rgm@gnu.org>
3644         emacsclient-tests: remove some debug statements
3646         * test/lib-src/emacsclient-tests.el
3647         (emacsclient-test-call-emacsclient): Remove debug statements.
3649 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
3651         Handle non-zero exit status from psql more gracefully
3653         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
3654         exit statuses from `psql -ltX' more gracefully by returning nil.
3656         * test/lisp/progmodes/sql-tests.el
3657         (sql-tests-postgres-list-databases-error): New test.
3659 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
3661         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
3663         * src/w32proc.c (sys_kill): Preserve the up/down state of the
3664         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
3666 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
3668         * src/image.c (Fimagemagick_types): Doc fix.
3670 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
3672         Move soundex.el test to a proper test
3674         * test/lisp/soundex-tests.el: New file.
3675         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
3677 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
3679         Add tests for mailcap.el
3681         * test/data/mailcap/mime.types: New file.
3682         * test/lisp/net/mailcap-tests.el: New file.
3684 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
3686         Doc precisment about remote link targets
3688         * doc/lispref/files.texi (Truenames): Explain handling of
3689         targets of `file-truename' and `make-symbolic-link', which
3690         look like a remote file name.
3692         * etc/NEWS: Precise examples for symlinks which look like
3693         remote file names.  MUSTBENEW of `write-region' is not
3694         propagated to file name handlers.
3696 2017-09-05  John Wiegley  <johnw@newartisans.com>
3698         Remove an opinionated section on "What Eshell is not"
3700         I don't find this information to accurately reflect possible use cases
3701         for Eshell; plus, it doesn't offer much in the way of information,
3702         just opinion.
3704 2017-09-05  Ken Brown  <kbrown@cornell.edu>
3706         Fix configure test for Xpm
3708         Problem reported by Ashish Shukla in
3709         https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00020.html.
3710         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
3711         noX/xpm.h in configure test.
3713 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
3715         Revert recent float→double Motif change
3717         Problem reported by Martin Rudalics in:
3718         http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00014.html
3719         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
3720         (x_set_toolkit_scroll_bar_thumb)
3721         (x_set_toolkit_horizontal_scroll_bar_thumb):
3722         Go back to using ‘float’ temporaries rather than ‘double’.
3723         Although quite possibly this masks an underlying bug,
3724         we lack time to look into that now.
3726 2017-09-04  Glenn Morris  <rgm@gnu.org>
3728         emacsclient-tests: add some debug statements
3730         * test/lib-src/emacsclient-tests.el
3731         (emacsclient-test-call-emacsclient): Add debug statements.
3733 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
3735         Work on Tramp's (symbolic) links
3737         * doc/misc/tramp.texi (Traces and Profiles): Mention the
3738         backtrace when tramp-verbose is greater than or equal to 10.
3740         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
3741         Use `tramp-handle-add-name-to-file'.
3743         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
3744         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
3746         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
3748         * lisp/net/tramp-smb.el (tramp-smb-errors):
3749         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
3750         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
3751         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
3752         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
3753         if one of the attributes is non-nil.
3754         (tramp-smb-handle-file-local-copy): Use `file-truename'.
3755         (tramp-smb-handle-file-truename): Move to tramp.el.
3756         (tramp-smb-handle-insert-directory): Show symlinks.
3757         (tramp-smb-handle-make-symbolic-link): Improve.
3758         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
3760         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
3761         (tramp-handle-file-truename): New defuns.
3763         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
3764         (tramp--test-check-files): Make check for "smb".
3766 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
3768         Embed JSON readtable into json-read
3770         Also unroll dispatch into a cond.
3771         * lisp/json.el (json-readtable): Remove.
3772         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
3773         (json-read): Use the macro.
3775 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
3777         Hexify strings in EWW search queries
3779         Previously, inputting "cats & dogs" would lose dogs because the
3780         ampersand signifies a query parameter.  Instead, hexify each word while
3781         preserving quotes with split-string.
3782         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
3783         with + separators, instead of replacing whitespace with +.
3785 2017-09-03  Glenn Morris  <rgm@gnu.org>
3787         emacsclient-tests: call-process may return non-integer
3789         * test/lib-src/emacsclient-tests.el
3790         (emacsclient-test-alternate-editor-allows-arguments)
3791         (emacsclient-test-alternate-editor-allows-quotes):
3792         Handle non-integer return from call-process.
3794 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
3796         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
3798 2017-09-03  Alan Third  <alan@idiocy.org>
3800         Force screen update after drawing cursor glyph (bug#23774)
3802         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
3803         drawing the glyph over the cursor.
3805 2017-09-03  Alan Mackenzie  <acm@muc.de>
3807         Correct the fontification of quote marks after buffer changes in CC Mode.
3809         * lisp/progmodes/cc-defs.el
3810         (c-search-forward-char-property-with-value-on-char): New macro.
3812         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
3813         (c-parse-quotes-after-change): Rewrite the functions, simplifying
3814         considerably, and removing unnecessary optimisations.  Invalidate two caches
3815         after manipulating text properties.
3817 2017-09-03  Alan Mackenzie  <acm@muc.de>
3819         Fix fontification of "operator~" in C++ Mode.
3821         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
3822         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
3824         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
3825         two other symbols) as a cast without good evidence.  Prefer an overloaded
3826         operator in ambiguous cases.
3828 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
3830         In delete_frame do not delete terminal for any toolkit build
3832         * src/frame.c (delete_frame): Neither delete terminal for
3833         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
3834         Bug#27816).
3836 2017-09-02  Philipp Stephani  <phst@google.com>
3838         Improve error messages for improper plists (Bug#27726)
3840         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
3841         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
3842         improper plists instead of ‘listp.’
3844         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
3845         (lax-plist-get/odd-number-of-elements)
3846         (plist-put/odd-number-of-elements)
3847         (lax-plist-put/odd-number-of-elements)
3848         (plist-member/improper-list): Add unit tests.
3850 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
3852         Fix decrypting in plstore.el on MS-Windows
3854         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
3855         raw-text, instead of using insert-file-contents-literally.
3856         (Bug#28114)
3858 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
3860         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
3862 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
3864         Rewrite Antinews for Emacs 26
3866         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
3867         * doc/lispref/elisp.texi (Top): Update the top-level menu's
3868         Antinews entry.
3869         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
3870         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
3871         entry.
3873         * etc/NEWS: Rearrange some entries in a more reasonable order.
3875 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
3877         Fix a mis-binding in a test
3879         * test/lisp/progmodes/python-tests.el
3880         (python-shell-calculate-process-environment-3): Fix binding of
3881         process-environment.  A level of parens was missing.
3883         This was found after Glenn Morris noticed a similar problem with the
3884         patch for Bug#28319.
3886 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
3888         Fix a mis-binding and a bad defun name in a test (Bug#28319)
3890         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
3891         emacsclient-test-call-emacsclient.
3892         (emacsclient-test-alternate-editor-allows-arguments)
3893         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
3894         process-environment.
3896         Thanks to Glenn Morris for noticing these errors.
3898 2017-09-02  Glenn Morris  <rgm@gnu.org>
3900         * test/Makefile.in (check-no-automated-subdir): Silence by default.
3902         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
3904 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
3906         Turn off checkdoc complaint about default argument order
3908         * etc/NEWS: Mention change.
3909         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
3910         Disable by default, note version.
3912 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
3914         Stop emacsclient tests hanging (Bug#28319)
3916         * test/lib-src/emacsclient-tests.el
3917         (emacsclient-test-alternate-editor-allows-arguments): Use a
3918         non-existent file to communicate with server, so that any existing
3919         default server will not be hijacked (in fact, the test does
3920         not need a server).
3921         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
3923 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
3925         * lisp/obsolete/html2text.el: Don't require CL
3927         (html2text-clean-anchor): Mark unused arg.
3929 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
3931         Don't remove undisplayers from inlined MIME parts (bugfix)
3933         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
3934         Don't remove undisplayers from inlined MIME parts (bugfix);
3935         Simplify criterion that finds attachments.
3937 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
3939         Make ucs-names a hash table (Bug#28302)
3941         * etc/NEWS: Mention the type change.
3942         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
3943         Hardcode BEL's name into the function instead of needlessly mapping
3944         over the hash table in the spirit of rassoc.
3945         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
3946         function docstrings.  Initialize a hash table for ucs-names--the
3947         number of entries is 42845 here.  Switch to hash-table
3948         getters/setters.
3949         (mule--ucs-names-annotation): Use hash-table getter.
3950         (char-from-name): Upcase the string if ignore-case is truthy.
3951         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
3953 2017-08-31  Alan Third  <alan@idiocy.org>
3955         Remove unneeded version checks (bug#28222)
3957         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
3958         check.
3959         * src/macfont.m (macfont_draw): Remove version check, and test for
3960         existence of CGContextSetFontSmoothingStyle.
3962 2017-08-31  Alan Mackenzie  <acm@muc.de>
3964         Fix a glitch in CC Mode's syntactic whitespace cache.
3966         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
3967         comment close at the end of a macro.
3969 2017-08-31  Alan Mackenzie  <acm@muc.de>
3971         Correct the fontification of C++ Mode enclosed declarations.
3973         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
3974         spurious check that the character before the start of an enclosed declaration
3975         must be ; or }.  It might also be {.
3977 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
3979         In xterm.c fix some recently introduced compiler warnings
3981         * src/xterm.c (xaw_jump_callback)
3982         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
3983         -Wdouble-promotion warnings.
3985 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
3987         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
3989         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
3990         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
3991         react to state changes received via ConfigureNotify.
3993 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
3995         Respect directory a user enters (bug#28299)
3997         * lisp/gnus/mm-decode.el (mm-save-part):
3998         Respect directory a user enters (bug#28299).
4000 2017-08-31  Samuel Freilich  <sfreilich@google.com>
4002         Do not split line before width of fill-prefix
4004         When auto-filling a paragraph, don't split a line before the width of the
4005         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
4006         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
4007         the line than the width of the fill-prefix.  This is a more general solution
4008         than the previous logic, which only skipped over the exact fill-prefix.  The
4009         fill-prefix doesn't necessarily match the prefix of the first line of a
4010         paragraph in adaptive-fill-mode.
4012 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
4014         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
4016         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
4017         Consider any documentation that ended up in code as a docstring (e.g.,
4018         autogenerated (fn ARG1 ARG2) type things), not just what the user
4019         passed.
4021 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
4023         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
4025         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
4026         to drop the docstring.  Add a simple docstring to the compiler-macro.
4028 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4030         Quote file-truename symlink to "../foo:bar:"
4032         Problem reported by Michael Albinus (Bug#28264#19).
4033         * lisp/files.el (files--splice-dirname-file): Fix bug where
4034         a relative symlink to "../foo:bar:" did not quote the result.
4036 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
4038         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
4040         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
4041         corresponding command-line argument, into quote- or space-separated
4042         tokens.  If a token starts with a quote, then it naturally is expected
4043         to end with a quote; escaping is not supported. This is enough to cope
4044         with the typical case of requiring the initial path to be quoted,
4045         common on Windows where it may contain spaces.
4046         * etc/NEWS: Document.
4047         * doc/emacs/misc.texi: Likewise.
4048         * doc/man/emacsclient.1: Tweak to remove the implication that only an
4049         editor can be specified (the manual already mentions a “command”).
4050         Fix a small error where “EDITOR” is referred to rather than
4051         “ALTERNATE_EDITOR”.
4052         * test/lib-src/emacsclient-tests.el: Add tests.
4054 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4056         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
4058 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
4060         Correct "hide others" shortcut on macOS (bug#28215)
4062         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
4064 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
4066         Sync NEWS with the documentation
4068         * etc/NEWS: Mark entries according to documentation.
4070         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
4072 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
4074         Improve symlinks for Tramp
4076         * lisp/files.el (files--splice-dirname-file): Quote whole file.
4078         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
4079         Do not expand TARGET, it could be remote.
4080         (tramp-sh-handle-file-truename): Check for cyclic symlink also
4081         in case of readlink.  Quote result if it looks remote.
4082         (tramp-sh-handle-file-local-copy): Use `file-truename'.
4084         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
4085         (tramp-test09-insert-file-contents): Test also file missing.
4086         (tramp-test21-file-links): Extend test.
4088 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
4090         Preserve display's foreground color when clearing internal borders (Bug#28278)
4092         * src/xterm.c (x_after_update_window_line): Preserve display's
4093         foreground color when clearing internal borders (Bug#28278).
4095 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
4097         Use cl-print for all values printed by `describe-variable'
4099         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
4100         global values too.
4102 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
4104         Minor simplification for byte-compile-constant-push
4106         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
4107         of the code from here...
4108         (byte-compile-constant-push): ... to here.  No need to bind
4109         byte-compile--for-effect anymore.
4111 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4113         Prefer file-name-quote to concat "/:"
4115         Suggested by Michael Albinus (Bug#28264#13).
4116         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
4117         rather than attempting to do it by hand.
4119 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4121         * configure.ac: fix typo in previous change
4123 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4125         Be more conservative in link time optimization doc
4127         While testing --enable-link-time-optimization with GCC 7.1.1
4128         I ran into a serious GCC code-generation bug which makes me
4129         think that --enable-link-time-optimization should be
4130         discouraged for typical installs (Bug#28213).  See:
4131         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
4133 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4135         Make garbage collection more conservative
4137         Check for a pointer anywhere within the object, as opposed to just
4138         the start of the object.  This is needed for gcc -Os -flto on
4139         x86-64 (Bug#28213).  This change means that the garbage collector
4140         is more conservative, and will incorrectly keep objects that it
4141         does not need to, but that is better than incorrectly discarding
4142         objects that should be kept.
4143         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
4144         this is easier to debug.
4145         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
4146         Now a function with two args, not a macro with three.
4147         All callers changed.
4148         (live_string_holding, live_cons_holding, live_symbol_holding)
4149         (live_misc_holding, live_vector_holding, live_buffer_holding):
4150         New functions, which check for any object containing the addressed
4151         byte, not just for an object at the given address.
4152         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
4153         (live_vector_p, live_buffer_p):
4154         Redefine in terms of the new functions.
4155         (live_float_p): Refactor slightly to match the new functions.
4156         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
4157         Don’t bother checking mark bits, as mark_object already does that,
4158         and omitting the checks here simplifies the code.  Although
4159         mark_maybe_object can continue to insist that tagged pointers
4160         still address the start of the object, mark_maybe_pointer now is
4161         more conservative and checks for pointers anywhere into an object.
4163 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4165         Improve stack-top heuristic
4167         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
4168         of the stack when scanning for heap roots, causing Emacs to crash
4169         later (Bug#28213).  The problem is that Emacs's hack for getting an
4170         address near the stack top does not work when link-time optimization
4171         moves stack variables around.
4172         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
4173         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
4174         (write_globals, scan_c_stream): Support noinline.
4175         * src/alloc.c (NEAR_STACK_TOP): New macro.
4176         (SET_STACK_TOP_ADDRESS): Use it.
4177         (flush_stack_call_func, Fgarbage_collect): Now noinline.
4179 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4181         Align stack bottom properly.
4183         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
4184         * src/emacs.c (main): Align stack-bottom variable as a pointer,
4185         since mark_memory requires this.
4187 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4189         Avoid spinning waiting for git-gui.exe on Windows
4191         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
4192         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
4193         process exited.  (Bug#28268)
4195 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4197         Document '--module-assertions'
4199         * doc/emacs/cmdargs.texi (Initial Options): Document the
4200         '--module-assertions' command-line option.
4201         * doc/lispref/loading.texi (Dynamic Modules): Add a
4202         cross-reference to the description of '--module-assertions'.
4204         * etc/NEWS: Update the NEWS entry for --module-assertions.
4206 2017-08-29  Alan Third  <alan@idiocy.org>
4208         Add news entry about new macOS features
4210         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
4211         ns-use-thin-smoothing.
4213 2017-08-29  Alan Third  <alan@idiocy.org>
4215         Fix cross macOS version building (bug#28222)
4217         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
4218         declaration.
4219         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
4221 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
4223         Enable thin font smoothing in macOS (bug#28222)
4225         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
4226         * src/macfont.m (macfont_draw): Use font smoothing.
4228 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4230         Minor improvement in documentation of display-line-numbers
4232         * doc/emacs/display.texi (Display Custom): Document the
4233         display-line-numbers-mode and related options.
4235 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4237         Avoid aborting in 'waitpid' on MS-Windows
4239         * src/w32proc.c (waitpid): Don't allow quitting if called with
4240         WNOHANG in OPTIONS.  (Bug#28268)
4242 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
4244         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
4246         (sh-syntax-propertize-function): Fix off-by-one error.
4247         Fixes bug#23526.
4249 2017-08-29  Rasmus  <rasmus@gmx.us>
4251         Update Org to v9.0.10
4253         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
4254         release.
4256 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4258         Silence false alarms for symlinks to sources
4260         Problem reported by Glenn Morris (Bug#28264).
4261         * lisp/files.el (files--splice-dirname-file): New function.
4262         (file-truename, file-chase-links): Use it.
4264 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4266         Simplify remove_slash_colon
4268         * src/process.c (remove_slash_colon): Simplify
4269         and avoid a special case for "/:" by itself.
4271 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
4273         Remove font family from minibuffer-prompt face
4275         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
4276         minibuffer-prompt face.
4278 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
4280         Further fixes in tramp-smb.el
4282         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
4283         (tramp-smb-file-name-handler-alist): Use it.
4284         (tramp-smb-handle-make-symbolic-link): Unquote target.
4286         * test/lisp/net/tramp-tests.el
4287         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
4288         (tramp-test18-file-attributes, tramp-test21-file-links)
4289         (tramp--test-check-files): Use it.
4291 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4293         Don’t assume -g3 in .gdbinit
4295         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
4296         Use reasonable defaults if not in the symbol table.
4298 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
4300         Use string-match to check for dotfiles in ido
4302         * lisp/ido.el (ido-make-file-list): Use string-match to check
4303         for dotfiles instead of substring, as when using tramp
4304         simplified syntax ido-temp-list may contain empty strings.
4306 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
4308         Font-lock FDO desktop files correctly
4310         Single and double quotes do not have a special meaning in
4311         desktop files.
4312         https://standards.freedesktop.org/desktop-entry-spec/latest/
4313         * etc/NEWS: Mention new mode.
4314         * lisp/files.el (auto-mode-alist): Split out an entry for handling
4315         the .desktop extension with conf-desktop-mode.
4316         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
4317         variable with rules for booleans and format specifiers.
4318         (conf-unix-mode): Remove desktop file entry example from docstring.
4319         (conf-desktop-mode): New derived major mode.
4321 2017-08-27  Tom Tromey  <tom@tromey.com>
4323         Fix auto-fill bug in js-mode
4325         * lisp/progmodes/js.el (js-do-auto-fill): New function.
4326         (js-mode): Set normal-auto-fill-function.
4327         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
4328         test.
4330 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
4332         Disable completion while entering python multiline statements
4334         The "legacy" completion mechanism sends newlines to the running python
4335         process to get the list of completions, which confuses things if the
4336         user is in the middle of entering a multiline statement (Bug#28051).
4337         It's better to disable completion in this case.
4338         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
4339         (python-shell-prompt-set-calculated-regexps): Set it.
4340         (python-shell-completion-at-point): Return 'ignore' as the completion
4341         function when the current prompt is a block prompt.
4343 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
4345         Tramp cleanup
4347         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
4348         (tramp-sh-handle-make-symbolic-link): More robust check for
4349         TARGET remoteness.
4351         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
4352         Disable copying by tar temporarily, it doesn't work reliably.
4353         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
4354         (tramp-smb-handle-make-symbolic-link): Fix implementation.
4356         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
4358         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
4359         Extend test.
4361 2017-08-27  Glenn Morris  <rgm@gnu.org>
4363         Fix previous xterm.h change for non-gtk builds
4365         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
4367 2017-08-27  Philipp Stephani  <phst@google.com>
4369         Fix GdkSettings-related deprecation warnings
4371         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
4372         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
4373         instead of deprecated gtk_settngs_set_string_property otherwise.
4375 2017-08-27  Philipp Stephani  <phst@google.com>
4377         Always use gtk_window_move in new versions
4379         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
4380         GTK+.
4381         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
4383         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
4384         is ignored.
4386         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
4388 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
4390         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
4392         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
4393         narrowing, and widen the buffer before searching for the name of the
4394         file corresponding to the diff.
4396         With thanks to Noam Postavsky.
4398 2017-08-27  Philipp Stephani  <phst@google.com>
4400         Remove use of a deprecated GTK+ function in new versions
4402         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
4403         if available
4405 2017-08-27  Philipp Stephani  <phst@google.com>
4407         Stop using deprecated GdkScreen monitor functions in newer GDK
4409         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
4410         objects instead of the deprecated GdkScreen functions in GDK 3.22+
4412 2017-08-27  Philipp Stephani  <phst@google.com>
4414         Use GdkSeat in new GDK versions
4416         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
4417         GdkDeviceManager in GDK 3.20+
4419 2017-08-27  Philipp Stephani  <phst@google.com>
4421         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
4423 2017-08-27  Philipp Stephani  <phst@google.com>
4425         Remove call of deprecated GDK function
4427         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
4428         GDK 3.22 or later.
4430 2017-08-27  Alan Mackenzie  <acm@muc.de>
4432         Amend the CC Mode macro cache to cope with changes at the macro start
4434         Fixes bug #28233.
4436         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
4437         error.
4439 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4441         Fix over-protection of byte-compiled files
4443         Problem reported by Sven Joachim (Bug#28244).
4444         Also, fix similar problem for autoload files.
4445         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
4446         Set temp file modes to the buffer-file-name file modes (or 666
4447         if not available) as adjusted by umask.
4448         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
4449         Set temp file modes to 666 as adjusted by umask.
4451 2017-08-27  Tom Tromey  <tom@tromey.com>
4453         Refine conf-toml-mode font-lock
4455         Bug#28218
4456         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
4457         conf-toml-recognize-section.  Use \s- in variable regexp.
4458         (conf-toml-recognize-section): New function.
4460 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4462         Do not munge contents of local symbolic links
4464         This lets Emacs deal with arbitrary local symlinks without
4465         mishandling their contents (Bug#28156).  For example,
4466         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
4467         now consistently creates a symbolic link from '/tmp/x' to '~'.
4468         Formerly, it did that only if the working directory was on the
4469         same filesystem as /tmp; otherwise, it expanded the '~' to
4470         the user's home directory.
4471         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
4472         instead of rolling our own code.
4473         * lisp/files.el (files--name-absolute-system-p): New function.
4474         (file-truename, file-chase-links): Use it to avoid mishandling
4475         symlink contents that begin with ~.
4476         (copy-directory, move-file-to-trash):
4477         Use concat rather than expand-file-name, to avoid mishandling
4478         symlink contents that begin with ~.
4479         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
4480         target unless interactive.  Strip leading "/:" if interactive.
4481         (emacs_readlinkat): Do not prepend "/:" to the link target if
4482         it starts with "/" and contains ":" before NUL.
4483         * test/src/fileio-tests.el (try-link): Rename from try-char,
4484         and accept a string instead of a char.  All uses changed.
4485         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
4486         to test the new behavior.
4488 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
4490         Remove invalid regexp for shell builtins for wksh
4492         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
4493         be literal strings, so remove a regexp for wksh. In any case, it’s a
4494         defunct proprietary shell.
4496 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4498         Improve doc for file-name-absolute-p.
4500 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
4502         Fix Tramp part of Bug#28156
4504         * lisp/files.el (file-name-non-special): Use `file-name-quote'
4505         instead prefixing "/:", the file could already be quoted.
4507         * lisp/net/tramp.el (tramp-error): Handle null arguments.
4508         (tramp-handle-make-symbolic-link):
4509         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
4510         (tramp-sh-handle-add-name-to-file):
4511         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
4512         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
4513         stronger semantics in Emacs.  (Bug#28156)
4515         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
4516         Extend test.
4518 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
4520         Fix bugs merged with bug#25428
4522         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
4523         (Bug#13926)  (Bug#25434)  (Bug#25435)
4525 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
4527         Improve documentation of Info virtual files and nodes
4529         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
4530         (Bug#28237)
4532 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
4534         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
4536 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
4538         Support multi-lingual detection of SEE ALSO man sections
4540         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
4541         section detection in several langages: French, German, Spanish,
4542         Portugese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
4544 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4546         Improve expand-file-name doc
4548         * doc/lispref/files.texi (Relative File Names, Directory Names)
4549         (File Name Expansion):
4550         * doc/lispref/minibuf.texi (Reading File Names):
4551         Document expand-file-name behavior with ~ more clearly
4552         and accurately.
4553         * doc/misc/org.texi (Batch execution): Simplify example
4554         script so that it does not need expand-file-name and thus
4555         will not mishandle file names with leading ~.
4557 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
4559         Support all perl variable declarators and prefixes (Bug#27613)
4561         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
4562         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
4563         'local', 'state', 'supersede', 'let', and 'temp'.
4565 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4567         Fix file-attributes race on GNU hosts
4569         * doc/lispref/files.texi (File Attributes):
4570         Document file-attributes atomicity.
4571         * etc/NEWS: Document the fix.
4572         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
4573         for diagnostics.  All callers changed.  On platforms like
4574         GNU/Linux that support O_PATH, fix a race condition in
4575         file-attributes and similar functions, so that these functions do
4576         not return nonsense if a directory entry is replaced while getting
4577         its attributes.  On non-GNU platforms, do a better (though not
4578         perfect) job of detecting the race, and return nil if detected.
4580 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4582         Simplify expand_and_dir_to_file
4584         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
4585         argument, since in practice it always has the default value.  All
4586         callers changed.  Prefer C99 style decls in nearby code.
4588 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
4590         Fix file-name completion on network shares
4592         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
4593         (Bug#28207)
4595 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
4597         Fix a FIXME with an exegetical comment
4599         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
4600         regexp for wksh builtins.
4602 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
4604         Minor docstring language fix
4606         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
4608 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
4610         Remove old commented code from sh-script.el
4612         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
4613         and variable, commented since 2001.
4615 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4617         * lisp/emacs-lisp/package.el: Don't let failure stop us
4619         (package-activate-1): Don't throw an error for missing deps.
4620         (package-unpack): Don't bother compiling if activation failed.
4621         (package-initialize): Report failures but keep activating other packages.
4623 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4625         Prefer ‘double’ for FP temps in xterm.c
4627         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
4628         (x_set_toolkit_scroll_bar_thumb)
4629         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
4630         ‘float’ for individual local floating-point temporaries.
4632 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
4634         Avoid using string-to-multibyte in ispell.el
4636         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
4637         decode-coding-string instead. Note that decode-coding-string returns a
4638         string that satisfies multibyte-string-p even if its input is pure
4639         ASCII and the third argument is t, so the result of
4640         ispell-get-decoded-string is always a multibyte string.
4642 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
4644         Store the regexp just when there are matches
4646         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
4647         disabled and there are no matches do not store REGEXP
4648         in hi-lock-interactive-patterns.
4650 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
4652         Keep face available if there are no matches
4654         If font-lock-mode is disabled in the current buffer, and
4655         there are no matches for REGEXP, then keep FACE available
4656         for a next search.
4657         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
4658         hi-lock--unused-faces if font-lock-mode is disabled and
4659         there are no matches.
4660         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
4662 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
4664         Minor improvements for tramp-interrupt-process, documentation
4666         * doc/lispref/processes.texi (Signals to Processes):
4667         * etc/NEWS: Document interrupt-process-functions.
4669         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
4670         `process-live-p'.
4672         * src/process.c (Vinterrupt_process_functions): Fix docstring.
4674         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
4675         Extend test.
4677 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
4679         Fix a comment whitespace typo.
4681         src/fileio.c: A double space was added after "..", used in a code
4682         example. Make it a single space.
4684 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
4686         Remove old commented code and obsolete comments
4688         * lisp/files.el (locate-dominating-files): Remove old commented
4689         implementation from 9 years ago.  Since the current version
4690         appears (at least to me) not just more efficient but clearer than the
4691         version removed, also delete a comment in the new version referring to
4692         the old version. Remove old commented heuristic code,
4693         and explanatory comments.
4695 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
4697         Remove old duplicate commented code
4699         * lisp/files.el (file-relative-name): Remove old commented version,
4700         replaced 14 years ago in commit 753ad9889.
4702 2017-08-24  Tom Tromey  <tom@tromey.com>
4704         Add conf-toml-mode
4706         * etc/NEWS: Mention conf-toml-mode.
4707         * lisp/files.el (auto-mode-alist): Add entry for .toml.
4708         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
4709         (conf-toml-font-lock-keywords): New defvars.
4710         (conf-toml-mode): New mode.
4712 2017-08-23  Alan Third  <alan@idiocy.org>
4714         Use lisp type in log message (bug#28176)
4716         * src/nsimage.m (ns_load_image): Use make_number on index.
4718 2017-08-23  Alan Third  <alan@idiocy.org>
4720         Fix PNGs on macOS (bug#28176)
4722         * src/nsimage.m (ns_load_image): Remove index check.
4723         (EmacsImage::getAnimatedBitmapImageRep): New function.
4724         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
4725         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
4726         is valid.
4728 2017-08-23  Alan Third  <alan@idiocy.org>
4730         Add ability to change macOS WM theme (bug#27973)
4732         * src/frame.c (make_frame, frame_parms, syms_of_frame)
4733         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
4734         options.
4735         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
4736         represent NSAppearance options.
4737         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
4738         ns_transparent_titlebar frame parameters.
4739         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
4740         ns_set_appearance and ns_set_transparent_titlebar handlers.
4741         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
4742         frame parameters.
4743         (Qdark): Add new symbol for use with ns-appearance.
4744         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
4745         [NS_IMPL_COCOA]: Add prototypes.
4746         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
4747         [NS_IMPL_COCOA]: New functions.
4748         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
4749         ns-transparent-titlebar frame parameters.
4750         * doc/lispref/frames.texi (Window Management Parameters): Document
4751         ns-apperance and ns-transparent-titlebar.
4753 2017-08-22  Alan Mackenzie  <acm@muc.de>
4755         When looking for the end of a declarator, prevent macros fouling up the search
4757         The practical implication of this bug was a random jit-lock chunk remaining
4758         entirely unfontified.
4760         * lisp/progmodes/cc-mode (c-fl-decl-end): If point starts inside a macro,
4761         restrict two forward searches to the end of that macro.
4763 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
4765         Test `file-expand-wildcards' for Tramp
4767         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
4768         Remove, not needed anymore.
4770         * test/lisp/net/tramp-tests.el (top): Require seq.el.
4771         (tramp-test16-directory-files): Simplify.
4772         (tramp-test16-file-expand-wildcards): New test.
4773         (tramp-test28-interrupt-process): Skip for older Emacsen.
4775 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
4777         Add tests for cl-macs.el (Bug#27559)
4779         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
4780         duplicate.
4781         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
4782         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
4784 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
4786         Optimize skkdic conversion (Bug#28043)
4788         The primary speedup comes from the optimizing lookup-nested-alist and
4789         set-nested-alist for the case where the key is a string.  This brings
4790         the time down to less than half the original.
4792         * lisp/international/mule-util.el (lookup-nested-alist)
4793         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
4794         string.
4796         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
4797         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
4798         of calculating ratio of work done inline.
4800         (skkdic-reduced-candidates): Call `char-category-set' on the first
4801         character of the string directly, instead of using a regexp for the
4802         character category.
4803         (skkdic--japanese-category-set): New constant.
4804         (skkdic-collect-okuri-nasi): Just set
4805         `skkdic-okuri-nasi-entries-count' at once at the end rather than
4806         updating it throughout the loop.
4808         (skkdic-convert-postfix skkdic-convert-prefix)
4809         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
4810         (skkdic-extract-conversion-data): Use `match-string-no-properties'
4811         instead of `match-string'.
4813 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
4815         Treat tests in lib-src like tests in src
4817         * test/Makefile.in (test_template): Depend on a .c source file for a
4818         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
4819         in the right direction.)
4821 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4823         Port /bin/sh scripts to Solaris 10
4825         Its /bin/sh builtin ‘test’ command does not support -e.
4826         * autogen.sh, build-aux/git-hooks/pre-commit:
4827         * build-aux/gitlog-to-emacslog, make-dist:
4828         Use test -r, not test -e.
4830 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
4832         Avoid losing the buffer restriction in flyspell-mode
4834         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
4835         as we have the buffer widened, to make sure the restriction is
4836         preserved.  (Bug#28161)
4838 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
4840         Fix the 'versionclean' target in src/Makefile
4842         * src/Makefile.in (versionclean): Don't accidentally remove
4843         emacs-module.h.  (Bug#28169)
4845 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
4847         Implement `interrupt-process-functions'
4849         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
4850         `tramp-advice-interrupt-process'.  Adapt according to changed API.
4851         (top): Add it to `interrupt-process-functions'.
4853         * src/process.c (Finternal_default_interrupt_process): New defun.
4854         (Finterrupt_process): Change implementation, based on
4855         Vinterrupt_process_functions.
4856         (Vinterrupt_process_functions): New defvar.
4858         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
4859         test removal of advice.
4861 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
4863         Avoid floating-point exceptions while drawing underwave
4865         * src/w32term.c (x_get_scale_factor):
4866         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
4867         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
4868         http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00459.html.
4870 2017-08-21  Sam Steingold  <sds@gnu.org>
4872         mark flymake-mode as safe local variable when the value is nil
4874 2017-08-21  Sam Steingold  <sds@gnu.org>
4876         allow nil init in flymake-allowed-file-name-masks to disable flymake
4878         (flymake-allowed-file-name-masks): Update doc and :type.
4879         (flymake-get-file-name-mode-and-masks): Handle nil init.
4881 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
4883         Remove the workaround for bug#20719
4885         * lisp/cedet/semantic/symref/grep.el
4886         (semantic-symref-grep-use-template): Remove the workaround for
4887         bug#20719, it's been fixed for a while now.
4889 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
4891         Fix byte-compilation warnings in semantic/symref/grep
4893         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
4894         (grepflags): Rename to semantic-symref-grep-flags.
4895         (semantic-symref-grep-expand-keywords): Update accordingly.
4896         (semantic-symref-grep-use-template): Remove the last two
4897         arguments to make sure they don't shadow the (not renamed)
4898         global variables.
4899         (semantic-symref-perform-search)
4900         (semantic-symref-parse-tool-output-one-line): Use slot names
4901         instead of keywords, like the byte-compiler wants us to.
4903 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
4905         Simplify eldoc-message
4907         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
4908         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
4910 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
4912         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
4914         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
4915         carriage returns into the temporary file when running in unbuffered
4916         mode, the w32 build of python 2.7 chokes on them.
4918 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
4920         Add missing require
4922         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
4924 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
4926         Implement `interrupt-process' for remote processes (Bug#28066)
4928         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
4929         Support sending signals remotely.
4930         (tramp-open-connection-setup-interactive-shell):
4931         Trace "remote-tty" connection property.
4933         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
4934         (top): Add advice to `interrupt-process'.  (Bug#28066)
4936         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
4937         New test.
4938         (tramp-test29-shell-command)
4939         (tramp-test30-environment-variables)
4940         (tramp-test30-environment-variables-and-port-numbers)
4941         (tramp-test31-explicit-shell-file-name)
4942         (tramp-test32-vc-registered)
4943         (tramp-test33-make-auto-save-file-name)
4944         (tramp-test34-make-nearby-temp-file)
4945         (tramp-test35-special-characters)
4946         (tramp-test35-special-characters-with-stat)
4947         (tramp-test35-special-characters-with-perl)
4948         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
4949         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
4950         (tramp-test36-utf8-with-ls)
4951         (tramp-test37-asynchronous-requests)
4952         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
4953         (tramp-test40-unload): Rename.
4954         (tramp-test40-unload): Test also removal of advice.
4956 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
4958         Document Enchant support
4960         * doc/emacs/fixit.texi: Mention Enchant.
4961         * doc/misc/efaq.texi: Likewise.
4962         * etc/NEWS: Add an item on Enchant support.
4964 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
4966         Remove old comments and a redundant FIXME
4968         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
4969         commented code, a redundant FIXME, and outdated usage instructions.
4971 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
4973         Add Enchant support to ispell.el (Bug#17742)
4975         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
4976         (ispell-really-enchant): Add variable.
4977         (ispell-check-version): If using Enchant, check it’s new enough (at
4978         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
4979         without.)
4980         (ispell-enchant-dictionary-alist): Add variable.
4981         (ispell-find-enchant-dictionaries): Add function, based on
4982         ispell-find-aspell-dictionaries.
4983         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
4984         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
4985         old ispell name to locale mapping code for Enchant too.
4986         (ispell-send-replacement): Make it work with Enchant.
4988 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
4990         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
4992 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
4994         Stop printing '4' in .elc files after 'define-symbol-prop' calls
4996         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
4997         Return nil in case we have compiled the form, to prevent a redundant
4998         constant from getting added to the compiled output.
5000 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5002         Change recent symlink tests to just test ASCII
5004         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
5005         Be less ambitious about testing non-ASCII chars and encoding
5006         errors, as there are too many portability issues.
5008 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5010         Don’t adjust CRLF in file names
5012         * doc/misc/gnus.texi (Non-ASCII Group Names):
5013         * etc/NEWS:
5014         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
5015         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
5016         that CRLF in file names is left alone.
5017         * lisp/international/mule-cmds.el (set-default-coding-systems):
5018         Do not alter CRLF in file name coding systems.
5019         (prefer-coding-system): Ignore differences in CRLF processing when
5020         checking whether we used the user-specified file name coding system.
5021         * test/src/fileio-tests.el: New file.
5023 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
5025         Make list-processes support display-line-numbers
5027         * lisp/simple.el (process-menu-mode): Move the call to
5028         tabulated-list-init-header from here...
5029         (list-processes--refresh): ...to here.  (Bug#27895)
5031 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
5033         Improve support of display-line-numbers in package.el
5035         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
5036         the header.  (Bug#27895)
5037         * lisp/emacs-lisp/tabulated-list.el
5038         (tabulated-list-line-number-width): Fix the case when
5039         display-line-numbers is nil.
5041 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
5043         Improve support of display-line-numbers in tabulated-list-mode
5045         * lisp/emacs-lisp/tabulated-list.el
5046         (tabulated-list-line-number-width): New function.
5047         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
5048         (Bug#27895)
5050 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
5052         Fix one more issue reported by Alex (Bug#27999)
5054         * doc/lispref/windows.texi (Preserving Window Sizes)
5055         (Window Parameters): Use the term `window-preserved-size'
5056         instead of `preserved-size' (Bug#27999).
5058 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
5060         Rename `no-delete-other-window' to `no-delete-other-windows'
5062 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
5064         Fix two side window problems noted by Alex (Bug#27999)
5066         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
5067         typo.
5068         (delete-other-windows): Rename the `no-delete-other-window'
5069         parameter to `no-delete-other-windows' (see the discussion in
5070         Bug#27999 for the rationale of this change).
5071         * doc/lispref/windows.texi (Deleting Windows)
5072         (Frame Layouts with Side Windows, Window Parameters): Rename
5073         `no-delete-other-window' to `no-delete-other-windows'.
5075 2017-08-19  Alex Schroeder  <alex@gnu.org>
5077         Use define-minor-mode for rcirc-omit-mode
5079 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5081         Clarify behavior of symlinks and directories
5083         * doc/lispref/files.texi (Saving Buffers): Document how functions
5084         like rename-file work with symlinks and directories.  This patch
5085         attempts to document the current behavior better, in preparation
5086         for possibly changing it.  See Bug#27986.
5088 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5090         Fix recently-introduced file descriptor leak
5092         * src/fileio.c (Fmake_temp_file_internal):
5093         Don’t leak a file descriptor if write_region signals an error.
5095 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5097         Improve make-temp-file performance on local files
5099         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
5100         the work of inserting the text.
5101         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
5102         All callers changed.
5104 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
5106         Don't lose arguments to eshell aliases (Bug#27954)
5108         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
5110 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5112         * lisp/files.el (make-temp-file): Fix directory use case.
5114 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5116         Fix and document make-temp-file optional text parameter
5118         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
5119         (files--make-magic-temp-file): Support optional TEXT parameter.
5120         * etc/NEWS: Document it.
5121         * doc/lispref/files.texi: Document it.
5122         * test/lisp/auth-source-tests.el: Minor reformat.
5124 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5126         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
5128         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
5130 2017-08-19  João Távora  <joaotavora@gmail.com>
5132         Fix default value of electric-pair-pairs and electric-pair-text-pairs
5134         (Bug#24901)
5136         A previous change, titled "Add support for curly quotation marks to
5137         electric-pair-mode", attempted to add these characters to the default
5138         value of these variables.  But it did so in a quoted list, preventing
5139         evaluation of the relevant expressions and resulting in an invalid
5140         format.
5142         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
5143         Use backquote and comma.
5145 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
5147         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
5149         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
5150         explicitly in the interactive case.
5152 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
5154         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
5156 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5158         Add auth-source tests and codify its API better
5160         The auth-source behavior was unclear in some API use cases, so these
5161         extra tests codify and test it. For details see
5162         https://github.com/DamienCassou/auth-password-store/issues/29
5164         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
5165         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
5166           auth-source tests and simplify them with the new `make-temp-file'.
5168 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
5170         Don't call the same hook twice due to obsolete aliases
5172         * lisp/international/robin.el (robin-activate):
5173         * lisp/international/quail.el (quail-activate):
5174         * lisp/international/mule-cmds.el (deactivate-input-method):
5175         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
5176         Don't call the same hook twice, when the obsolete and the
5177         advertised symbols are aliased.  (Bug#28118)
5179 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
5181         A new face for show-paren in expression mode
5183         * lisp/faces.el (show-paren-match-expression): Define the new face.
5184         * lisp/paren.el (show-paren-function): Apply the different face
5185         when in expression mode.  (Bug#28047)
5187 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
5189         Non-ASCII support for man page section and header names
5191         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
5192         (Man-heading-regexp): Replace ASCII character classes by
5193         equivalent classes that allow non-ASCII characters.  Suggested by
5194         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
5196 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
5198         Implement HiDPI support for underwave on MS-Windows
5200         * src/w32term.c (x_get_scale_factor): New function.
5201         (w32_draw_underwave): Use it.
5202         * src/xterm.c (x_draw_underwave): Offset the wave starting point
5203         to make it identical with original code.
5205 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
5207         Support HiDPI displays for wave style underlines
5209         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
5210         based on scale factor.
5211         (x_get_scale_factor): New function.
5213 2017-08-18  Bastien  <bzg@gnu.org>
5215         Delete library-of-babel.org
5217         * etc/org/library-of-babel.org: Delete file.
5219 2017-08-18  Glenn Morris  <rgm@gnu.org>
5221         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
5223 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
5225         Remove custom version parsing from epg-config.el (Bug#27963)
5227         * lisp/epg-config.el (epg-config--compare-version)
5228         (epg-config--parse-version): Remove.
5229         (epg-check-configuration): Use `version<=' instead.
5231 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
5233         Treat control characters in JSON strings as invalid
5235         * lisp/json.el (json-peek): Reduce to following-char.
5236         (json-pop, json-read): Zero (null char) means end of file.
5237         (json-read-escaped-char): Delimit URL properly.
5238         (json-read-string): Signal error for ASCII control characters.
5239         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
5240         :json-eof symbol.
5241         (test-json-read-string): New test for control characters in JSON
5242         strings.
5244 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
5246         Support Posix semantics of 'rename' on MS-Windows
5248         * src/w32.c (sys_rename_replace): Support Posix semantics of
5249         'rename': return an error if OLD is a directory while NEW is not,
5250         or vice versa.
5252 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
5254         * src/w32.c (sys_rename_replace): Support renaming a directory.
5256 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
5258         Fix the MS-Windows build
5260         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
5261         'open'.
5263         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
5265 2017-08-17  João Távora  <joaotavora@gmail.com>
5267         Add flymake-backends defcustom
5269         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
5270         Rename from flymake-can-syntax-check-file.  Suitable for adding to
5271         flymake-backends.
5272         (flymake-proc-start-syntax-check): Rename from
5273         flymake-start-syntax-check.  Don't check again if buffer can be
5274         checked.
5275         (add-to-list flymake-backends): Hook only flymake-ui.el
5277         * lisp/progmodes/flymake-ui.el (flymake-backends): New
5278         defcustom.
5279         (flymake-on-timer-event, flymake-after-change-function)
5280         (flymake-after-save-hook, flymake-find-file-hook): Call new
5281         flymake--start-syntax-check-buffer and
5282         flymake--can-syntax-check-buffer.
5283         (flymake-mode): Call flymake--can-syntax-check-buffer and set
5284         flymake-backend.
5285         (flymake--backend): New buffer-local variable.
5287 2017-08-17  João Távora  <joaotavora@gmail.com>
5289         Split flymake.el into flymake-proc.el and flymake-ui.el
5291         flymake.el is now a stub that requires both files.
5293         * lisp/progmodes/flymake-proc.el: New file.
5295         * lisp/progmodes/flymake-ui.el: New file.
5297         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
5298           flymake-proc.el.  Require both files.
5300 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
5302         Set `default-directory' for watchdog in tramp-test.el
5304         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
5305         Set `default-directory' for watchdog.
5307 2017-08-17  Andreas Schwab  <schwab@suse.de>
5309         * lisp/term/konsole.el: New file.
5311 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
5313         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
5315         (woman2-RS): Use plain `push' instead of `woman-push'.
5316         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
5318 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5320         Merge from Gnulib; use ‘open’ for O_CLOEXEC
5322         This incorporates:
5323         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
5324         2017-08-15 extensions: enable NetBSD specific extensions
5325         2017-08-14 open: support O_CLOEXEC
5326         2017-08-13 reallocarray: new module
5327         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
5328         it now supports O_CLOEXEC and this simplifies Emacs.
5329         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
5330         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
5331         Copy from Gnulib.
5332         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
5333         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
5334         New files, copied from Gnulib.
5335         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5336         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
5337         Remove, as Gnulib does this for us.
5338         * src/filelock.c (create_lock_file):
5339         * src/sysdep.c (emacs_open, emacs_pipe):
5340         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
5342 2017-08-16  Alan Third  <alan@idiocy.org>
5343             Charles A. Roelli  <charles@aurox.ch>
5345         Allow use of run-time OS version checks on macOS (bug#27810)
5347         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
5348         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
5349         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
5350         defines.
5351         (NSWindowStyleMaskFullScreen,
5352         NSWindowCollectionBehaviorFullScreenPrimary,
5353         NSApplicationPresentationFullScreen,
5354         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
5355         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
5356         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
5357         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
5358         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
5359         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
5360         Allow use of run-time checks and replace version check macros.
5361         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
5362         * src/macfont.m (macfont_draw): Use run-time OS version checks.
5363         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
5365 2017-08-16  Alan Third  <alan@idiocy.org>
5367         Add multiframe image support to NS port (bug#21714)
5369         * src/nsimage.m (ns_load_image): Handle multiple frames.
5370         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
5371         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
5372         function prototypes.
5374 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
5376         files-tests.el: Remove unused lexical variable
5378         * test/lisp/files-tests.el (file-test--do-local-variables-test);
5379         Remove unused var 'files-test-queried'.
5381 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
5383         * doc/emacs/files.texi (Copying and Naming): Mention
5385         restrictions to add-name-to-file and make-symbolic-link on
5386         remote systems.
5388 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
5390         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
5392 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
5394         Add tests for previous commit
5396         * test/lisp/progmodes/elisp-mode-tests.el
5397         (elisp-mode-tests--face-propertized-string): New function.
5398         (elisp--highlight-function-argument-indexed)
5399         (elisp--highlight-function-argument-keyed-1)
5400         (elisp--highlight-function-argument-keyed-2): New tests.
5402 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
5404         Fix eldoc highlighting for &key args (Bug#27272)
5406         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
5407         Only switch to keyword-based searching if INDEX point beyond `&key' in
5408         the argument list.  All arguments prior to the `&key' are position
5409         based.  Additionally, be more strict about what is a keyword when
5410         searching for the current keyword.
5412 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5414         Do not assume regular Git .git/hooks dir
5416         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
5417         Problem reported by Ted Zlatanov in:
5418         http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00380.html
5419         * autogen.sh (git_sample_hook_src): New function.  Use it to work
5420         even if .git/hooks or its samples do not exist.
5422 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5424         New manual section "Copying and Naming"
5426         * doc/emacs/files.texi (Copying and Naming):
5427         New section, split off from Misc File Ops and containing the
5428         operations that copy, name or rename files.  This fixes some
5429         confusion caused by the incorrect phrase "The same rule applies
5430         to all the remaining commands in this section" in the old manual.
5431         This change does not affect the confusion about directories (see
5432         Bug#27986 for ongoing discussion).
5434 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
5436         Fix the MS-Windows build
5438         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
5439         ENOSYS.  (Bug#28097)  (Bug#27986)
5441 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
5443         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
5445         * .gitlab-ci.yml: add Git to the installed packages.
5447 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
5449         Support indentation of detached Less CSS rulesets
5451         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
5452         for indentation of detached rulesets passed to Less mixins.
5454         * test/manual/indent/less-css-mode.less: New file.
5456 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
5458         Fixes and tweaks for the new Less CSS mode
5460         * etc/NEWS: Add an entry for the new mode.
5462         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
5463         (less-css-lessc-command): Tweak docstring. Don't mark it as
5464         safe. Don't autoload.
5465         (less-css-compile-at-save, less-css-lessc-options)
5466         (less-css-output-directory): Tweak docstrings. Don't autoload.
5467         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
5468         (less-css-input-file-name): Tweak docstring. Don't autoload.
5469         (less-css-compile-maybe): Use `when' for one-armed `if'.
5470         (less-css--output-path): Tweak docstring.
5471         (less-css--maybe-shell-quote-command): Remove function.
5472         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
5473         compiler warning. Use `string-join' instead of `mapconcat'.
5474         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
5475         variables.
5476         (less-css-mode-syntax-table, less-css-mode-map): New variables.
5477         (less-css-mode): Change status line mode name from "LESS" to
5478         "Less". Tweak docstring. Move syntax table definitions to
5479         `less-css-mode-syntax-table'.
5480         (less-css-indent-line): Remove function.
5482 2017-08-15  Steve Purcell  <steve@sanityinc.com>
5484         New major mode: Less CSS mode
5486         * lisp/textmodes/less-css-mode.el: New file.
5488 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
5490         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
5492         * lisp/arc-mode.el (archive-int-to-mode):
5493         Swap order of 2048 and 1024 tests (Bug#28092).
5494         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
5495         Update test.
5497 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5499         Improve rename-file port to macOS
5501         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
5502         fail with errno == ENOTSUP on file systems where it is not
5503         supported, according to the Apple documentation.
5505 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
5507         Speed up ./configure with more caching (Bug#27960)
5509         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
5510         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
5511         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
5512         characters', and 'Windows API header' checks.  Remove pause after
5513         warning about GTK bug.
5515 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5517         Improve rename-file behavior on macOS
5519         Problem reported by Philipp Stephani (Bug#27986).
5520         * src/fileio.c (Frename_file):
5521         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
5522         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
5523         since this provides the necessary atomicity guarantees.
5525 2017-08-14  Glenn Morris  <rgm@gnu.org>
5527         Clean up temp files after some tests
5529         * test/lisp/emacs-lisp/bytecomp-tests.el
5530         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
5531         * test/lisp/progmodes/etags-tests.el
5532         (etags-buffer-local-tags-table-list): Delete temp file at end.
5534 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
5536         Implement renameat_noreplace for MS-Windows
5538         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
5539         emulation for MS-Windows.  (Bug#27986)
5541 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
5543         Fix 'rename' on MS-Windows
5545         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
5546         the primitive rename errors out with EEXIST.
5548 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
5550         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
5552 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
5554         Tiny JSON performance improvement
5556         Get rid of some needless uses of apply.  Measuring with
5557           (benchmark-run 10 (json-read-file "test.json"))
5558         showed 1.5-2.5% reduction of execution time.
5559         * lisp/json.el (json-peek): Nix let-binding.
5560         (json-read-string): Use concat for making a string from chars.
5561         (json-read-array): Use cond and more appropriate conversion instead
5562         of blindly applying.
5564 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5566         Be consistent in spelling 'ok-if-already-exists'.
5568 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
5570         Use 'header-line-highlight' face in proced and erc
5572         * lisp/erc/erc-list.el (erc-list-button):
5573         * lisp/proced.el (proced-format): Use the 'header-line-highlight
5574         face.  (Bug#28033)
5576 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
5578         Remove feeds with dead uris from newsticker--raw-url-list-defaults
5580         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
5581           Remove feeds with dead uris.
5583 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
5585         Fix vertical cursor motion when cursor is on the fringe
5587         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
5588         setting temporary-goal-column when newline overflows into the
5589         fringe.  Support that use case in R2L paragraphs as well.
5591 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
5593         Fix vertical cursor motion across too wide images
5595         * src/indent.c (Fvertical_motion): If lines are truncated and we
5596         end up beyond the right margin of the window, don't assume we are
5597         in the next screen line, unless VPOS actually says so.  (Bug#28071)
5599 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
5601         Add test suites for arc-mode and tar-mode
5603         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
5604         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
5605         New tests.
5607 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
5609         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
5611 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
5613         Fix uri of Emacs Wiki
5615         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
5616           uri of Emacs Wiki.  (Bug#27981)
5618 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5620         Fix make-temp-file bug with ""/"."/".." prefix
5622         The bug with "." and ".." has been present for a while; I
5623         introduced the bug with "" earlier today in my patch for Bug#28023.
5624         * lisp/files.el (make-temp-file): Do not use expand-file-name if
5625         PREFIX is empty or "." or "..", as it does the wrong thing.
5626         Compute absolute-prefix here ...
5627         (files--make-magic-temp-file): ... instead of here ...
5628         * src/fileio.c (Fmake_temp_file_internal): ... or here.
5630         * lisp/files.el (make-temp-file): If the prefix is empty, append
5631         "/" to the absolute prefix so that the new files are children
5632         rather than siblings of temporary-file-directory.  This fixes a
5633         bug introduced in the previous change.
5634         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
5635         New test, for the bug.
5637 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5639         Improve make-temp-file performance on local files
5641         For the motivation behind this patch, please see Bug#28023 and:
5642         http://emacshorrors.com/posts/make-temp-name.html
5643         Although, given the recent changes to Tramp, the related security
5644         problem in make-temp-file is already fixed, make-temp-file still has
5645         several unnecessary system calls.  In the typical case on GNU/Linux,
5646         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
5647         getpid, unlink, umask) by 2 (open, close).
5648         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
5649         that Emacs is using it directly.
5650         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
5651         no longer needed.
5652         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5653         * lisp/files.el (files--make-magic-temp-file): Rename from
5654         make-temp-file.
5655         (make-temp-file): Use make-temp-file-internal for
5656         non-magic file names.
5657         * src/fileio.c: Include tempname.h.
5658         (make_temp_name_tbl, make_temp_name_count)
5659         (make_temp_name_count_initialized_p, make_temp_name): Remove.
5660         (Fmake_temp_file_internal): New function.
5661         (Fmake_temp_name): Use it.
5662         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
5663         instead of make_temp_name.
5665 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5667         Document internal-use naming conventions
5669         * doc/lispref/functions.texi (Function Names):
5670         * doc/lispref/variables.texi (Tips for Defining):
5671         Document naming conventions for internal-use functions and vars.
5672         See Bug#28023#59.
5674 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5676         Simplify re and document 'autoconf.sh all'
5678         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
5679         ./autogen.sh defaults to "all".  All uses removed.
5680         * README: Mention autoconf.sh's effect on Git configuration.
5682 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5684         Default autogen.sh to 'all'
5686         This addresses a problem noted by RMS in:
5687         http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00052.html
5688         * autogen.sh (do_git): Set to true if this script is invoked
5689         with no arguments and there is a .git subdirectory.
5691 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5693         Adjust jka-compr to recent Tramp changes.
5695         * lisp/jka-compr.el (jka-compr-write-region):
5696         Two new args LOCKNAME and MUSTBENEW.
5698 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
5700         Improve doc strings of 2 functions in simple.el
5702         * lisp/simple.el (beginning-of-visual-line)
5703         (move-beginning-of-line): Doc fix.  Reported by
5704         Justin Burkett <justin@burkett.cc>.
5706 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
5708         Fix completion on directory names on MS-DOS/MS-Windows
5710         * src/msdos.c (faccessat):
5711         * src/w32.c (faccessat): Support relative file names, and add D_OK
5712         to 'mode' if the argument is a directory.  This unbreaks file-name
5713         completion when the completion result is a directory.
5715 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
5717         Implement EXCL of write-region for Tramp
5719         * lisp/net/ange-ftp.el (ange-ftp-write-region):
5720         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
5721         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
5722         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
5723         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
5724         Implement MUSTBENEW.
5726         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
5727         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
5728         (tramp-sh-handle-add-name-to-file)
5729         (tramp-do-copy-or-rename-file)
5730         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
5731         Adapt error message for `file-already-exists'.
5733         * src/lisp.h:
5734         * src/eval.c (call8): New function.
5736         * src/fileio.c (write_region): Pass also lockname and
5737         mustbenew to the file name handler.
5739         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
5740         Add tests for MUSTBENEW.
5742 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
5744         Adapt Proced display to display-line-numbers
5746         * lisp/proced.el (proced-header-line): Account for the width taken
5747         by display-line-numbers.  (Bug#27895)
5749 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
5751         Adapt tabulated list when display-line-number is turned on
5753         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
5754         a hook to revert the display when display-line-numbers is turned
5755         on.  (Bug#27895)
5757 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
5759         Use Gnulib 'tempname' on MS-Windows
5761         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
5762         now in nt/inc/ms-w32.h.
5763         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
5764         (mkostemp): Remove.
5766         * src/w32.c (mkostemp): Remove.
5767         (sys_mkdir): Accept a second (unused) argument.
5768         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
5769         specific call to mkdir.  (Bug#28023)
5771         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
5772         to accept 2 arguments.
5773         (open): Remove from "#ifdef emacs".
5774         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
5775         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
5776         (OMIT_GNULIB_MODULE_tempname): Remove.
5778 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
5780         Add new face 'header-line-highlight'
5782         * lisp/faces.el: Define the face.
5783         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
5784         * lisp/info.el (Info-fontify-node): Use the new face.
5785         * doc/emacs/display.texi (Standard Faces):
5786         * etc/NEWS: Document the new face.  (Bug#28033)
5788 2017-08-12  Arash Esbati  <arash@gnu.org>
5790         Make a case-sensitive match for strings
5792         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
5793         let-bind `case-fold-search' to nil in order to be case-sensitive
5794         when matching a string.  (Bug#27518)
5796 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
5798         Fix a minor todo-mode regression
5800         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
5801         save-excursion.  This fixes a regression introduced by the fix
5802         for bug#27609, whereby trying to raise the priority of the
5803         first item or lower the priority of the last item, which
5804         should be noops, moves point to the item's start.  Clarify
5805         comment.
5807         * test/lisp/calendar/todo-mode-tests.el
5808         (todo-test-raise-lower-priority): Add test cases for trying to
5809         raise first item and lower last item.
5810         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
5811         (todo-test-toggle-item-header02): Remove ":expected-result
5812         :failed" and tests of point after todo-next-item, since the
5813         effect when using Todo mode is not reproducible in the test
5814         environment.  Add commentary about this.
5816 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5818         Improve performance for rename-file etc.
5820         Although this does not fix Bug#27986, it is a step forward.
5821         I plan to propose a more-significant patch later.
5822         * lisp/files.el (directory-name-p): Move from here ...
5823         * src/fileio.c (Fdirectory_name_p): ... to here.
5824         (directory_like, cp_like_target): New static functions.
5825         (Fcopy_file, Frename_file, Fadd_name_to_file)
5826         (Fmake_symbolic_link):
5827         Use them, to avoid directory-testing syscalls on file names that
5828         must be directories if they exist.  Omit unnecessary
5829         initializations and CHECK_STRING calls.
5830         (Frename_file): Don't call file_name_case_insensitive_p
5831         twice on the same file.  Compare both file names expanded, instead
5832         of the old name expanded and the new one unexpanded.
5834 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
5836         Respect buffer-local value of tags-table-list (Bug#27772)
5838         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
5839         buffer around the `tags-table-including' calls so as to get buffer
5840         local variables from the right buffer later.
5841         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
5842         New test.
5843         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
5844         constant.
5845         (etags-bug-158, etags-bug-23164): Use it so that when running the test
5846         interactively, setting EMACS_TEST_DIRECTORY is not needed.
5848 2017-08-10  Tom Tromey  <tom@tromey.com>
5850         Fix auto-filling regression
5852         Bug#28003
5853         * lisp/newcomment.el (comment-indent-new-line): Check
5854         comment-auto-fill-only-comments.  Reverts earlier change.
5855         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
5856         do-auto-fill.
5858 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5860         Merge from gnulib
5862         This incorporates:
5863         2017-08-09 tempname: do not depend on secure_getenv
5864         2017-08-08 extensions: add _OPENBSD_SOURCE
5865         2017-08-06 manywarnings: Add support for C++
5866         2017-08-06 warnings, manywarnings: Add support for multiple languages
5867         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
5868         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5869         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
5870         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
5871         Copy from gnulib.
5873 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
5875         Fix crashing emacs-module tests on MS-Windows
5877         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
5878         variable.
5879         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
5880         away, without displaying the Abort dialog, which waits for the user.
5882         * test/src/emacs-module-tests.el (module--test-assertion): Run the
5883         inferior Emacs with the w32 abort dialog disabled.  Expect the
5884         status of the aborted Emacs sub-process to be 3 on MS-Windows and
5885         2 on MS-DOS.
5887 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
5889         dired-delete-file:  Dont't ask for empty dirs
5891         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
5892         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
5894         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
5895         New auxiliar macro.
5896         (dired-test-bug27940): Add new test.
5898 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
5900         Ask files for deletion in buffer order: top first, botton later
5902         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
5903         Call `nreverse' t invert the output of `dired-map-over-marks'.
5905 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
5907         Use help-mode xrefs in describe-font
5909         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
5910         (Bug#27890).
5912 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
5914         Don't try to jump to non-existent part (bug#28013)
5916         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
5917         the next part if there is the only one part in the article (bug#28013).
5919 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
5921         Replace some uses of eval
5923         There are a number of places where eval is used unnecessarily to get
5924         or set the value of a symbol.
5925         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
5926         custom setter.
5927         * lisp/desktop.el (desktop-clear): Use set-default instead.
5928         * lisp/international/ogonek.el (ogonek-read-encoding): Use
5929         symbol-value.
5931 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
5933         Convert uses of looking-at in viper-ex to following-char
5935         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
5936         (following-char) and use it in the subsequent cond's clauses.
5937         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
5938         Convert single branch ifs to when
5940 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
5942         Some cleanup in message.el
5944         * lisp/gnus/message.el (message-cross-post-insert-note):
5945         (message-strip-forbidden-properties): Mark unused args.
5946         (message-canlock-generate): Remove extinct variable
5947         sha1-maximum-internal-length.
5948         (message-make-mail-followup-to): Use loop's thereis clause.
5950 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
5952         Document make-temp-name magic limitations
5954         * doc/lispref/files.texi (Unique File Names):
5955         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
5956         does not guarantee uniqueness on magic file names.
5958 2017-08-08  Tom Tromey  <tom@tromey.com>
5960         Show number of errors in compilation-mode mode-line
5962         Bug#25354
5963         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
5964         default value.
5965         (compilation-num-warnings-found, compilation-num-infos-found): New
5966         defvars.
5967         (compilation-mode-line-errors): New defconst.
5968         (compilation-face): Remove.
5969         (compilation-type, compilation--note-type): New functions.
5970         (compilation-parse-errors): Call compilation--note-type.
5971         (compilation-start): Include compilation-mode-line-errors in
5972         mode-line-process.
5973         (compilation-setup): Initialize compilation-num-* variables to 0.
5974         (compilation-handle-exit): Include compilation-mode-line-errors in
5975         mode-line-process.
5976         * doc/emacs/building.texi (Compilation): Document new feature.
5978 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
5980         Do some cleanup in mailcap.el
5982         * lisp/net/mailcap.el: Use lexical-binding.
5983         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
5984         destructuring.
5985         (mailcap-mime-data): Remove some entries for ancient functions.
5986         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
5987         (mailcap-parse-mimetype-file): Just use append.
5988         (mailcap-command-p): Remove unused function.
5990 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
5992         query-replace: Undo replacements performed with 'comma
5994         During a `query-replace', the char ',' replaces the character
5995         at point and doesn't move point;  right after, the char 'u'
5996         must undo such replacement (Bug#27268).
5997         * lisp/replace.el (replace--push-stack):
5998         New macro extracted from `perform-replace'.
5999         (perform-replace): Use it.
6000         * test/lisp/replace-tests.el (query-replace--undo): Add test.
6002 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
6004         Don't define gv expanders in compiler's runtime (Bug#27016)
6006         This prevents definitions being compiled from leaking into the current
6007         Emacs doing the compilation.
6008         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
6009         of `put' with `eval-and-compile'.
6010         * test/lisp/emacs-lisp/gv-tests.el: New tests.
6012 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
6014         Let the cl-typep effects of defclass work during compilation (Bug#27718)
6016         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
6017         instead of `put'.
6018         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
6019         (eieio-tests--dummy-function): Remove.
6020         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
6021         expect to fail if compiled.
6023 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
6024             Noam Postavsky  <npostavs@gmail.com>
6026         Let `define-symbol-prop' take effect during compilation
6028         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
6029         (Fget): Consult it.
6030         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
6031         it to nil.
6032         (byte-compile-define-symbol-prop): New function, handles compilation
6033         of top-level `define-symbol-prop' and `function-put' calls by putting
6034         the symbol setting into `overriding-plist-environment'.
6036 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
6038         Add a test of handling of circular values to testcover-tests
6040         * test/lisp/emacs-lisp-testcover-resources/testcases.el
6041         (testcover-testcase-cyc1): New function.
6042         (testcover-tests-circular-lists-bug-24402): New test.
6044 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
6046         Don't error on circular values in testcover
6048         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
6049         Consider circular lists to be non-equal instead of signaling error.
6051 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
6053         Catch argument and macroexpansion errors in ert
6055         This kludge catches errors caused by evaluating arguments in ert's
6056         should, should-not, and should-error macros; it also catches
6057         macroexpansion errors inside of the above macros (Bug#24402).
6059         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
6060         (ert--expand-should-1): Catch macroexpansion errors.
6061         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
6062         (ert-test-should-error-macroexpansion): Tests for argument and
6063         expansion errors.
6065 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6067         Revert "Add Enchant support to ispell.el (Bug#17742)"
6069         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
6071 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6073         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
6075         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
6077 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6079         Add support for arguments in ALTERNATE_EDITOR to emacsclient
6081         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
6082         corresponding command-line argument, into space-separated tokens.
6083         * etc/NEWS: Document.
6084         * test/lib-src/emacsclient-tests.el: Add a test.
6086 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6088         Add Enchant support to ispell.el (Bug#17742)
6090         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
6091         (ispell-really-enchant): Add variable.
6092         (ispell-check-version): If using Enchant, check it’s new enough (at
6093         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
6094         without.)
6095         (ispell-enchant-dictionary-alist): Add variable.
6096         (ispell-find-enchant-dictionaries): Add function, based on
6097         ispell-find-aspell-dictionaries.
6098         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
6099         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
6100         old ispell name to locale mapping code for Enchant too.
6101         (ispell-send-replacement): Make it work with Enchant.
6103 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6105         Allow async command output buffer to be shown only on output
6107         * lisp/simple.el (async-shell-command-display-buffer): Add
6108         defcustom.
6109         (shell-command): Use the new defcustom to determine whether to show
6110         the buffer immediately, or add a process filter that shows it only
6111         when there is some output.
6112         * etc/NEWS: Document the new variable.
6113         * doc/emacs/misc.texi: Likewise.
6115         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
6117 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
6119         Fix infinite recursion under prettify-symbols-mode and linum-mode
6121         * src/xdisp.c (get_overlay_strings_1)
6122         (handle_single_display_spec, push_prefix_prop): Invalidate the
6123         composition information before starting to iterate on a string.
6124         Otherwise we might think in set_iterator_to_next that we are
6125         delivering characters from a composition, and do all kinds of
6126         nonsensical things, like over-step the string end.  (Bug#27761)
6128 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6130         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
6132 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
6134         Fix doc-string of `delete-other-windows'
6136         * lisp/window.el (delete-other-windows): Fix doc-string.
6138 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
6140         Fix a couple more make-temp-file races
6142         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
6143         Use make-temp-name, not make-temp-file with retry.
6144         (basic-save-buffer-2): Use condition-case, instead of
6145         unwind-protect with a success flag.
6147 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
6149         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
6151         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
6152         characters following filename in grep context lines.
6153         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
6154         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
6155         (grep-regexp-alist): Recombine their contents here.
6156         (grep-mode):
6157         * lisp/cedet/semantic/symref/grep.el
6158         (semantic-symref-parse-tool-output-one-line):
6159         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
6160         `grep-regexp-alist' rather than the function.
6162 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
6164         Fix some crashes on self-modifying Elisp code
6166         Prompted by a problem report by Alex in:
6167         http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00143.html
6168         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
6169         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
6170         it is likely to run a bit faster with typical hardware caches.
6171         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
6172         self-modifying S-expressions.
6173         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
6174         instead of trusting an Flength prepass, to avoid problems when the
6175         code is self-modifying.
6176         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
6177         where either will do.  This is mostly to document the fact that
6178         the value must be a proper list.  It's also a tiny bit faster on
6179         typical machines nowadays.
6180         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
6181         (eval_sub): Check that the args are a list as opposed to some
6182         other object that has a length. This prevents e.g. (if . "string")
6183         from making Emacs dump core in some cases.
6184         * test/src/eval-tests.el (eval-tests--if-dot-string)
6185         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
6186         New tests.
6188 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
6190         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
6192 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6194         Minor tweak in a dired test
6196         * test/lisp/dired-tests.el (dired-test-bug27968):
6197         Ensure the new header has different length than the original one.
6199 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6201         dired-delete-file: Do not TAB complete the user answer
6203         This action might delete directories containing valuable information.
6204         Before previous commit, we prompted users with `yes-or-no-p'
6205         which doesn't TAB complete the user answer.  Let's play safe and
6206         keep requiring full answers.
6207         * emacs-master/lisp/dired.el (dired-delete-file): Use `read-string'
6208         instead of `completing-read' to read the user answers.
6210 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6212         dired-do-delete: Allow to delete dirs recursively without prompts
6214         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
6215         'all', to delete all directories recursively and no prompt anymore.
6216         'quit', to cancel directory deletions (Bug#27940).
6217         Show help message when user inputs 'help'.
6218         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
6219         so that we can overwrite its global value.
6220         Wrapp the loop within a catch '--delete-cancel to catch when
6221         the user abort the directtry deletion.
6222         * doc/emacs/dired.texi (Dired Deletion): Update manual.
6223         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
6224         Announce this change.
6226 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
6228         Fix a couple of make-temp-file races
6230         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
6231         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
6232         Use make-temp-file, not make-temp-name, to avoid an unlikely race
6233         that could lose data.  Remove the deletion hook as quickly as
6234         possible after the file is renamed; though a race still remains
6235         here, it is smaller than before.
6237 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6239         Dired w/ eshell-ls: Handle shell wildcards in file name
6241         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
6242         Use eshell-extended-glob (Bug#27844).
6243         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
6245 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6247         dired-revert: save line numbers instead of positions
6249         Positions might change if the length of one dired header line
6250         changes; this happen, for instance, if we add new files.
6251         Instead, line numbers are invariant under shrinks/enlargements
6252         of the file header.
6253         https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01092.html
6254         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
6255         (dired-restore-positions): Use forward-line to restore the original
6256         position (Bug#27968).
6257         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
6259 2017-08-06  Tom Tromey  <tom@tromey.com>
6261         Respect comment-auto-fill-only-comments
6263         Respect comment-auto-fill-only-comments when auto-filling and a
6264         comment syntax is defined.
6266         * lisp/newcomment.el (comment-indent-new-line): Do not check
6267         comment-auto-fill-only-comments.
6268         * lisp/simple.el (internal-auto-fill): New defun.
6269         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
6270         auto_fill_function.
6271         (syms_of_cmds): Define Qinternal_auto_fill.
6273 2017-08-05  Richard Stallman  <rms@gnu.org>
6275         * etc/tutorials/TUTORIAL: Update.
6277 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6279         Unify CNS11643-15 in a way that avoids segfaults
6281         * lisp/international/mule-conf.el: Redo unification of
6282         cns11643-15.  (Bug#27964)
6283         (chinese-cns11643-15): Add the missing :unify-map attribute.
6285 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6287         Avoid segfaults while producing Punct.el
6289         * lisp/international/mule-conf.el: Undo unification of
6290         cns11643-15, as that causes segfaults during bootstrap.
6291         (Bug#27964)
6293 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6295         Make header line in some modes be sensitive to display-line-numbers
6297         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
6298         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
6299         (tabulated-list-print-entry): Account for the width taken by
6300         line-number display.  (Bug#27895)
6302 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6304         Fix a bug in 'generate-new-buffer-name'
6306         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
6307         nil before calling string-equal, since the latter will compare
6308         "nil and 'nil' as equal.  (Bug#27966)
6310         * test/src/buffer-tests.el
6311         (test-generate-new-buffer-name-bug27966): New test.
6313 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6315         Unify CNS11643-15
6317         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
6318         unify-charset form for it.  (Bug#27964)
6320 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6322         Improve test of error message when Emacs cannot be suspended
6324         * lisp/term/x-win.el (x-win-suspend-error):
6325         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
6326         message.  (Bug#27901)
6328 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
6330         Make "C-h o" show faces as well as variables
6332         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
6333         the placement of variables/faces in describe-symbol, to put more
6334         emphasis on the variable entry rather than the face.  (Bug#24543)
6336 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6338         Fix files-tests.el for MS-Windows
6340         * test/lisp/files-tests.el
6341         (files-tests--file-name-non-special--subprocess): Fix this test
6342         for MS-Windows.
6344 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6346         Improve documentation of 'region-extract-function'
6348         * lisp/simple.el (region-extract-function): Rename the argument to
6349         METHOD.  Doc fix.  (Bug#27927)
6351 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
6353         Merge from gnulib
6355         This incorporates:
6356         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
6357         2017-08-01 manywarnings: port to 32-bit GCC bug
6358         * lib/gnulib.mk.in: Regenerate.
6359         * m4/manywarnings.m4: Copy from gnulib.
6361 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
6363         Port recent rename changes to Ubuntu 14.04
6365         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
6366         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
6368 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
6370         insert-directory-wildcard-in-dir-p: Tweak regexp
6372         This function must return non-nil for a wildcard like '/*/*.txt'.
6373         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
6374         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
6375         Add test.
6377 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
6379         Implement iterator generator for avl-trees.
6381         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
6383 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
6385         ls-lisp: Drop eshell dependencies
6387         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
6388         expand the wildcards.
6389         Suggested by Fabrice Popineau in:
6390         https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00108.html
6391         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
6393 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
6395         Fix dired-test-bug27631 on MS-Windows
6397         Skip the test if Dired use 'ls' emulation with lisp.  The same
6398         bug is tested in their respective test suites: ls-lisp-tests.el
6399         and em-ls-tests.el.
6400         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
6401         or 'eshell' features are enabled.
6403 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
6405         Fix dired-test-bug25609 on MS-Windows
6407         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
6408         pass temporary files through file-truename, to avoid bogus
6409         failures due to file-name comparison as strings.
6411 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
6413         Fix 2 tests that fail in MS-Windows
6415         https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
6416         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
6417         Add comments to explain the test logic.
6418         Pass '--binary' option to 'patch' program in windows environments.
6419         Check explicitely that a backup is created before compare file contents.
6421         * test/lisp/dired-tests.el (dired-test-bug25609):
6422         Declare variable 'dired-dwim-target' right before the test.
6423         Add comments to explain the test logic.
6424         Ensure, before test the bug condition, that we are displaying the
6425         2 dired buffers created in this test, and no other dired buffer
6426         is shown.
6428 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6430         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
6432         * lisp/files.el (insert-directory): Don't hardcode "-c".
6433         * lisp/term.el (term, ansi-term): Use shell-file-name.
6435 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
6437         Fix version numbers for some GnuTLS features
6439         Problem reported by Glenn Morris (Bug#27708#58).
6440         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
6441         New macro.  Use it instead of low-level version number checks.
6442         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
6443         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
6444         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
6445         (HAVE_GNUTLS3_HMAC): Remove, since these were available
6446         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
6447         is defined.  Remove all uses; this simplifies the code a bit.
6449 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
6451         Port recent rename changes to RHEL 7 + NFS
6453         Problem reported by Ted Zlatanov in:
6454         http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
6455         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
6456         with errno == EINVAL when it is not supported.  So treat that case
6457         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
6458         nil nor an integer, just call plain rename; this avoids an extra
6459         syscall to renameat2 when the latter fails with errno == EINVAL or
6460         ENOSYS or ENOENT.
6462 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
6464         Port GnuTLS usage to Ubuntu 16.04.2 LTS
6466         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
6467         later, as opposed to the old 3.4.0 or later.
6469 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
6471         Simplify configuration of HAVE_GNUTLS3 etc.
6473         There's only one GnuTLS, so configuring these symbols at
6474         'configure' time is overkill.  Simplify things by moving their
6475         configuration to src/gnutls.h (Bug#27708).
6476         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
6477         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
6478         from here ...
6479         * src/gnutls.h: ... to here, and simplify.
6481 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
6483         Default to --with-mailutils if it is installed
6485         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
6486         is installed.  See:
6487         http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00054.html
6489 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
6491         Clarify when autogen.sh should run only autoconf
6493         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
6494         not plain ‘./autogen.sh’, to make it clear that only
6495         autoconf-related tools should be run here.
6497 2017-08-02  Toon Claes  <toon@iotcl.com>
6499         .gitlab-ci.yml: Use stretch Debian image instead of unstable
6501 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
6503         Add debugging messages to a Dired test
6505         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
6506         positions saved and restored by dired-revert to try and find
6507         out why the test fails on Hydra.
6509 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
6511         ls-lisp: Autoload call instead of cookie
6513         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
6515 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
6517         When renaming a file, ask only if EEXIST or ENOSYS
6519         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
6520         more than once on FILE.  Use renameat_noreplace, so that we can
6521         ask the user (and unlink and retry) only if this fails with errno
6522         == EEXIST or ENOSYS.  This avoids the need to ask the user for
6523         permission to do an operation that will fail anyway.  Simplify
6524         computation of ok_if_already_exists for subsidiary functions.
6525         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
6526         if it works, as this avoids the need to link and unlink.
6527         * src/lisp.h (renameat_noreplace): New decl.
6528         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
6529         (renameat_noreplace): New function.
6531 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
6533         When creating a link, ask only if EEXIST
6535         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
6536         Ask the user (and unlink and retry) only if link creation fails
6537         with errno == EEXIST.  This avoids the need to ask the user for
6538         permission to do an operation that will fail anyway.
6540 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
6542         dired-align-file: Inherit text properties in inserted spaces
6544         * lisp/dired.el (dired-align-file): Inherit text
6545         properties in inserted spaces (Bug#27899).
6546         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
6548 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
6550         Don't assume /bin/sh as the 'sh' location in the local host
6552         * lisp/dired.el (dired-insert-directory): Use executable-find in
6553         a local host.
6555 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
6557         Move dired tests using ls emulation to different files
6559         Suggested in:
6560         https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
6561         * test/lisp/dired-tests.el (dired-test-bug27693)
6562         (dired-test-bug27762, dired-test-bug27817)
6563         (dired-test-bug27631, dired-test-bug27843): Delete those
6564         parts requiring either ls-lisp or eshell-ls.
6566         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
6567         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
6568         Add all dired tests using ls-lisp here.
6570         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
6571         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
6572         all dired tests using eshell-ls here.
6574 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
6576         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
6578 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
6580         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
6581         Say the handle is already decoded.
6582         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
6584 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
6586         Don’t worry about unlink if errno == ENOENT
6588         * src/fileio.c (Fdelete_file):
6589         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
6590         remove a file if unlink fails with errno == ENOENT.  This can
6591         happen even if Emacs is the only program removing the file, in
6592         case an NFS cache overflows.  The file does not exist if errno ==
6593         ENOENT, so it is OK to proceed.
6595 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
6597         Fix misalignment in Dired when dired-directory is a cons
6599         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
6600         New defuns.
6601         (dired-internal-noselect): Call dired--align-all-files when
6602         dired-directory is a cons (Bug#27762).
6603         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
6605 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
6607         Fix some dired-tests.el on MS-Windows
6609         * test/lisp/dired-tests.el (dired-test-bug27243-01)
6610         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
6611         file-truename, to avoid bogus failures due to file-name comparison
6612         as strings.
6614 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
6616         Insert subdir content if dir-or-list is a string w/o wildcards
6618         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
6619         Append '("-d") into 'eshell-ls-dired-initial-args'
6620         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
6621         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
6623 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
6625         Update todo-mode defcustoms in a less hideous way
6627         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
6628         (todo-reevaluate-default-file-defcustom)
6629         (todo-reevaluate-category-completions-files-defcustom)
6630         (todo-reevaluate-filter-files-defcustom): Delete these functions.
6631         (todo-update-filelist-defcustoms): New function.  This replaces
6632         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
6633         property instead of re-evaluating the defcustoms.
6634         (todo-add-file, todo-rename-file, todo-delete-file)
6635         (todo-delete-category, todo-move-category)
6636         (todo-convert-legacy-files, todo-check-file): Replace call of
6637         todo-reevaluate-filelist-defcustoms by
6638         todo-update-filelist-defcustoms.
6639         (todo-show, todo-category-completions): Replace call of
6640         todo-reevaluate-* function by use of 'custom-type' property.
6642 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
6644         Add more should form calls in a failing dired test
6646         Some dired tests fail intermittently in hydra.  Add few
6647         more should form calls for debugging.
6648         See:
6649         https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01092.html
6650         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
6651         forms for debugging.
6653 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
6655         Follow SAUNA recommendations for display-line-numbers-type
6657         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
6659         * lisp/menu-bar.el (display-line-numbers-type): Declare.
6661 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
6663         Avoid most stat calls when completing file names
6665         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
6666         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
6667         * m4/d-type.m4: New file, copied from gnulib.
6668         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
6669         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
6670         (dirent_type): New function.
6671         (file_name_completion): Use it, to avoid unnecessary calls to
6672         stat-like functions on GNU/Linux and other platforms with d_type.
6673         (file_name_completion_stat): Just follow the link; there is no
6674         need to try first with AT_SYMLINK_NOFOLLOW since the directory
6675         entry was already checked to exist.
6677 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
6679         dired-tests: Unload tested features after test them
6681         Some tests are for Dired with ls-lisp or eshell-ls.
6682         Requiring these features add an advice on `dired' and
6683         might affect other tests.
6684         Do not require these features at the top of the file; require
6685         then inside the tests and unload then at the end.
6686         * test/lisp/dired-tests.el (dired-test-bug27693)
6687         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
6688         require ls-lisp and/or eshell-ls inside the test; unload the
6689         features at the end.
6691 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
6693         Small adaptions for directory wildcards
6695         * lisp/dired.el (dired-insert-directory): Remove "--dired"
6696         when there are wildcards, and the directory is remote.
6698         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
6699         Adapt docstring.
6700         (tramp-test17-dired-with-wildcards): Skip for all methods but
6701         those from tamp-sh.p.
6703 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
6705         * lisp/dired (dired-trivial-filenames): Use \` and \' to match string bounds
6707 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
6709         Merge from gnulib
6711         This incorporates:
6712         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
6713         * lib/tempname.c: Copy from gnulib.
6715 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
6717         ls-lisp: Do not require em-glob at top of the file
6719         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
6720         not break the Emacs build.
6721         See following thread for details:
6722         https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01083.html
6723         * lisp/ls-lisp.el (dired-goto-next-file)
6724         (dired-read-dir-and-switches, eshell-extended-glob):
6725         Add function declarations.
6726         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
6728 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
6730         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
6732         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
6734 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
6736         Change default CSS property face
6738         * lisp/textmodes/css-mode.el (css-property): Inherit from
6739         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
6740         distinguish CSS properties from variables.
6742 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
6744         Dired: Handle posix wildcards in directory part
6746         Allow Dired to handle calls like
6747         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
6748         the directory part of the file argument (Bug#27631).
6749         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
6750         (insert-directory-clean): New defun extracted from insert-directory.
6751         (insert-directory)
6752         * lisp/dired.el (dired-internal-noselect)
6753         (dired-insert-directory): Use the new predicate; when it's true,
6754         handle the directory wildcards with a shell call.
6755         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
6756         (eshell-ls-unload-hook): New defun.  Use it in
6757         eshell-ls-unload-hook instead of an anonymous function.
6758         (eshell-ls--dired)
6759         * lisp/ls-lisp.el (ls-lisp--dired):
6760         Advice dired to handle wildcards in the directory part with both
6761         eshell-ls and ls-lisp.
6762         * etc/NEWS: Announce it.
6763         * doc/emacs/dired.texi (Dired Enter): Update manual.
6764         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
6766 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
6768         * lisp/find-lisp.el: Enable lexical binding
6770         * lisp/find-dired.el: Enable lexical binding
6772 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
6774         * lisp/kmacro.el: Use lexical binding.
6776 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
6778         Use lexical-binding in dired-aux.el
6780         * lisp/dired.el: Use lexical binding.
6781         (dired-do-shell-command): Remove unused bindings.
6783 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
6785         * lisp/ido.el: Use lexical binding.
6787         * lisp/whitespace.el: Use lexical binding.
6789 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
6791         artist.el: Avoid error with keyboard command invocation
6793         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
6794         Call x-popup-menu with t instead of last-nonmenu-event as the
6795         value of the position argument; this allows invoking the
6796         command from the keyboard without raising an error (bug#27819).
6798 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
6800         Preserve point under 'dired-auto-revert-buffer' (third case)
6802         * lisp/files.el (find-file): Use pop-to-buffer-same-window
6803         instead of switch-to-buffer.  This preserves Dired window
6804         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
6806         * test/lisp/dired-tests.el (dired-test-bug27243-01)
6807         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
6808         The first two replace a previous test that combined them; that
6809         test intermittently fails in the Hydra build system, so maybe
6810         separating the two cases will help locate the point of
6811         failure.  The third test involves find-file but is here
6812         because it, like the others, is testing the effect of
6813         dired-auto-revert-buffer.
6815 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
6817         Do not unset user key remaps in dired-x
6819         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
6820         sets dired-x-hands-off-my-keys.  (Bug#27828)
6822 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
6824         Improve documentation of 'occur'
6826         * doc/emacs/search.texi (Other Repeating Search):
6827         * lisp/replace.el (occur): Make the documentation of 'occur' be
6828         more accurate when matches overlap.  (Bug#27818)
6830 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
6832         Minor copyedits of comments in faces.el
6834         * lisp/faces.el (face-font-family-alternatives): More info about
6835         requirements from "Monospace Serif".
6837 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
6839         Do not worry about paxctl on newer NetBSD
6841         Problem reported privately by Thomas Klausner.
6842         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
6843         on newer NetBSD platforms, where it is not needed.  Also use it to
6844         simplify Cygwin diagnostic.
6846 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
6848         Clarify documentation of ':inherit' face attribute
6850         * doc/lispref/display.texi (Face Attributes): Document the special
6851         treatment of 'unspecified' in the ':inherit' attribute.
6853 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
6855         * lisp/password-cache.el (password-data): Use a hash-table
6857         * lisp/auth-source.el (auth-source-magic): Remove.
6858         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
6859         format of password-data.
6860         (auth-source-format-cache-entry): Just use a cons.
6862         (password-cache-remove, password-cache-add, password-reset)
6863         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
6865         (Bug#26699)
6867 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
6869         * lisp/subr.el (define-symbol-prop): New function
6871         (symbol-file): Make it find symbol property definitions.
6873         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
6874         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
6875         (ert-describe-test): Adjust call to symbol-file accordingly.
6877 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
6879         * lisp/subr.el (method-files): Move function to cl-generic.el
6881         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
6882         (cl--generic-method-files): New function, moved from subr.el.
6883         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
6884         * test/lisp/emacs-lisp/cl-generic-tests.el:
6885         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
6887 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
6889         Preserve this-command-keys across recursive-edit invocations
6891         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
6892         restore this-command-keys, to preserve it across recursive-edit.
6893         (Bug#27470)
6895 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
6897         Improve doc string of 'locate-dominating-file'
6899         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
6901 2017-07-28  Drew Adams  <drew.adams@oracle.com>
6903         New commands 'apropos-local-variable', 'apropos-local-value'
6905         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
6906         New functions.  (Bug#27424)
6908         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
6909         and 'apropos-local-value'.
6910         * etc/NEWS: Mention the new commands.
6912 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
6914         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
6916         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
6918 2017-07-27  Alan Mackenzie  <acm@muc.de>
6920         Fix C++ class initializers not always being fontified at mode start.
6922         The problem here happened when an "outer list" of declarations moved beyond an
6923         "inner list" containing class initializers.  These weren't being checked for
6924         by the code.
6926         Also, fix places in c-get-fontification-context where point is undefined.
6928         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
6929         not-front-decl is set, test for class initializers.  Also, anchor point in
6930         places where it is moved and is otherwise undefined.
6932 2017-07-27  Alan Mackenzie  <acm@muc.de>
6934         Fix variables in C++ "for" statement not always being fontified.
6936         The error happened when there was a comma inside template delimiters.
6938         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
6939         statements, recognise template delimiters containing "," and "&".
6941 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
6943         Add watchdog process to tramp-test36-asynchronous-requests
6945         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
6946         New defun.
6947         (tramp-test36-asynchronous-requests): Use a watchdog process,
6948         listening for SIGUSR1.
6950 2017-07-27  Alan Mackenzie  <acm@muc.de>
6952         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
6954         If a declarator is so cut off, extend the fontification chunk to include it.
6956         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
6957         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
6959 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6961         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
6963         (smerge--refine-long-words): New var.
6964         (smerge--refine-chopup-region): Use it.
6966 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6968         * lisp/url/url-cookie.el: Use lexical-binding
6970         (url-cookie-host-can-set-p): Remove unused var `last'.
6971         Use string-suffix-p.
6972         (url-cookie-list): De morgan.
6973         (url-cookie-quit): Remove.
6974         (url-cookie-mode): Inherit from special-mode.
6975         (url-cookie-mode-map): Simplify accordingly.
6977 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6979         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
6981         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
6983 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6985         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
6987         Record this as the function's definition site if it's the first def.
6989 2017-07-26  Glenn Morris  <rgm@gnu.org>
6991         * doc/lispref/loading.texi (When to Autoload): New section.
6993 2017-07-26  Glenn Morris  <rgm@gnu.org>
6995         Stop using unibyte buffers for ert backtraces
6997         * lisp/emacs-lisp/ert.el
6998         (ert-results-pop-to-backtrace-for-test-at-point):
6999         Set multibyte true, not false.  This copies a
7000         debugger-setup-buffer change from 2009-08-30, and stops the
7001         "Backtrace for" header line containing ^X and ^Y.
7003 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
7005         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
7007         * lisp/cedet/semantic/symref/grep.el
7008         (semantic-symref-grep--line-re): Delete.
7009         (semantic-symref-parse-tool-output-one-line):
7010         Use regexp and group numbers from (grep-regexp-alist).
7012 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
7014         Fix cl-defmethod indentation
7016         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
7017         Declare (indent defun).  Fixes bug#23994.
7019 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
7021         Fix two customization types in frame.el
7023         * lisp/frame.el (window-divider-default-bottom-width)
7024         (window-divider-default-right-width): Fix customization types.
7026 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
7028         Dired: Support eshell-ls from the beginning if the user wants to
7030         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
7031         as well (Bug#27817).
7032         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
7034 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
7036         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
7038 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7040         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
7042         Adjust to change in cl-generic-ensure-function.
7044 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
7046         ls-lisp: Add an unload function and enable lexical binding
7048         Enable lexical binding.
7049         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
7050         * test/lisp/ls-lisp.el (ls-lisp-unload): Add test.
7052 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
7054         register-read-with-preview: Quit if user input C-g or ESC
7056         * lisp/register.el (register-read-with-preview):
7057         Quit if user input C-g or ESC (bug#27634).
7058         * doc/emacs/regs.texi (Registers): Update manual.
7059         * test/lisp/register-tests.el (register-test-bug27634): Add test.
7061 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
7063         Recognize MirBSD Korn shell rc file
7065         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
7067 2017-07-25  Glenn Morris  <rgm@gnu.org>
7069         * configure.ac: Be explicit about ImageMagick version in summary.
7071 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
7073         Properly align global lispsym
7075         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
7076         Lisp_Symbols inside struct.
7077         * src/alloc.c (sweep_symbols): Update use of lispsym.
7078         * src/lisp.h (builtin_lisp_symbol): Likewise.
7080 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7082         Do not use ImageMagick 7 and later
7084         Suggested by Glenn Morris (Bug#25967#15).
7085         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
7087 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7089         * lisp/progmodes/perl-mode.el: Add support for indented here docs
7091         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
7092         Recognize the new <<~ syntax for indented here docs.
7093         (perl-syntax-propertize-special-constructs): Adjust search of the
7094         end of here docs accordingly.
7096         * test/manual/indent/perl.perl: Add test for indented here docs.
7098 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7100         (loadhist-unload-element): Move ERT and cl-generic methods
7102         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
7103         and ert methods here.
7104         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
7106         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
7107         unload method for cl-defmethod.
7108         (cl-generic-ensure-function): Remove redundant `defalias'.
7110         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
7111         setting here...
7112         (ert-deftest): ...from here.
7113         (loadhist-unload-element): Define unload method for ert-deftest.
7115 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
7117         Fix Bug#27371
7119         * lisp/loadhist.el (loadhist-unload-element): Declare for
7120         different entry types of `load-history'.
7121         (loadhist--restore-autoload): New variable.
7122         (loadhist--unload-function): New defun.
7123         (unload-feature): Use `loadhist-unload-element'.  Recommended by
7124         Stefan Monnier.  (Bug#27371)
7126         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
7127         Check, that the `tramp-file-name' structure has been unloaded.
7129 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
7131         Ensure that we parse images right in shr.el
7133         * lisp/net/shr.el (shr-image-fetched): Go back to the
7134         beginning of the buffer before trying to parse the image
7135         fetched.
7137 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7139         Update .gitignore for Valgrind and no Automake
7141         * .gitignore: Remove .deps/ since we no longer use Automake.
7142         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
7144 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7146         Merge from gnulib
7148         This incorporates:
7149         2017-07-23 Rename module 'strftime' to 'nstrftime'
7150         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
7151         * build-aux/config.guess: Copy from gnulib.
7152         * lib/nstrftime.c: Rename from lib/strftime.c.
7153         * m4/nstrftime.m4: Rename from m4/strftime.m4.
7154         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7156 2017-07-23  Philipp Stephani  <phst@google.com>
7158         Add 'rx' pattern for pcase.
7160         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
7161         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
7163 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
7165         Use a named function for global minor mode turn-on argument
7167         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
7168         New function.
7169         (global-display-line-numbers-mode): Use it.
7171 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
7173         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
7175         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
7176         from 'src/emacs'.
7178         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
7179         launched outside of a macOS application bundle, change its
7180         activation policy from the default 'prohibited' to 'regular'.
7182 2017-07-23  Alan Mackenzie  <acm@muc.de>
7184         Convert CC Mode's c-found-types from an obarray to a hash table.
7186         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
7187         rather than an obarray.
7188         (c-copy-found-types): Remove.
7189         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
7190         the new hash table.
7191         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
7193 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
7195         Fix image/svg+xml display in shr
7197         * lisp/net/shr.el (shr-put-image): Display svg images as svg
7198         (bug#27799).  I suspect the previous change was checked in by
7199         accident in conjuction with some other svg changes.
7201 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
7203         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
7205 2017-07-23  Glenn Morris  <rgm@gnu.org>
7207         Don't automatically enable Gconf if Gsettings was found
7209         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
7210         Don't test for Gconf unless specifically requested.
7211         Gconf was deprecated in favor of Gsettings several years ago.
7213 2017-07-23  Glenn Morris  <rgm@gnu.org>
7215         * configure.ac (MODULES_SUFFIX): Always give it a value.
7217         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
7219 2017-07-23  Glenn Morris  <rgm@gnu.org>
7221         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
7223 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
7225         Add line numbers display to the Options menu
7227         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
7228         (menu-bar-display-line-numbers-mode): New defun.
7229         (menu-bar-showhide-line-numbers-menu): New defvar.
7230         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
7232 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
7234         Signal error for symbol names with strange quotes (Bug#2967)
7236         * src/lread.c (read1): Signal an error when a symbol starts with a
7237         non-escaped quote-like character.
7238         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
7239         test.
7240         * etc/NEWS: Announce change.
7242 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
7244         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
7246         It turns out that this change is not needed, and it leaves several
7247         command loops settings not done.
7249         https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00757.html
7250         https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00840.html
7252 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
7254         Add a minor mode interface for display-line-numbers
7256         * lisp/cus-start.el: Use the new display-line-numbers group.
7257         * lisp/display-line-numbers.el: New file.
7259         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
7260         belong to linum-mode.
7261         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
7262         * etc/NEWS: Document display-line-numbers-mode and its customization
7263         variables, and mention that display-line-numbers-width is
7264         buffer-local.
7266         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
7267         typo.
7269 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
7271         Support indented HERE-DOCs in cperl-mode
7273         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
7274         indented here-docs.  (Bug#27254) (Bug#27697)
7276 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7278         Document the support for "scrollBar" X resource
7280         * doc/emacs/xresources.texi (Table of Resources): Document the new
7281         'scrollBar' setting.
7282         * etc/NEWS: Document the new 'scrollBar' setting.
7284 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
7286         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
7288         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
7289         settings.
7291 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
7293         Update ld-script mode (bug#27629)
7295         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
7296         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
7297         numbers for PROVIDE/PROVIDE_HIDDEN commands.
7298         (ld-script-builtins): New builtin function LOG2CEIL added.
7300 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7302         Index 'rectangle' in the ELisp manual
7304         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
7305         (Bug#27541)
7307 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7309         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
7311 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7313         Doc fixes for kmacro.el functions
7315         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
7316         (kmacro-end-and-call-macro): Don't use "permanent name", as that
7317         could be misinterpreted.  (Bug#27492)
7319 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
7321         ElDoc: add docstrings and minor refactoring
7323         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
7324         docstring.
7325         (turn-on-eldoc-mode): Fix capitalization.
7326         (eldoc--supported-p): Add docstring.
7327         (eldoc-schedule-timer): Add docstring and use
7328         'eldoc--supported-p'.
7329         (eldoc-message): Add docstring and make calling convention
7330         clearer.
7331         (eldoc--message-command-p):
7332         (eldoc-pre-command-refresh-echo-area):
7333         (eldoc-display-message-p):
7334         (eldoc-display-message-no-interference-p):
7335         (eldoc-print-current-symbol-info):
7336         (eldoc-docstring-format-sym-doc):
7337         (eldoc-add-command, eldoc-add-command-completions):
7338         (eldoc-remove-command, eldoc-remove-command-completions):
7339         Add docstring.  (Bug#27230)
7341 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
7343         Mention 'C-M-i' as key binding for 'ispell-complete-word'
7345         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
7346         can also be invoked by C-M-i.  (Bug#27349)
7348 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
7350         Fix the eww-search-words description in the Emacs manual
7352         * doc/emacs/search.texi (Word Search):
7353         Include the key binding for eww-search-words in the manual.
7354         Fix the spelling of the 'eww-search-words' command.
7356 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
7358         Introduce defcustom 'executable-prefix-env'
7360         * lisp/progmodes/executable.el (executable-prefix): Update the doc
7361         string.
7362         (executable-prefix-env): New defcustom.
7363         (executable-set-magic): Use executable-prefix-env.
7365         * etc/NEWS: Document the new variable.
7367 2017-07-22  Glenn Morris  <rgm@gnu.org>
7369         * test/lisp/ibuffer-tests.el: Delete temporary files.
7371 2017-07-21  Glenn Morris  <rgm@gnu.org>
7373         Further attempt to avoid hang in network-stream-tests
7375         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
7376         Limit the time we wait for the external process.
7378 2017-07-21  Glenn Morris  <rgm@gnu.org>
7380         Stop skipping many ibuffer tests by default
7382         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
7383         Rename so it sorts first.
7384         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
7385         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
7386         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
7387         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
7388         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
7389         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
7390         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
7392 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7394         Use lexical-binding in todo-mode.el
7396         Adjust code accordingly and make various minor improvements.
7398         * lisp/calendar/todo-mode.el: Enable lexical-binding.
7399         (dayname, monthname, day, month, year): Make forward defvars
7400         of these keywords from macros defined in calendar.el; wrap
7401         them in with-no-warnings.
7402         (todo-files, todo-files-function, todo-date-pattern)
7403         (todo-mode-line-function, todo-show, todo-forward-category)
7404         (todo-edit-item--header, todo-set-category-number)
7405         (todo-adjusted-category-label-length)
7406         (todo-total-item-counts, todo-filter-items)
7407         (todo-print-buffer-function, todo-convert-legacy-date-time)
7408         (todo-category-number, todo-category-completions)
7409         (todo-read-file-name, todo-read-category)
7410         (todo-validate-name, todo-read-date)
7411         (todo-set-show-current-file, todo-modes-set-1)
7412         (todo-modes-set-2, todo-modes-set-3, todo-mode):
7413         Use #' instead of ' to quote functions.
7414         (todo-files): Use \' instead of $ in regexp.
7415         (todo--files-type-list): New function.
7416         (todo-default-todo-file, todo-category-completions-files)
7417         (todo-filter-files, todo-multiple-filter-files)
7418         (todo-reevaluate-default-file-defcustom)
7419         (todo-reevaluate-category-completions-files-defcustom)
7420         (todo-reevaluate-filter-files-defcustom): Use it.
7421         (todo-show, todo-rename-file, todo-move-category)
7422         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
7423         (todo-item-undone, todo-unarchive-items, todo-search)
7424         (todo-filter-items, todo-filter-items-1, todo-find-item)
7425         (todo-category-select, todo-read-date)
7426         (todo-nondiary-marker-matcher, todo-date-string-matcher)
7427         (todo-diary-expired-matcher, todo-convert-legacy-files)
7428         (todo-read-category): Reformat to avoid code hiding behind a
7429         more deeply embedded element.
7430         (todo-forward-category, todo-set-category-number):
7431         Use 'funcall' instead of 'apply'.
7432         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
7433         (todo-edit-category-diary-inclusion)
7434         (todo-insert-sort-button, todo-insert-category-line)
7435         (todo-multiple-filter-files): Mark unused local variables.
7436         (todo-edit-item--header, todo-move-item, todo-print-buffer)
7437         (todo-edit-item--header, todo-move-item, todo-check-file)
7438         (todo-edit-item--next-key): Remove unused local variables.
7439         (todo-insert-sort-button, todo-insert-category-line):
7440         Use a closure instead of a backquoted lambda.
7441         (todo-update-categories-display, todo-print-buffer): Simplify code.
7442         (todo-print-buffer-function): Document calling convention.
7443         (todo-category-completions): Use cl-pushnew instead of add-to-list.
7444         (todo-mode-map, todo-archive-mode-map)
7445         (todo-categories-mode-map, todo-filtered-items-mode-map):
7446         Remove superfluous call of suppress-keymap, since it's already
7447         in the parent special-mode-map.
7449 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
7451         dired: Revert buffer when DIRNAME is a cons
7453         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
7454         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
7455         Update the comments.
7456         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
7458 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
7460         Handle when dired-directory is a cons in some Dired functions
7462         * lisp/dired-aux.el (dired-rename-subdir-1)
7463         * lisp/dired-x.el (dired-mark-omitted):
7464         Handle when dired-directory is a cons.
7466 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
7468         Make eshell-next-prompt more reliable (Bug#27405)
7470         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
7471         `eshell-prompt-regexp' (and `read-only' text-property if
7472         `eshell-highlight-prompt' is set) rather than trying to use
7473         `forward-paragraph'.
7474         (eshell-previous-prompt): Don't count prompt on current line.
7476 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
7478         Simplify recent gnutls.c changes
7480         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
7481         All uses replaced by calls to explicit_bzero; that’s clear enough.
7482         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
7483         coalescing duplicate actions.  There is no need to invoke
7484         SAFE_FREE before calling ‘error’.
7486 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
7488         Stylistic changes in tramp-cache.el
7490         * test/lisp/net/tramp-cache.el (tramp-get-file-property)
7491         (tramp-set-file-property): Use `bound-and-true-p'.  Add
7492         counter variables to `tramp-cache-unload-hook'.
7494 2017-07-20  Glenn Morris  <rgm@gnu.org>
7496         * admin/notes/hydra: Small updates.
7498 2017-07-20  Glenn Morris  <rgm@gnu.org>
7500         Make tramp unloading handle debug counter variables
7502         * lisp/net/tramp-cache.el (tramp-get-file-property)
7503         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
7505 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
7507         Fix hscrolling calculations when display-line-numbers is set
7509         * src/xdisp.c (move_it_in_display_line_to): Account for line
7510         numbers in hscrolled lines.  (Bug#27756)
7512 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
7514         Fix the bogus change made 13 years ago (bug#27084)
7516         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
7517         Fix the way to test if there is no visible header (bug#27084).
7519 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
7521         Use grep's --null option (Bug#6843)
7523         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
7524         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
7525         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
7526         constants, replacing `grep-regexp-alist'.
7527         (grep-regex-alist): Mark the variable obsolete, add a new function of
7528         the same name to replace it.
7529         (grep-compute-defaults): Compute default for
7530         `grep-use-null-filename-separator'.
7531         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
7532         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
7533         according to `grep-use-null-filename-separator'.
7534         * lisp/progmodes/xref.el (xref-collect-matches): Call
7535         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
7536         grep-regexp-alist match groups.
7537         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
7538         item under "Grep" heading as well.
7540 2017-07-19  Philipp Stephani  <phst@google.com>
7542         * src/gnutls.c (clear_storage): Define only if needed.
7544 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
7546         Adjust todo-quit to recent change in dired
7548         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
7549         bury-buffer to exit todo-mode.  This restores the desired behavior
7550         of not immediately returning to the exited todo-mode buffer on
7551         quitting another buffer, which a dired bug fix had changed (see
7552         http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00739.html).
7554 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
7556         Add test for bugs 7131, 27762
7558         Require 'ls-lisp' at top of the file.
7559         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
7560         New tests.
7561         (dired-test-bug27693): Delete Dired buffer at the end.
7563 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
7565         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
7567 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
7569         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
7571         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
7573 2017-07-18  Glenn Morris  <rgm@gnu.org>
7575         Use a more specific test for running on hydra.nixos.org
7577         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
7578         * test/Makefile.in (WRITE_LOG):
7579         * test/lisp/filenotify-tests.el:
7580         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
7581         (eieio-test-method-order-list-6):
7582         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
7583         (eieio-test-37-obsolete-name-in-constructor):
7584         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
7586 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
7588         Avoid infloop due to Eshell's "smart" redisplay
7590         * src/xdisp.c (pos_visible_p): Save and restore the window's
7591         mode-line and header-line height.  (Bug#27752)
7593 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
7595         * emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
7597 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
7599         Fix indentation when display-line-numbers is non-nil
7601         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
7602         to go one more tab stop to display a TAB.  (Bug#27743)
7604 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
7606         Don't use gtk_widget_get_scale_factor on old GTK3 versions
7608         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
7609         only present since GTK 3.10.
7611 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
7613         Let delete-selection-mode work with popup-menu commands (Bug#27569)
7615         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
7616         `this-command' set to the selected command.
7618 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
7620         Port gnutls.c to older (buggier?) GnuTLS
7622         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
7623         http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00716.html
7624         http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00742.html
7625         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
7626         perhaps hydra was using a modified GnuTLS.
7627         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
7628         is at the end of the list returned by gnutls_cipher_list,
7629         or that the earlier ciphers all have non-null names.
7631 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
7633         Fix relocation with named cell referred to by a one-symbol formula.
7635         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
7636         work also with one symbol formulas.
7638         * test/lisp/ses-tests.el
7639         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
7640         test for renaming with relocating a one symbol formula.
7642 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
7644         Fix symbol completion and document it.
7646         * doc/misc/ses.texi (Configuring what printer function
7647         applies): Add description of keys for completing local printer
7648         symbols and listing local printers in a help buffer.
7649         (Formulas): Add decription for key to list the named cell
7650         symbols in a help buffer.
7652         * lisp/ses.el (ses-completion-keys): New constant.
7653         (ses--completion-table): New defvar.
7654         (ses--list-orig-buffer): New defvar.
7655         (ses-mode-edit-map): Fixed for symbol completion, plus add
7656         help functions to list named cells or local printers.
7657         (ses-edit-cell-complete-symbol)
7658         (ses--edit-cell-completion-at-point-function): New defuns for
7659         completion during formula edition.
7660         (ses-edit-cell): Redefine dynamically edit keymap for
7661         completion keys to point at the right function.
7662         (ses-read-printer-complete-symbol)
7663         (ses--read-printer-completion-at-point-function): New defuns
7664         for completion during printer edition.
7665         (ses-read-printer): Redefine dynamically edit keymap for
7666         completion keys to point at the right function.
7667         (ses-list-local-printers): New defun.
7668         (ses-list-named-cells): New defun.
7670 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
7672         Move comments around
7674 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
7676         Make scaling work (?) on pre-GTK3 systems
7678         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
7679         (xg_get_scale): Use it on non-GTK3 systems.
7681 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
7683         Always return the GDK scale
7685         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
7687 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
7689         Remove usage of the GDK_SCALE variable
7691         * src/gtkutil.c (xg_get_gdk_scale): Remove.
7692         (xg_get_default_scrollbar_height)
7693         (xg_get_default_scrollbar_width): Pass in a frame to check for
7694         scaling.
7695         (xg_frame_set_char_size): Use the API for querying scale
7696         instead of looking at the GDK_SCALE variable.
7697         (xg_get_default_scrollbar_width): Ditto.
7698         (xg_get_default_scrollbar_height): Ditto.
7699         (xg_update_scrollbar_pos): Ditto.
7701         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
7702         frame to get the width.
7704 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
7706         Get positions of menus and tooltips right on HiDPI
7708         * src/gtkutil.c (xg_get_scale): New function.
7709         (xg_show_tooltip): Use it.
7711         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
7712         right place.
7714 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
7716         Allow user control on what starts and ends a paragraph for bidi
7718         * src/buffer.h (struct buffer): New members
7719         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
7720         * src/buffer.c (bset_bidi_paragraph_start_re)
7721         (bset_bidi_paragraph_separate_re): New setters/
7722         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
7723         bidi-paragraph-separate-re.
7724         (init_buffer_once): Init the values of bidi-paragraph-start-re and
7725         bidi-paragraph-separate-re.
7726         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
7727         New per-buffer variables.
7728         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
7729         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
7730         (bidi_move_to_visually_next): Handle correctly the case when the
7731         separator matches an empty string.  (Bug#27526)
7733         * doc/emacs/mule.texi (Bidirectional Editing):
7734         * doc/lispref/display.texi (Bidirectional Display): Document
7735         bidi-paragraph-start-re and bidi-paragraph-separate-re.
7737         * etc/NEWS: Mention bidi-paragraph-start-re and
7738         bidi-paragraph-separate-re.
7740 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
7742         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
7744 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
7746         alist-get: Add optional arg TESTFN
7748         If TESTFN is non-nil, then it is the predicate to lookup
7749         the alist.  Otherwise, use 'eq' (Bug#27584).
7750         * lisp/subr.el (alist-get): Add optional arg FULL.
7751         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
7752         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
7753         * doc/lispref/lists.texi (Association Lists): Update manual.
7754         * etc/NEWS: Announce the changes.
7755         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
7756         (test-map-elt-testfn): New tests.
7758 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
7760         Fix `tramp-test39-unload'
7762         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
7763         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
7764         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
7765         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
7766         variables and autoload functions; they are not removed.  Check
7767         also for `-function(s)'.
7769 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
7771         Preserve point under 'dired-auto-revert-buffer' (second case)
7773         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
7774         of switch-to-buffer.  This preserves Dired window point when
7775         dired-auto-revert-buffer is non-nil.  (Bug#27243)
7777         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
7779 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
7781         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
7783         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
7784         undefined to allow --with-gnutls=no builds to proceed.
7786 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
7788         * src/gnutls.c: Restore some comments.
7790 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
7792         Use memset, not bzero
7794         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
7795         of the (less-portable) bzero.
7797 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
7799         Use explicit_bzero to clear GnuTLS keys
7801         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
7802         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
7803         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7804         * src/gnutls.c (clear_storage): New function.
7805         (gnutls_symmetric_aead): Use it instead of memset.
7807 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
7809         Merge from gnulib
7811         This incorporates:
7812         2017-07-16 explicit_bzero: new module
7813         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
7814         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
7815         * m4/string_h.m4:
7816         Copy from Gnulib.
7817         * lib/gnulib.mk.in: Regenerate.
7819 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
7821         Fix vc-src-dir-status-files
7823         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
7824         copy-paste from b1a765b3 (bug#27641).
7826 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
7828         Fix mismatched parens
7830         * etc/NEWS.21: Remove excess parenthesis in code example
7832 2017-07-16  Alan Third  <alan@idiocy.org>
7834         Add missing declare-function for new function
7836         * lisp/frame.el: Add declare function for
7837         ns-mouse-absolute-pixel-position.
7839 2017-07-16  R. Bernstein  <rocky@gnu.org>
7841         Realgud for tango themes
7843 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
7845         Fix test when running from test/lisp/subr-tests.elc
7847         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
7848         assume a lambda expression will be `equal' to its quoted form.  That's
7849         not true if the lambda expression has been compiled.
7851 2017-07-15  Alan Third  <alan@idiocy.org>
7853         Fix some frame handling issues on NS
7855         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
7856         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
7857         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
7858         relationship if it's broken.
7860 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
7862         ls-lisp: Fix file size format
7864         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
7865         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
7866         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
7868 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
7870         Avoid link errors with older versions of GnuTLS
7872         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
7873         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
7874         calls GnuTLS functions which might be unavailable in older
7875         versions of GnuTLS.
7877 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
7879         Improve comments in faces.el
7881         * lisp/faces.el (face-font-family-alternatives): Improve
7882         commentary.
7884 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
7886         Improve some GnuTL error messages
7888         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
7889         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
7891 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
7893         Fix the Elisp manual wrt GnuTL cryptography
7895         * doc/lispref/elisp.texi (Top): Update the master menu.
7896         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
7897         avoid errors in makeinfo.
7899 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
7901         Fix compilation of gnutls.c with older GnuTLS
7903         * src/gnutrls.c (syms_of_gnutls): Condition some defsubr's
7904         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
7905         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
7907 2017-07-15  rocky  <rb@dustyfeet.com>
7909         Realgud for two more light themes
7911 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
7913         Rearrange MS-Windows code that dynamically loads GnuTLS functions
7915         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
7916         of functions using the same preprocessing directives as in the code.
7918 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
7920         Fix the MS-Windows build broken in gnutls.c
7922         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
7923         loading code to after 'capabilities' has been calculated.  Remove
7924         redundant comments.
7926 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
7928         src/image.c (compute_image_size): Remove superfluous checks.
7930         * src/image.c (compute_image_size): Remove superfluous checks.
7932 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
7934         Make combinations of :width/:max-height image specs work reliably
7936         * doc/lispref/display.texi (ImageMagick Images): Document
7937         :width/:max-height combinations (etc) (bug #25583).
7939         * src/image.c (compute_image_size): Handle :width/:max-height
7940         (etc) combinations consistently (by letting "max" win and
7941         preserve ratio).
7943         * test/manual/image-size-tests.el (image-size-tests): Add
7944         tests for :width/:max-height (etc) combinations.
7946 2017-07-15  Glenn Morris  <rgm@gnu.org>
7948         Fix recent theme changes
7950         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
7951         Fix typos in recent changes.
7953 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7955         GnuTLS integer-overflow and style fixes
7957         This tweaks the recently-added GnuTLS improvements so that
7958         they avoid some integer-overflow problems and follow typical
7959         Emacs style a bit better.
7960         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
7961         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
7962         configure-time results are displayed.
7963         * src/fns.c (extract_data_from_object): Return char *, not char
7964         const *, since one gnutls caller wants a non-const pointer.  Use
7965         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
7966         instead of rolling our own code.  Prefer signed types to unsigned
7967         when either will do.  Report problems for lengths out of range,
7968         instead of silently mishandling them.
7969         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
7970         callers.  All callers of gnutls_sterror changed.
7971         (Fgnutls_boot): Check for integers out of range rather than
7972         silently truncating them.
7973         (gnutls_symmetric_aead): Check for integer overflow in size
7974         calculations.
7975         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
7976         Prefer signed to unsigned integers where either will do.
7977         (gnutls_symmetric_aead, gnutls_symmetric):
7978         Work even if ptrdiff_t is wider than ‘long’.
7979         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
7980         Check for integer overflow in algorithm selection.
7982 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
7984         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
7986 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
7988         Fix the MS-Windows build due to added GnuTLS functions
7990         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
7991         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
7992         functions.  Add #define redirections for new functions.
7993         (gnutls_symmetric_aead): Fix format specs to be more portable when
7994         printing ptrdiff_t arguments.
7995         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
7996         wrapper.
7997         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
7999         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
8000         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
8001         gnutls-available-p, otherwise GnuTLS functions might not be loaded
8002         from the DLL on MS-Windows.
8004 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8006         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
8008         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
8009         Dig into advice wrappers to find the "real" signature.
8010         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
8011         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
8012         since bytecode functions are now handled in byte-compile--function-signature.
8014         * lisp/files.el (create-file-buffer, insert-directory):
8015         Remove workaround introduced for (bug#14860).
8017         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
8019         * lisp/help.el (help-function-arglist):
8020         Dig into advice wrappers to find the "real" signature.
8022 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
8024         GnuTLS HMAC and symmetric cipher support
8026             * etc/NEWS: Add news for new feature.
8028             * doc/lispref/text.texi (GnuTLS Cryptography): Add
8029             documentation.
8031             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
8032             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
8034             * src/fns.c (Fsecure_hash_algorithms): Add function to list
8035             supported `secure-hash' algorithms.
8036             (extract_data_from_object): Add data extraction function that
8037             can operate on buffers and strings.
8038             (secure_hash): Use it.
8039             (Fsecure_hash): Mention `secure-hash-algorithms'.
8041             * src/gnutls.h: Include gnutls/crypto.h.
8043             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
8044             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
8045             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
8046             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
8048             * test/lisp/net/gnutls-tests.el: Add tests.
8050 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8052         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
8054         It's also defined in cl-extra.el.
8056 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8058         Do not convert ij and IJ to compatibility chars
8060         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
8061         Problem reported by James Cloos (Bug#518#10).
8063 2017-07-14  Toon Claes  <toon@iotcl.com>
8065         Remove Turkish ligatures from Dutch input method
8067         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
8069 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8071         Improve stack-overflow heuristic on GNU/Linux
8073         Problem reported by Steve Kemp (Bug#27585).
8074         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
8075         by current_thread->stack_top.
8076         (record_in_backtrace): Set current_thread->stack_top.
8077         This is for when the Lisp interpreter calls itself.
8078         * src/lread.c (read1): Set current_thread->stack_top.
8079         This is for recursive s-expression reads.
8080         * src/print.c (print_object): Set current_thread->stack_top.
8081         This is for recursive s-expression printing.
8082         * src/thread.c (mark_one_thread): Get stack top first.
8083         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
8085 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8087         Remove duplicate cl--random-state definition
8089         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
8090         This variable is now defined in cl-extra.el (Bug#27617).
8092 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
8094         Adjust timer in tramp-test36-asynchronous-requests
8096         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
8097         Adjust timer if it takes too much time.
8099 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8101         Always display rmail progress report under user control
8103         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
8104         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
8106 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8108         Avoid byte-compilation warnings for advised functions
8110         * lisp/files.el (insert-directory, create-file-buffer): Add an
8111         advertised-calling-convention form to shut up byte-compilation
8112         warnings.  (Bug#14860)
8114 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8116         Add assertion related to display-line-numbers
8118         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
8119         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
8120         code.  (Bug#27668)
8122 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8124         Prevent display corruption when display-line-numbers is set
8126         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
8127         due to display-line-numbers, clear the window's desired glyph
8128         matrix before returning, as the following call to try_window will
8129         call display_line, which expects rows of the desired matrix
8130         cleared.  (Bug#27668)
8132 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8134         Revert "Use fixed-pitch font for display-line-numbers"
8136         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
8137         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
8138         popular demand.  For relevant discussions, see
8140          http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00433.html
8141          http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00445.html
8143 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8145         Merge from gnulib
8147         This incorporates:
8148         2017-07-13 Improve cross-compilation guesses for native Windows
8149         2017-07-11 More systematic m4 quoting and indentation
8150         2017-07-10 Make sure $host and $host_os are defined when used
8151         2017-07-03 stdioext: Port to OpenVMS
8152         2017-06-24 xalloc-oversized: port to icc
8153         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
8154         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
8155         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
8156         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
8157         Copy from Gnulib.
8159 2017-07-13  Alan Mackenzie  <acm@muc.de>
8161         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
8163         This fontification anomaly happened because after deleting the ">",
8164         c-forward-<>-arglist parses the preceding identifier as a putative type but
8165         stores it in c-found-types before it becomes clear it is not an unambiguous
8166         type.  c-forward-<>-arglist fails, leaving the spurious type id in
8167         c-found-types.  Fix this by "binding" c-found-types "to itself" in
8168         c-forward-<>-arglist, and restoring the original value when that function call
8169         fails.
8171         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
8172         (c-forward-<>-arglist): Record the original value of c-found-types at the
8173         beginning of the function, and restore it at the end on failure.
8175         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
8176         accurately.
8178 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
8180         Add tests for SES, and fix one more cell renaming bug.
8182         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
8183         relocate value for named cells as they keep the same symbol.
8184         (ses-rename-cell): Set new cell name symbol to cell value --- do not
8185         rely on recalculating.  Push cells with updated data --- cell name,
8186         cell reference list, or cell formula --- to deferred write list.
8188         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
8190 2017-07-12  Alan Mackenzie  <acm@muc.de>
8192         Fix some bugs in c-defun-name.  This fixes bug #25623.
8194         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
8195         etc.
8197 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
8199         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
8201         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
8202         c-mode-base-map if possible.
8204 2017-07-12  Alan Mackenzie  <acm@muc.de>
8206         CC Mode: create and use c-set-keymap-parent.
8208         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
8210         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
8211         set-keymap-parents.
8212         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
8214 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
8216         Minor tweaks of new line number display variables
8218         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
8219         (Vdisplay_line_number_width): Rename to
8220         Vdisplay_line_numbers_width.
8221         (maybe_produce_line_number): Comply with above rename.
8222         * lisp/cus-start.el (standard):
8223         * lisp/frame.el (top-level):
8224         * etc/NEWS: Comply with renaming of
8225         `display-line-number-width' to `display-line-numbers-width'.
8227 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
8229         Avoid assertion violations in close_infile_unwind
8231         * src/lread.c (close_infile_unwind): A temporary band-aid solution
8232         for bug#27642: allow 'infile' be NULL.
8234 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
8236         Use fixed-pitch font for display-line-numbers
8238         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
8239         even if the default face uses a variable-pitch font.  Reported by
8240         James Cloos <cloos@jhcloos.com>.
8242 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
8244         Improve documentation of display-line-numbers
8246         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
8247         doc string.  Suggested by Alex <agrambot@gmail.com>.
8249 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
8251         Add an optional testfn parameter to assoc
8253         * src/fns.c (assoc): New optional testfn parameter used for comparison
8254         when provided.
8255         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
8256         'testfn' parameter.
8257         * src/buffer.c:
8258         * src/coding.c:
8259         * src/dbusbind.c:
8260         * src/font.c:
8261         * src/fontset.c:
8262         * src/gfilenotify.c:
8263         * src/image.c:
8264         * src/keymap.c:
8265         * src/process.c:
8266         * src/w32fns.c:
8267         * src/w32font.c:
8268         * src/w32notify.c:
8269         * src/w32term.c:
8270         * src/xdisp.c:
8271         * src/xfont.c: Add a third argument to Fassoc calls.
8272         * etc/NEWS:
8273         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
8275 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
8277         Use `with-demoted-errors' in Tramp
8279         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
8281         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
8283 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
8285         Add Quick Start Guide to Tramp manual
8287         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
8288         "MS Windows".
8289         (Quick Start Guide): New node.
8291         * doc/misc/trampver.texi:
8292         * lisp/net/trampver.el: Change version to "2.3.3-pre".
8294 2017-07-10  Glenn Morris  <rgm@gnu.org>
8296         Fix failing module tests on GNU/Linux
8298         * test/src/emacs-module-tests.el
8299         (module--test-assertions--load-non-live-object)
8300         (module--test-assertions--call-emacs-from-gc):
8301         Avoid test failures due to backtraces.
8303 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8305         Fix core dump in substitute-object-in-subtree
8307         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
8308         would dump core, since the C code would recurse indefinitely through
8309         the infinite structure.  This patch adds an argument to the function,
8310         and renames it to lread--substitute-object-in-subtree as the function
8311         is not general-purpose and should not be relied on by outside code.
8312         See Bug#23660.
8313         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
8314         not Lisp_Object, so that callers need not cons unnecessarily.
8315         All callers changed.  Also, remove related #if-0 code that was
8316         “temporary” in the early 1990s and has not been compilable for
8317         some time.
8318         * src/lread.c (struct subst): New type, for substitution closure data.
8319         (seen_list): Remove this static var, as this info is now part of
8320         struct subst.  All uses removed.
8321         (Flread__substitute_object_in_subtree): Rename from
8322         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
8323         doesn’t dump core when called from the top level with an
8324         already-cyclic structure.  All callers changed.
8325         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
8326         (substitute_object_recurse): Take a single argument SUBST rather
8327         than a pair OBJECT and PLACEHOLDER, so that its address can be
8328         passed around as part of a closure; this avoids the need for an
8329         AUTO_CONS call.  All callers changed.  If the COMPLETED component
8330         is t, treat every subobject as potentially circular.
8331         (substitute_in_interval): Take a struct subst * rather than a
8332         Lisp_Object, for the closure data.  All callers changed.
8333         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
8334         New test, to check that the core dump does not reoccur.
8336 2017-07-10  Philipp Stephani  <phst@google.com>
8338         Minor simplification of module_free_global_ref
8340         * src/emacs-module.c (module_free_global_ref): Remove unused variable
8341         'hashcode'.  Inline variable 'value' that's only used once.
8343 2017-07-10  Philipp Stephani  <phst@google.com>
8345         Re-add a useful assertion
8347         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
8348         the reference count is zero.  This assertion was removed in commit
8349         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
8350         test performed by XFASTINT before, because the previous reference
8351         count could have been zero already in the case of a buggy
8352         implementation.  This assertion might have detected Bug#27587.
8354 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
8356         Fix bug in module_free_global_ref (Bug#27587)
8358         * src/emacs-module.c (module_free_global_ref): Actually remove entry
8359         from hash table.
8361 2017-07-09  Philipp Stephani  <phst@google.com>
8363         Further improve electric quote support for Markdown (Bug#24709)
8365         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
8366         values.  Therefore 'electric-quote-mode' recognized it as a
8367         programming mode.  Fix this by first checking whether the current
8368         major mode is derived from 'text-mode'.
8370         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
8371         'text-mode' as stronger signal than comment syntax.
8373         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
8374         (electric-quote-markdown-in-code): Adapt unit tests.
8376 2017-07-09  Philipp Stephani  <phst@google.com>
8378         Remove pointless code in 'electric-quote-mode'
8380         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
8381         pointless form.
8383 2017-07-09  Philipp Stephani  <phst@google.com>
8385         Refactor 'electric-quote-mode'
8387         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
8388         local variable 'start', which was misnamed and only used once.
8390 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
8392         Avoid crashes on MS-Windows starting 64-bit .NET executables
8394         * src/w32proc.c (w32_executable_type): Don't assume that the
8395         import directory in a DLL will always be non-NULL.  (Bug#27527)
8397 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
8399         Avoid compilation warning in files.el
8401         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
8402         warning due to its use in auto-save-visited-mode.
8404 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
8406         Improve indexing of VC-related stuff in the Emacs manual
8408         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
8409         entry.  (Bug#27627)
8411 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
8413         Speed up display of line numbers for very large buffers
8415         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
8416         using values cached by mode-line display of line numbers.
8417         (Bug#27622)
8419 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
8421         Define internal_border_parts for window systems only (Bug#27615)
8423         * src/keyboard.c: (internal_border_parts): Define only
8424         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
8426 2017-07-09  R. Bernstein  <rocky@gnu.org>
8428         Add realgud faces faces to whiteboard...
8430         Adjust wheatgrass to use underline for enabled/disabled breakpoints
8432 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
8434         Optimize UCS normalization tests
8436         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
8437         * test/lisp/international/ucs-normalize-tests.el
8438         (ucs-normalize-tests--parse-column): Use character instead of string
8439         of length 1 for terminator.  Convert return value into string since
8440         all callers need that form anyway.
8441         (ucs-normalize-tests--normalization-equal-p): Rename from
8442         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
8443         messing with narrowing.  Take string to compare against and insert it
8444         into buffer so that compare-buffer-substrings can be used instead of
8445         allocating a new string from buffer contents.
8446         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
8447         for comparing single character.
8448         (ucs-normalize-tests--rule1-holds-p)
8449         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
8450         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
8451         `='.
8453 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
8455         Update failing lines for UCS normalize tests
8457         * test/lisp/international/ucs-normalize-tests.el
8458         (ucs-normalize-tests--failing-lines-part2): Update for new
8459         admin/unidata/NormalizationTest.txt version.
8461 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
8463         Semi-automate the procedure for updating UCS normalize test bad lines
8465         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
8466         commentary describing a manual procedure for producing the updated
8467         failing lines, it did not actually work.  Replace it with pointer to
8468         new function which prints the updated values.
8469         (ucs-normalize-tests--rule1-holds-p): Renamed from
8470         ucs-normalize-tests--invariants-hold-p.
8471         (ucs-normalize-tests--rule2-holds-p): Renamed from
8472         ucs-normalize-tests--invariants-rule2-hold-p.
8473         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
8474         ucs-normalize-tests--invariants-failing-for-part.
8475         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
8476         ucs-normalize-tests--invariants-failing-for-lines.
8477         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
8478         (ucs-normalize-part2): Set it.
8479         (ucs-normalize-part1): Always run through to end of test before
8480         checking for failures.
8481         (ucs-normalize-tests--insert-failing-lines)
8482         (ucs-normalize-check-failing-lines): New functions, used to update
8483         the *--failing-lines-part* variables.
8485 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8487         * lisp/cus-start.el (standard): Spelling fix.
8489 2017-07-08  Philipp Stephani  <phst@google.com>
8491         Module assertions: check for garbage collections
8493         It's technically possible to write a user pointer finalizer that calls
8494         into Emacs module functions.  This would be disastrous because it
8495         would allow arbitrary Lisp code to run during garbage collection.
8496         Therefore extend the module assertions to check for this case.
8498         * src/emacs-module.c (module_assert_thread): Also check whether a
8499         garbage collection is in progress.
8501         * test/data/emacs-module/mod-test.c (invalid_finalizer)
8502         (Fmod_test_invalid_finalizer): New test module functions.
8503         (emacs_module_init): Register new test function.
8505         * test/src/emacs-module-tests.el (module--test-assertion)
8506         (module--with-temp-directory): New helper macros.
8507         (module--test-assertions--load-non-live-object): Rename existing
8508         unit test, use helper macros.
8509         (module--test-assertions--call-emacs-from-gc): New unit test.
8511 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
8513         Capitalize the menu entry for display-line-numbers
8515         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
8516         for display-line-numbers.  Suggested by Martin Rudalics
8517         <rudalics@gmx.at>.
8519 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
8521         Update Unicode data and files to Unicode 10.0
8523         * admin/notes/unicode:
8524         * admin/unidata/README:
8525         * admin/unidata/BidiBrackets.txt:
8526         * admin/unidata/BidiMirroring.txt:
8527         * admin/unidata/Blocks.txt:
8528         * admin/unidata/IVD_Sequences.txt:
8529         * admin/unidata/NormalizationTest.txt:
8530         * admin/unidata/SpecialCasing.txt:
8531         * admin/unidata/UnicodeData.txt:
8532         * lisp/international/characters.el:
8533         * lisp/international/fontset.el (script-representative-chars):
8534         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
8536 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
8538         Support '=' in Scheme and Lisp tags in 'etags'
8540         * lib-src/etags.c (get_lispy_tag): New function.
8541         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
8542         * test/manual/etags/CTAGS.good:
8543         * test/manual/etags/ETAGS.good_1:
8544         * test/manual/etags/ETAGS.good_2:
8545         * test/manual/etags/ETAGS.good_3:
8546         * test/manual/etags/ETAGS.good_4:
8547         * test/manual/etags/ETAGS.good_5:
8548         * test/manual/etags/ETAGS.good_6:
8549         * test/manual/etags/Makefile:
8550         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
8551         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
8553 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
8555         Avoid compiler warnings in xdisp.c debugging code
8557         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
8558         Use pD directives for ptrdiff_t values instead of pI, to avoid
8559         compilation warnings on 64-bit hosts.  (Bug#27597)
8561 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
8563         Commentary enhancement in frame.el
8565         * lisp/frame.el: Explain how to test whether a variable needs to
8566         be added to the list of those which are watched for buffer
8567         redisplay.
8569 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
8571         Support display of line numbers natively
8573         This merges branch 'line-numbers'.
8574         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
8575         function.
8576         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
8577         * src/dispextern.h (struct it): New members pt_lnum, lnum,
8578         lnum_bytepos, lnum_width, and lnum_pixel_width.
8579         * src/indent.c (line_number_display_width): New function,
8580         refactored from line-number width calculations in vertical-motion.
8581         (Fvertical_motion): Call line_number_display_width when the width
8582         of line-number display is needed.
8583         (Fline_number_display_width): New defun.
8584         (syms_of_indent): Defsubr it.
8585         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
8586         the width used up by line numbers by looking near the window-start
8587         point.  If window-start is outside of the accessible portion,
8588         temporarily widen the buffer.
8589         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
8590         space taken by the line-number display.
8591         * src/xdisp.c (display_count_lines_logically)
8592         (display_count_lines_visually, maybe_produce_line_number)
8593         (should_produce_line_number, row_text_area_empty): New functions.
8594         (try_window_reusing_current_matrix): Don't use this method when
8595         display-line-numbers is in effect.
8596         (try_window_id, try_cursor_movement): Disable these optimizations
8597         when the line-number-current-line face is different from
8598         line-number face and for relative line numbers.
8599         (try_window_id, redisplay_window, try_cursor_movement): For
8600         visual line-number display, disable the same redisplay
8601         optimizations as for relative.
8602         (x_produce_glyphs): Adjust tab stops for the horizontal
8603         space taken by the line-number display.
8604         (hscroll_window_tree): Adjust hscroll calculations to line-number
8605         display.
8606         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
8607         math.h; all users changed.
8608         (set_cursor_from_row): Fix calculation of cursor X coordinate in
8609         R2L rows with display-produced glyphs at the beginning.
8610         (display_line): Use should_produce_line_number to determine
8611         whether a line number should be produced for each glyph row, and
8612         maybe_produce_line_number to produce line numbers.
8613         Don't display line numbers in the minibuffer and in tooltip
8614         frames.
8615         Call row_text_area_empty to verify that a glyph
8616         row's text area is devoid of any glyphs that came from a buffer or
8617         a string.  This fixes a bug with empty-lines indication
8618         disappearing when line numbers or line-prefix are displayed.
8619         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
8620         <display-line-number-width>: New buffer-local variables.
8621         <display-line-numbers-current-absolute>: New variable.
8623         * lisp/cus-start.el (standard): Provide customization forms for
8624         display-line-numbers and its sub-features.
8625         * lisp/faces.el (line-number, line-number-current-line): New faces.
8626         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
8627         display-line-numbers-current-absolute, and
8628         display-line-number-width to the list of variables that should
8629         trigger redisplay of the current buffer.
8630         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
8631         turn display-line-numbers on and off.
8632         (toggle-display-line-numbers): New function.
8633         * lisp/simple.el (last--line-number-width): New internal variable.
8634         (line-move-visual): Use it to adjust temporary-goal-column when
8635         line-number display changes its width.
8637         * doc/emacs/basic.texi (Position Info): Add cross-reference to
8638         "Display Custom", for line-number display.
8639         * doc/emacs/custom.texi (Init Rebinding):
8640         * doc/emacs/modes.texi (Minor Modes): Remove references to
8641         linum-mode.
8642         * doc/emacs/display.texi (Display Custom): Describe the
8643         line-number display.
8644         * doc/lispref/display.texi (Size of Displayed Text): Document
8645         line-number-display-width.
8647         * etc/NEWS: Document display-line-numbers and its customizations.
8649 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8651         Fix more ungetc bugs with encoding errors
8653         * src/lread.c (infile): New variable, replacing ...
8654         (instream): ... this.  All uses changed.
8655         (readbyte_from_stdio): New function, which deals with lookahead.
8656         (readbyte_from_file, Fget_file_char): Use it.
8657         (Fget_file_char): When misused, signal an error instead of
8658         relying on undefined behavior.
8659         (close_infile_unwind): New function.
8660         (Fload): Use it.
8661         (readevalloop): 2nd arg is now struct infile *, not FILE *.
8662         All callers changed.
8663         (read1): Handle lookahead when copying doc strings with
8664         encoding errors.
8666 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8668         Avoid ungetc when loading charset maps from files
8670         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
8671         replacing the old EOF.  All callers changed.  This avoids the
8672         need to call ungetc.
8674 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8676         Fix ungetc bug when reading an encoding error
8678         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
8679         error when reading an encoding error from a file, e.g., a symbol
8680         in an .elc file whose name is "\360\220\200\360".
8682 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8684         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
8686         * lisp/window.el (display-buffer--special-action): Use a closure.
8688 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
8690         Add new todo-mode.el tests
8692         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
8693         Declare an Edebug spec.  Restore pre-test-run state of test files.
8694         (todo-test--show, todo-test--move-item)
8695         (todo-test--insert-item): New functions.
8696         (todo-test-get-archive): Remove, as subsumed by
8697         todo-test--show.  Adjust all callers.
8698         (todo-test--is-current-buffer): Rename from
8699         todo-test-is-current-buffer and adjust uses.
8700         (todo-test-item-highlighting): Use todo-test--show.
8701         (todo-test-revert-buffer01, todo-test-revert-buffer02)
8702         (todo-test-raise-lower-priority)
8703         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
8704         (todo-test-move-item02, todo-test-move-item03)
8705         (todo-test-move-item04, todo-test-move-item05)
8706         (todo-test-toggle-item-header01)
8707         (todo-test-toggle-item-header02)
8708         (todo-test-toggle-item-header03)
8709         (todo-test-toggle-item-header04)
8710         (todo-test-toggle-item-header05)
8711         (todo-test-toggle-item-header06)
8712         (todo-test-toggle-item-header07): New tests.
8714         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
8715         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
8716         Modify to accommodate new tests.
8718 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
8720         todo-mode.el: Fix handling of hidden item headers (bug#27609)
8722         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
8723         (todo-toggle-item-header): Use it.  Make this command a noop
8724         if the file has no items.
8725         (todo-move-item, todo-item-done): Instead of concatenating the
8726         items to move into one string, make a list of them to
8727         facilitate handling hidden headers.  Adjust insertion accordingly.
8728         (todo-archive-done-item): Handle hidden headers in archive file.
8729         (todo-unarchive-items): Handle hidden headers in todo file.
8730         (todo-backward-item): Use todo--item-headers-hidden and handle
8731         moving backward work when item date-time headers are hidden.
8732         (todo-remove-item): Delete date-time header overlay.
8733         (todo-get-overlay, todo-insert-with-overlays): Make them work
8734         with hidden date-time headers.
8735         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
8737 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
8739         Fix several todo-mode bugs found while debugging bug#27609
8741         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
8742         current category only once.
8743         (todo-mark-category): Update number of marked items to avoid
8744         spurious duplication in todo-categories-with-marks alist and
8745         corruption of the todo-categories alist.  Handle empty line
8746         when there are no todo items and done items are shown.
8747         (todo-set-item-priority): Make noop if called from
8748         todo-raise-item-priority or todo-lower-item-priority when
8749         point is on a done todo item or an empty line.
8750         (todo-move-item): Use markers instead of integer positions to
8751         correctly handle deleting the now moved items from the source
8752         category (without markers an infinite loop arises when moving
8753         marked item to a preceding category).
8754         (todo-unarchive-items): Put point on the (first) restored done
8755         item, instead of leaving it at the end of the done items
8756         separator string.
8757         (todo-revert-buffer): Ensure buffer remains read-only after
8758         reverting.
8760 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
8762         Exclude blank columns from value of line-number-display-width
8764         * src/indent.c (Fline_number_display_width): Don't add 2 to the
8765         number of columns we return, to make this consistent with
8766         display-line-number-width.
8768 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
8770         Fix vertical-motion across the place where line-number width changes
8772         * src/indent.c (line_number_display_width): New function,
8773         refactored from line-number width calculations in vertical-motion.
8774         (Fvertical_motion): Call line_number_display_width when the width
8775         of line-number display is needed.
8776         (Fline_number_display_width): New defun.
8777         (syms_of_indent): Defsubr it.
8779         * doc/lispref/display.texi (Size of Displayed Text): Document
8780         line-number-display-width.
8782         * etc/NEWS: Mention line-number-display-width.
8784         * lisp/simple.el (last--line-number-width): New internal variable.
8785         (line-move-visual): Use it to adjust temporary-goal-column when
8786         line-number display changes its width.
8788 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
8790         Remove Vwindow_text_change_functions and related code
8792         Vwindow_text_change_functions had been provided for implementing
8793         line numbers but apparently was never functional or in use.
8795         * src/xdisp.c (redisplay_window): Remove handling of
8796         Vwindow_text_change_functions.
8797         (syms_of_xdisp): Remove Qwindow_text_change_functions.
8798         (Vwindow_text_change_functions): Remove variable.
8799         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
8800         `window-text-change-functions'.
8802 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
8804         Convert more uses of looking-at to following-char
8806         More followup to Karl Fogel's commit a84da83c1.
8807         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
8808         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
8809         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
8810         * lisp/proced.el (proced-toggle-marks):
8811         * lisp/progmodes/f90.el (f90-indent-line):
8812         * lisp/ses.el (ses-load):
8813         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
8814         char comparisons using following-char.
8816 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
8818         Don't skip epg tests (Bug#23561)
8820         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
8821         parameter, since we supply the passphrase via pinentry-program for all
8822         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
8823         program (Bug#23619)").
8824         (epg-tests-program-alist-for-passphrase-callback): Remove.
8826 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
8828         Implement line numbers that disregard narrowing
8830         * src/xdisp.c (display_count_lines_logically): New function,
8831         counts line numbers disregarding narrowing.  Suggested by Andy
8832         Moreton <andrewjmoreton@gmail.com>.
8833         (maybe_produce_line_number): Call display_count_lines_logically
8834         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
8835         display-line-numbers-widen.
8836         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
8837         variable.
8839         * lisp/cus-start.el (standard): Provide a customization form for
8840         display-line-numbers-widen.
8841         * lisp/frame.el: Add display-line-numbers-widen,
8842         display-line-numbers-current-absolute, and
8843         display-line-number-width to the list of variables that should
8844         trigger redisplay of the current buffer.
8846         * doc/emacs/display.texi (Display Custom): Document
8847         display-line-numbers-widen.
8849 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
8851         Fix lisp-comment-indent for single-semicolon case
8853         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
8854         open paren if we're looking at multiple comment characters.
8855         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
8856         (lisp-comment-indent-2): New tests.
8858 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8860         Spelling fixes
8862         * lisp/org/org-table.el (org-table-sort-lines):
8863         Fix misspelling in prompt.
8864         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
8865         Fix misspelling in call to org-element-lineage.
8867 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
8869         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
8871         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
8872         line's code ends in open paren, set comment indentation exactly to
8873         column following it.
8874         (lisp-mode-variables): Set `comment-indent-function' to
8875         `lisp-comment-indent'.
8877 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
8879         Allow comment-indent-functions to specify exact indentation (Bug#385)
8881         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
8882         integers as indicating a range of acceptable indentation.
8883         (comment-indent): Don't apply `comment-inline-offset',
8884         `comment-choose-indent' already does that.
8885         (comment-indent-function):
8886         * doc/emacs/programs.texi (Options for Comments): Document new
8887         acceptable return values.
8888         * etc/NEWS: Announce it.
8890 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8892         Check for integer overflow in xbm images
8894         * src/image.c (XBM_TK_OVERFLOW): New constant.
8895         (xbm_scan): Check for integer overflow instead of relying on
8896         undefined behavior.  Check that octal digits are actually octal.
8898 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8900         Convert hex digits more systematically
8902         This makes the code a bit smaller and presumably faster, as
8903         it substitutes a single lookup for conditional jumps.
8904         * src/character.c (hexdigit): New constant.
8905         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
8906         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
8907         (hexdigit): New decl.
8908         (char_hexdigit): New inline function.
8909         * src/charset.c: Do not include c-ctype.h.
8910         * src/charset.c (read_hex):
8911         * src/editfns.c (styled_format):
8912         * src/image.c (xbm_scan):
8913         * src/lread.c (read_escape):
8914         * src/regex.c (ISXDIGIT) [emacs]:
8915         Use char_hexdigit insted of doing it by hand.
8917 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8919         Don’t use -Woverride-init
8921         I have some further changes in mind that would also need to
8922         disable the -Woverride-init warnings.  In practice these warnings
8923         seem to be more trouble than they’re worth, so disable them in the
8924         cc command line.
8925         * configure.ac: Disable -Woverride-init here ...
8926         * src/bytecode.c: ... rather than here.
8928 2017-07-05  Glenn Morris  <rgm@gnu.org>
8930         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
8932         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
8934 2017-07-05  Glenn Morris  <rgm@gnu.org>
8936         Small fix for bug-reference.el
8938         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
8939         Autoload safety property.  (Bug#27481)
8941 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
8943         Suppress timers in Tramp
8945         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
8947         * test/lisp/net/tramp-tests.el
8948         (tramp-test36-asynchronous-requests): Trigger timers.
8949         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
8950         Set `default-directory' to a trustworthy value.
8952 2017-07-05  rocky  <rb@dustyfeet.com>
8954         Add realgud face definitions
8956         Add realgud faces to tdsh-dark-theme
8958 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
8960         * lisp/progmodes/cc-awk.el: Mark unused args
8962         * lisp/progmodes/cc-bytecomp.el: Mark unused args
8964 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
8966         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
8968         ... before first use
8970 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
8972         * lisp/progmodes/cc-vars.el: Mark unused args
8974 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
8976         * lisp/progmodes/cc-langs.el: Mark unused args
8978         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
8979         unambiguous-prefix-ops.
8981 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
8983         * lisp/progmodes/cc-engine.el: Mark unused args
8985         (c-beginning-of-statement-1, c-guess-basic-syntax):
8986         Remove unused var c-in-literal-cache.
8987         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
8988         (c-append-to-state-cache): Remove unused var `bra+1s'.
8989         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
8990         (c-invalidate-state-cache-1): Remove unused var `pa'.
8991         (c-forward-decl-or-cast-1): Change comments so they don't look like
8992         outline headers.
8993         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
8994         Declare before first use.
8995         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
8996         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
8998 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9000         * lisp/progmodes/cc-cmds.el: Remove unused vars
9002         (c-syntactic-context): Declare as dynbound.
9003         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
9005 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9007         * lisp/progmodes/cc-guess.el: Remove unused var
9009         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
9010         and computed variable `guessed-syntactic-symbols'.
9012 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9014         * lisp/progmodes/cc-align.el: Mark unused arguments
9016 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9018         * lisp/progmodes/cc-mode.el: Mark unused arguments
9020         (c-parse-quotes-before-change, c-parse-quotes-after-change):
9021         Remove unused vars.
9023 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
9025         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
9027         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
9028         and `ffap-url-unwrap-remote'.
9030 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
9032         Fix infloop in uncomment-region-default (Bug#27112)
9034         When `comment-continue' has only blanks, `comment-padright' produces a
9035         regexp that matches the empty string, so `uncomment-region-default'
9036         will loop infinitely.
9037         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
9038         has nonblank characters.
9040 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
9042         Fix display of current line number in visual mode
9044         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
9045         of current line when line-number-current-line face was customized.
9046         Reported by Filipe Silva <filipe.silva@gmail.com>.
9048 2017-07-03  Philipp Stephani  <phst@google.com>
9050         Use hook instead of face list to inhibit electric quoting
9052         This is more flexible and doesn't couple electric quoting to font
9053         locking.
9054         Give that 'electric-quote-code-faces' was just introduced, remove it
9055         without formal deprecation.
9057         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
9058         hook variable.
9059         (electric-quote-post-self-insert-function): Run the hook.  Remove
9060         use of old 'electric-quote-code-faces' variable.
9062         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
9063         (electric-quote-markdown-in-code): Adapt unit tests.
9065 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
9067         Offer non-aligned indentation in lists in js-mode (Bug#27503)
9069         * lisp/progmodes/js.el (js--proper-indentation):
9070         New customization option 'js-indent-align-list-continuation'.
9071         Affects argument lists as well as arrays and object properties.
9072         * test/manual/indent/js-indent-align-list-continuation-nil.js:
9073         Test the change.
9075 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
9077         Avoid errors in vertical-motion when buffer is narrowed
9079         * src/indent.c (Fvertical_motion): If need to start from
9080         window-start, and it is outside of the accessible portion,
9081         temporarily widen the buffer.  This avoids errors in evil-mode.
9082         Reported by James Nguyen <james@jojojames.com>.
9084 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
9086         (Re-)activate remote tests of filenotify-tests.el
9088         * test/lisp/filenotify-tests.el
9089         (file-notify-test-remote-temporary-file-directory):
9090         Declare default host for mock method.  Offer home directory
9091         for mock method if it doesn't exist.
9092         (file-notify-test09-watched-file-in-watched-dir-remote):
9093         Remove, it doesn't work reliably.
9095 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
9097         Reset ansi escape context before printing eshell prompt (Bug#27407)
9099         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
9100         `ansi-color-context-region'.
9102 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
9104         Let ansi-color overlay hooks work in eshell (Bug#27407)
9106         * lisp/ansi-color.el (ansi-color-make-extent): Add
9107         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
9108         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
9109         `inhibit-modification-hooks' to nil while inserting the string.
9111 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
9113         Fix and simplify ansi escape detection (Bug#21381)
9115         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
9116         Remove.
9117         (ansi-color-control-seq-regexp): New constant, matches all escape
9118         sequences.
9119         (ansi-color-filter-apply, ansi-color-apply)
9120         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
9121         of matching color sequences separately from ignored sequences.
9122         Differentiate color sequences simply by checking the last character.
9124 2017-07-03  Damien Cassou  <damien@cassou.me>
9126         Add absolute optional parameter to line-number-at-pos (Bug#26417)
9128         * lisp/simple.el (line-number-at-pos): Add a second optional
9129           argument 'absolute'.
9130         * test/list/simple-tests.el: Add tests for 'line-number-at-pos'.
9132 2017-07-03  R. Bernstein  <rocky@gnu.org>
9134         Add realgud faces
9136 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
9138         Fix tramp-tests.el for hydra
9140         * test/Makefile.in: Remove instrumentation for tramp-tests.
9142         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
9143         Remove instrumentation.  Wrap with a timeout.  Give hydra
9144         another timer value.  Set `default-directory' in timer.
9146 2017-07-03  Bastien  <bzg@gnu.org>
9148         Merge branch 'master' into scratch/org-mode-merge
9150         Merge branch 'master' into scratch/org-mode-merge
9152 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
9154         dired-do-shell-command: Fix check for wildcards
9156         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
9157         and '`?' i.e., keep the whitespaces.
9158         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
9160 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
9162         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
9164         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
9165         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
9166         split out from `shr-copy-url'.
9167         (shr-copy-url): Only copy the url, don't fetch it.
9168         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
9169         has the same behavior as the old `shr-copy-url'.
9170         * etc/NEWS: Announce changes.
9172 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
9174         Make eww-search-words prompt for query if nothing selected
9176         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
9177         user for a search query if the region is inactive or if the region is
9178         just whitespace.
9180 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
9182         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
9184         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
9185         * lisp/help-fns.el (describe-variable): No need to let-bind
9186         `cl-print-compiled-button' to t anymore.
9188 2017-07-02  Philipp Stephani  <phst@google.com>
9190         Electric quotes: Improve support for Markdown mode (Bug#24709)
9192         Introduce a new user option 'electric-quote-context-sensitive'.  If
9193         non-nil, have ' insert an opening quote if sensible.
9195         Also introduce a new variable 'electric-quote-code-faces'.  Major
9196         modes such as 'markdown-mode' can add faces to this list to treat text
9197         as inline code and disable electric quoting.
9199         * lisp/electric.el (electric-quote-context-sensitive): New user
9200         option.
9201         (electric-quote-code-faces): New variable.
9202         (electric-quote-post-self-insert-function): Treat ' as ` if
9203         desired and applicable; disable electric quoting for given faces.
9205         * test/lisp/electric-tests.el (electric-quote-opening-single)
9206         (electric-quote-closing-single, electric-quote-opening-double)
9207         (electric-quote-closing-double)
9208         (electric-quote-context-sensitive-backtick)
9209         (electric-quote-context-sensitive-bob-single)
9210         (electric-quote-context-sensitive-bob-double)
9211         (electric-quote-context-sensitive-bol-single)
9212         (electric-quote-context-sensitive-bol-double)
9213         (electric-quote-context-sensitive-after-space-single)
9214         (electric-quote-context-sensitive-after-space-double)
9215         (electric-quote-context-sensitive-after-letter-single)
9216         (electric-quote-context-sensitive-after-letter-double)
9217         (electric-quote-context-sensitive-after-paren-single)
9218         (electric-quote-context-sensitive-after-paren-double)
9219         (electric-quote-markdown-in-text)
9220         (electric-quote-markdown-in-code): New unit tests.
9222 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
9224         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
9226 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
9228         Avoid off-by-one errors in column C-n/C-p calculations
9230         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
9231         the width used up by line numbers by looking near the window-start
9232         point.
9234 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
9236         Ask confirmation for all suspicious wildcards
9238         * lisp/dired-aux.el (dired-do-shell-command): Check that all
9239         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
9241 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
9243         Extend dired-do-shell-command substitutions
9245         Substitute "`?`" inside command with the current file name.
9246         See details in:
9247         https://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00618.html
9248         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
9249         Mark as obsolete.
9250         (dired-isolated-string-re): New defun.
9251         (dired--star-or-qmark-p): New predicate.
9252         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
9253         with the current file name.
9254         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
9256 2017-07-02  Alan Mackenzie  <acm@muc.de>
9258         Fix bug in yesterday's CC Mode commit.
9260         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
9261         search has succeded before using the match data.
9262         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
9263         Specify that the position of the extremity of the head or tail is in the
9264         match data.
9266 2017-07-02  Philipp Stephani  <phst@google.com>
9268         Remove FIXME comments about sentinel values
9270         These FIXMEs can't be addressed because they would require breaking
9271         changes to the module API.  Furthermore, other module functions don't
9272         return sentinel values as well, so users generally have to call
9273         non_local_exit_check anyway.
9275         * src/emacs-module.c (module_set_user_ptr)
9276         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
9277         FIXME comments.
9279 2017-07-02  Philipp Stephani  <phst@google.com>
9281         Adapt Lisp reference to reader changes
9283         The reader now warns about some unescaped character literals, but
9284         still allows them for compatibility reasons.  Slightly adapt the
9285         manual to forbid them officially.
9287         * doc/lispref/objects.texi (Basic Char Syntax): Document that
9288         backslashes are now required before some characters.
9290 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
9292         Fix Bug#27502
9294         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
9295         (find-file-hook): Use it.  (Bug#27502)
9296         (auto-revert-remove-current-buffer): New defun.
9297         (auto-revert-mode, auto-revert-buffers): Use it.
9299 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
9301         Let test summary go through even if some logs were not generated
9303         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
9304         for existence of log files before reading.
9306 2017-07-01  Philipp Stephani  <phst@google.com>
9308         * src/module-env-25.h (copy_string_contents): Fix comment.
9310 2017-07-01  Philipp Stephani  <phst@google.com>
9312         Also mark module init function as noexcept if possible
9314         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
9315         possible.
9317 2017-07-01  Philipp Stephani  <phst@google.com>
9319         Improve C++98 compatibility
9321         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
9322         C++98 doesn't allow trailing commas in enumerations.
9324 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
9326         Minor copyedits of manuals regarding bidi conformance
9328         * doc/emacs/mule.texi (Bidirectional Editing):
9329         * doc/lispref/display.texi (Bidirectional Display): Update the
9330         bidi conformance text.
9332 2017-07-01  Alan Mackenzie  <acm@muc.de>
9334         Make C++ digit separators work.  Amend the handling of single quotes generally
9336         Single quotes, even in strings and comments, are now marked with the
9337         "punctuation" syntax-table property, except where they are validly bounding a
9338         character literal.  They are font locked with font-lock-warning-face except
9339         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
9341         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
9342         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
9343         functions/macros.
9345         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
9346         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
9348         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
9349         c-before-after-change-digit-quote from wherever it occurs.  Insert
9350         c-parse-quotes-before-change into the entries for the languages where it is
9351         needed.
9352         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
9353         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
9354         the languages which need it.
9355         (c-has-quoted-numbers): New lang-defconst/-defvar.
9357         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
9358         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
9359         (c-maybe-quoted-number): New defconsts.
9360         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
9361         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
9362         (c-parse-quotes-after-change): New functions.
9364 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
9366         Ignore mouse-movement for describe-key-briefly (Bug#12204)
9368         * lisp/help.el (help-read-key-sequence): Add optional argument ot
9369         ignore `mouse-movement' events.
9370         (describe-key-briefly): Use it.
9371         * doc/emacs/help.texi (Key Help):
9372         * etc/NEWS: Mention that mouse movement is ignored.
9374 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
9376         Refactor key describing commands
9378         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
9379         functions, extracted from `describe-key' and `describe-key-briefly'.
9380         (describe-key, describe-key-briefly): Use them.
9382 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
9384         Improve display of tabs with line numbers
9386         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
9387         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
9389 2017-07-01  Alan Third  <alan@idiocy.org>
9391         Fix threads on NS (bug#25265)
9393         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
9394         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
9395         src/nsterm.m (ns_select): Call thread_select from within ns_select.
9396         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
9397         (ns_send_appdefined): Don't wait for main thread when sending app
9398         defined event.
9399         src/process.c (wait_reading_process_output): Call thread_select from
9400         within ns_select.
9401         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
9402         its event loop using ns_run_loop_break.
9404 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
9406         Avoid slow redisplay under 'visual' mode of line numbers
9408         * src/xdisp.c (display_count_lines_visually): Avoid very slow
9409         redisplay when this function is invoked very far from point.
9410         Reported by Alex <agrambot@gmail.com>.
9412 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
9414         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
9416 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9418         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
9420         (cl--random-state, cl--random-time): Move from cl-lib.el.
9421         (cl-random): Use struct accessors.
9422         (cl-random-state-p): Remove, provided by the defstruct.
9423         (cl-make-random-state): Rewrite to struct constructor.
9425 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9427         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
9429 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9431         Improve documentation of faces related to display-line-numbers
9433         * lisp/faces.el (line-number, line-number-current-line): Warn
9434         against using non-monospaced fonts.
9436 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9438         Fix relative-number display with non-nil display-line-number-width
9440         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
9441         value of display-line-number-width as acceptable.
9442         Handle the case of 'relative' with display-line-number-width
9443         non-nil and smaller than the absolute line number requires.
9444         Reported by Alex <agrambot@gmail.com>.
9446 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
9448         Release Tramp 2.3.2
9450         * doc/misc/tramp.texi (Android shell setup): Show default file name.
9451         Structure section.
9453         * doc/misc/trampver.texi:
9454         * lisp/net/trampver.el: Change version to "2.3.2".
9456         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
9457         Offer home directory for mock method if it doesn't exist.
9459 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9461         Add documentation for display-line-numbers
9463         * doc/emacs/custom.texi (Init Rebinding):
9464         * doc/emacs/modes.texi (Minor Modes): Remove references to
9465         linum-mode.
9466         * doc/emacs/display.texi (Display Custom): Describe the
9467         line-number display.
9468         (Optional Mode Line): Fix the index entry to not conflict with
9469         that in "Display Custom".
9470         * doc/emacs/basic.texi (Position Info): Add cross-reference to
9471         "Display Custom", for line-number display.
9473         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
9474         display-line-numbers-disable in the doc string.
9476         * lisp/cus-start.el (standard): Fix lst change.
9478 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9480         Support displaying zero as the number of the current line
9482         * src/xdisp.c (syms_of_xdisp)
9483         <display-line-numbers-current-absolute>: New variable.
9484         <display-line-numbers>: Doc fix.
9485         (maybe_produce_line_number): Support nil value of
9486         display-line-numbers-current-absolute.
9488         * lisp/cus-start.el (standard): Add customization form for
9489         display-line-numbers-current-absolute.
9491         * etc/NEWS: Document recently introduced features.
9493 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9495         Speed up the visual-mode relative line numbers
9497         * src/xdisp.c (display_count_lines_visually): Introduce a
9498         shortcut: if a relative line number was already calculated for
9499         this iterator object, just increase it instead of the
9500         expensive call to move_it_to.  Argument list changed to pass a
9501         pointer to the iterator object.
9502         (maybe_produce_line_number): Adjust for change in signature of
9503         display_count_lines_visually.  Record the relative line number and
9504         the corresponding byte position in the iterator object also in the
9505         'visual' mode.
9507 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9509         Fix hscrolling with line numbers on TTY frames
9511         * src/xdisp.c (hscroll_window_tree): Correct the X offset
9512         calculations on TTY frames.
9513         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
9514         a kludge using it->lnum_width.
9516 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9518         Fix TAB display when the line-number face uses a smaller/larger font
9520         * src/dispextern.h (struct it): New member lnum_pixel_width.
9521         * src/xdisp.c (maybe_produce_line_number): Compute the width of
9522         the line-number display in pixels.
9523         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
9524         that used it->lnum_width and made assumptions about pixel width.
9526 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
9528         Escape NUL bytes in X selections (Bug#6991)
9530         * lisp/term/w32-win.el (w32--set-selection):
9531         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
9532         "\0".
9533         * doc/emacs/killing.texi: Document new behavior.
9534         * etc/NEWS (times): Announce it.
9536 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
9538         Hide byte code in backtraces (Bug#6991)
9540         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
9541         defaulting to `cl-print'.
9542         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
9543         `prin1'.
9544         * etc/NEWS: Announce it.
9546 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
9548         Don't redundantly cl-print arglist in function docstring again
9550         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
9551         part of docstring.
9552         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
9553         test accordingly.
9555 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
9557         Escape control characters in backtraces (Bug#6991)
9559         * src/print.c (syms_of_print): Add new variable,
9560         print-escape-control-characters.
9561         (print_object): Print control characters with octal escape codes when
9562         print-escape-control-characters is true.
9563         * lisp/subr.el (backtrace):
9564         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
9565         `print-escape-control-characters' to t.
9567 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
9569         Improve ert backtrace recording
9571         Change ert to use the new `backtrace-frames' function instead of
9572         collecting frames one by one with `backtrace-frame'.  Additionally,
9573         collect frames starting from `signal' instead the somewhat arbitrary
9574         "6 from the bottom".  Skipping 6 frames would skip the expression that
9575         actually caused the signal that triggered the debugger.  Possibly 6
9576         was chosen because in the case of a failed test, the triggering frame
9577         is an `ert-fail' call, which is not so interesting.  But in case of a
9578         test throwing an error, this drops the `error' call which is too much.
9580         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
9581         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
9582         code from `debugger-make-xrefs'.
9583         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
9584         `debugger-insert-backtrace'.
9585         (ert--run-test-debugger): Record the backtrace frames starting from
9586         the instigating `signal' call.
9587         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
9588         DO-XREFS parameter.
9589         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
9590         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
9591         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
9592         the backtrace list instead of comparing its string representation.
9593         Expect `signal' to be the first frame.
9595 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
9597         Operate on frame list instead of printed backtrace
9599         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
9600         prints the given backtrace frames.
9601         (debugger-setup-buffer): Use it instead of editing the backtrace
9602         buffer text.
9604 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
9606         Minor fixes
9608         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
9609         line numbers to be displayed in empty lines beyond ZV.
9610         (x_produce_glyphs): Start fixing TAB display in truncated lines.
9612 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
9614         Improve timer handling when Tramp accepts output
9616         * lisp/net/tramp-compat.el: Avoid compiler warning.
9618         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
9619         Remove lock machinery.
9621         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
9622         (tramp-file-name-handler): Add lock machinery from
9623         `tramp-sh-file-name-handler'.  Allow timers to run.
9624         (tramp-accept-process-output): Remove nasty workaround.
9625         Suppress timers.
9627         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
9628         Suppress run in tests.
9629         (tramp--instrument-test-case-p): New defvar.
9630         (tramp--instrument-test-case): Use it in order to allow nested calls.
9631         (tramp--test-message, tramp--test-backtrace): New defsubst,
9632         will be used for occasional test instrumentation.
9633         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
9634         (tramp-test28-shell-command)
9635         (tramp--test-shell-command-to-string-asynchronously): Suppress
9636         nasty messages.  Don't overwrite sentinel.
9637         (tramp-test36-asynchronous-requests): Rewrite major parts.
9638         Expect :passed.
9640 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9642         * lisp/url/url-history.el: Use lexical-binding
9644         (url-completion-function): Mark as obsolete.
9645         Mark unused args accordingly.
9647 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
9649         Don't assume url structs are vectors (Bug#27333)
9651         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
9652         instead of `vectorp'.
9654 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
9656         Replace with dolist some uses of while
9658         * lisp/calc/calc-units.el (calc-permanent-units):
9659         (math-compare-unit-names, math-simplify-units-quotient):
9660         (math-build-units-table-buffer): Use dolist to replace extra bindings
9661         and some while loops.
9663 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
9665         Make tcl-auto-fill-mode obsolete (Bug#10772)
9667         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
9668         * etc/NEWS: Announce it.
9670 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
9672         Don't read eshell/which output from *Help* buffer (Bug#26894)
9674         * lisp/help-fns.el (help-fns--analyse-function)
9675         (help-fns-function-description-header): New functions, extracted from
9676         describe-function-1.
9677         (describe-function-1): Use them.
9678         * lisp/eshell/esh-cmd.el (eshell/which): Use
9679         `help-fns-function-description-header' instead of
9680         `describe-function-1'.
9682 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
9684         Support default-text-properties
9686         * src/xdisp.c (should_produce_line_number): Call get-char-property
9687         at ZV as well, to support default-text-properties.
9689 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
9691         Avoid segfaults when some display vector is an empty string
9693         * src/xdisp.c (next_element_from_display_vector): Don't try
9694         accessing the dpvec[] array if its size is zero.  (Bug#27504)
9696 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
9698         Initial support for visually-relative line numbers
9700         Works very slowly.
9702         * src/xdisp.c (display_count_lines_visually): New function.
9703         (maybe_produce_line_number): Support 'visual' mode of line-number
9704         display.
9705         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
9706         also when glyph_row is NULL.  This is important for move_it_*
9707         functions.
9708         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
9709         (try_window_id, redisplay_window, try_cursor_movement): For
9710         'visual' line-number display, disable the same redisplay
9711         optimizations as for 'relative'.
9713         * lisp/cus-start.el (standard): Add new value for the
9714         customization form of display-line-numbers.
9716 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
9718         Update IT's metrics while simulating display
9720         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
9721         also when glyph_row is NULL.  This is important for move_it_*
9722         functions.
9724 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
9726         Fix bug in handling GnuPG's TRUST_MARGINAL status
9728         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
9729         to `good'.
9731 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
9733         Prefer `when' instead of 1-branch `if'
9735         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
9736         in local variable ok.
9737         Use `when' instead of 1-branch `if'.
9739 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
9741         Use #' instead of (function ...)
9743         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
9744         (dired-mark-confirm, dired-query, dired-byte-compile)
9745         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
9746         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
9747         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
9748         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
9749         (dired-do-copy-regexp, dired-do-hardlink-regexp)
9750         (dired-do-symlink-regexp, dired-create-files-non-directory)
9751         (dired-upcase, dired-downcase)
9753         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
9754         (dired-internal-do-deletions, dired-internal-do-deletions):
9755         Prefer #' instead of (function ...).
9757 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
9759         Don't quote lambda forms
9761         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
9762         (dired-mark, dired-desktop-buffer-misc-data)
9764         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
9765         (dired-create-files-non-directory, dired-insert-subdir-validate)
9766         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
9768 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
9770         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
9772         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
9773         and `brackets-after-id'.
9774         (c-font-lock-objc-methods): Mark unused args.
9776 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9778         Omit null-pointer test in intervals.h FRAME
9780         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
9781         (INTERVAL_LAST_POS): Omit unnecessary parens.
9782         (LENGTH): Omit test for null pointer.  The argument is never null.
9783         The unnecessary test causes GCC 7.1.0 to assume that the argument
9784         might be null, and therefore to issue false alarms when the
9785         argument is dereferenced in other expressions.
9787 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9789         Parenthesize frame.h macro definitions
9791         * src/frame.h (FRAME_TOOL_BAR_POSITION)
9792         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
9793         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
9794         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
9795         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
9796         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
9797         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
9798         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
9799         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
9800         to allow arbitrary expression arguments.
9802 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9804         Port recent frame changes to GCC 7
9806         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
9807         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
9808         might return null.  This also avoids a run-time test.
9810 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
9812         Minor aesthetic fix of last change.
9814 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
9816         Allow to disable display of line numbers beyond EOB
9818         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
9819         function.
9820         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
9821         * src/xdisp.c (should_produce_line_number): When at ZV, call
9822         disable_line_numbers_overlay_at_eob to determine whether line
9823         numbers should be displayed beyond ZV.
9825 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
9827         Fix Android 6/7 problems in Tramp
9829         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
9830         (tramp-adb-handle-directory-files-and-attributes)
9831         (tramp-adb-handle-file-name-all-completions): Insert "."  and
9832         ".." only when needed.
9833         (tramp-adb-get-ls-command): Force one column output for toybox.
9835 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
9837         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
9839 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
9841         Fix line number display for overlay/display strings with newlines
9843         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
9844         producing space glyphs instead of a line number to include the
9845         case of display strings and overlays.
9847 2017-06-25  Alan Mackenzie  <acm@muc.de>
9849         Make CC Mode load cl-lib rather than cl in Emacs 26.
9851         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
9852         variable.
9854         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
9855         (c--cl-library): New variable.
9856         (Top level): Amend the form which requires library cl or cl-lib.
9857         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
9858         (c--delete-duplicate): Amend to use c--cl-library instead of
9859         c--mapcan-status.
9861         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
9862         (c-back-over-compound-identifier): Remove unused local variables.
9864         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
9865         local variable.
9867         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
9868         of c--mapcan-status.
9870         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
9871         silence a compiler warning.
9873 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
9875         Provide additional support for child frames
9877         Provide mouse dragging and resizing of frames.  Allow resizing
9878         frames proportionally.  Provide additional functionality for
9879         child frames.  Minor bug fixes.
9881         * lisp/frame.el (frame-border-width, frame-pixel-width)
9882         (frame-pixel-height): Alias to `frame-internal-border-width',
9883         `frame-native-width' and `frame-native-height'.
9884         (frame-inner-width, frame-inner-height, frame-outer-width)
9885         (frame-outer-height): New functions.
9886         * lisp/minibuffer.el (completion-auto-help): Fix typo.
9887         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
9888         (mouse-drag-header-line): Allow moving a frame by dragging the
9889         mode line of its bottommost window (on a minibuffer-less frame)
9890         or the header line of its topmost window.
9891         (mouse-drag-vertical-line): Mention argument in doc-string.
9892         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
9893         (mouse-drag-top-left-corner, mouse-drag-top-edge)
9894         (mouse-drag-top-right-corner, mouse-drag-right-edge)
9895         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
9896         (mouse-drag-bottom-left-corner): New functions for resizing a
9897         frame by dragging its internal border together with
9898         corresponding key bindings.
9899         * lisp/tooltip.el (tooltip-frame-parameters): Add
9900         'no-special-glyphs' to default parameters and update version
9901         tag.
9902         * lisp/window.el (frame-auto-hide-function): Add choice to make
9903         frame invisible and update version tag.
9904         (window--delete): Handle 'auto-hide-function' frame parameter.
9905         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
9906         'no-accept-focus' frame parameters.
9907         (display-buffer--action-function-custom-type): Add
9908         `display-buffer-in-child-frame'.
9909         (display-buffer): Mention `display-buffer-in-child-frame' in
9910         doc-string.
9911         (display-buffer-in-child-frame): New action function for
9912         `display-buffer'.
9913         (window--sanitize-margin): Return zero when MARGIN cannot be
9914         sanitized.
9915         (fit-frame-to-buffer): Major rewrite to handle child frames and
9916         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
9917         frame parameters.
9918         (window-largest-empty-rectangle--maximums-1)
9919         (window-largest-empty-rectangle--maximums)
9920         (window-largest-empty-rectangle--disjoint-maximums)
9921         (window-largest-empty-rectangle): New functions.
9923         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
9924         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
9925         provided by corresponding functions window_wants_modeline and
9926         window_wants_header_line in window.c.  Adjust users.
9927         * src/dispnew.c (adjust_glyph_matrix)
9928         (buffer_posn_from_coords): Use window_wants_modeline and
9929         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
9930         WINDOW_WANTS_HEADER_LINE_P.
9931         * src/frame.c (keep_ratio): New function.
9932         (adjust_frame_size): Call keep_ratio for each of F's child
9933         frames.
9934         (make_frame): Initialize no_special_glyphs slot.
9935         (frame_internal_border_part): New function.
9936         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
9937         to Fframe_native_width, Fframe_native_height mand
9938         Fframe_internal_border_width.
9939         (frame_parm_table): Add Qno_special_glyphs entry.
9940         (frame_float_type): New enumeration type.
9941         (frame_float): New function to handle frame size and position
9942         ratios.
9943         (x_set_frame_parameters): Handle size and position ratios.
9944         (x_set_no_special_glyphs): New function
9945         (x_figure_window_size): Handle size and position ratios.
9946         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
9947         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
9948         Qheight_only, Qleft_only and Qtop_only.
9949         * src/frame.h (internal_border_part): New enumeration type.
9950         (struct frame): New slot no_special_glyphs.
9951         (FRAME_NO_SPECIAL_GLYPHS): New macro.
9952         * src/gtkutil.c (xg_frame_restack): Return immediately for
9953         GTK versions before 2.18.0.
9954         * src/keyboard.c (internal_border_parts): New array constant.
9955         (make_lispy_position): For frames with border dragging enabled
9956         return internal border part.
9957         (syms_of_keyboard): New symbols Qdrag_internal_border,
9958         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
9959         Qright_edge, Qbottom_right_corner, Qbottom_edge and
9960         Qbottom_left_corner.
9961         * src/minibuf.c (read_minibuf_unwind): When exiting the
9962         minibuffer deal with frames that have the 'minibuffer-exit'
9963         parameter set.
9964         (syms_of_minibuf): New symbol Qminibuffer_exit.
9965         * src/nsfns.m (frame_parm_handler): Add entry for
9966         x_set_no_special_glyphs.
9967         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
9968         Intitialize new cursor types for dragging frame borders.
9969         * src/nsterm.h (struct ns_output): Add new cursor types for
9970         dragging frame borders.
9971         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
9972         x_set_no_special_glyphs.
9973         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
9974         Intitialize new cursor types for dragging frame borders.
9975         * src/w32term.h (struct w32_output): Add new cursor types for
9976         dragging frame borders.
9977         * src/window.c (coordinates_in_window)
9978         (Fwindow_line_height, window_internal_height): Use
9979         window_wants_modeline and window_wants_header_line instead of
9980         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
9981         (Fwindow_lines_pixel_dimensions): New function.
9982         (window_parameter): New function.
9983         (Fwindow_parameter): Call window_parameter.
9984         (window_wants_mode_line, window_wants_header_line): New
9985         functions replacing the macros WINDOW_WANTS_MODELINE_P and
9986         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
9987         (syms_of_window): New symbols Qmode_line_format and
9988         Qheader_line_format.
9989         * src/window.h: Reorganize and re-comment macros.  Use
9990         window_wants_modeline and window_wants_header_line instead of
9991         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
9992         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
9993         (WINDOW_BUFFER): New macro.
9994         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
9995         * src/xdisp.c (window_text_bottom_y, window_box_height)
9996         (window_box, start_display)
9997         (compute_window_start_on_continuation_line)
9998         (try_cursor_movement, redisplay_window)
9999         (try_window_reusing_current_matrix, try_window_id)
10000         (display_line, expose_window): Use window_wants_modeline and
10001         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10002         WINDOW_WANTS_HEADER_LINE_P.
10003         (pos_visible_p, display_mode_lines): Respect W's
10004         'mode-line-format' and 'header-line-format' window parameters.
10005         (init_iterator): Use window_wants_modeline and
10006         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10007         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
10008         no_special_glyphs value.
10009         (note_mouse_highlight): Set frame border cursors when on
10010         internal border.
10011         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
10012         drawing of window dividers.
10013         * src/xfns.c (mouse_cursor): Add entries for border parts.
10014         (mouse_cursor_types): Add entries for cursor types to drag
10015         frame borders.
10016         (INSTALL_CURSOR): Add entries for new cursor types to drag
10017         frame borders.
10018         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
10019         (x_frame_parm_handlers): Add entry for
10020         x_set_no_special_glyphs.
10021         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
10022         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
10023         (Vx_window_right_edge_shape)
10024         (Vx_window_bottom_right_corner_shape)
10025         (Vx_window_bottom_edge_shape)
10026         (Vx_window_bottom_left_corner_shape): New variables.
10027         (x_frame_restack): Call xg_frame_restack only for GTK versions
10028         starting with 2.18.0.
10029         * src/xterm.c (x_free_frame_resources): Remove new cursors for
10030         dragging frame borders.
10031         * src/xterm.h (struct x_output): Add new cursor types for
10032         dragging frame borders.
10034         * doc/lispref/display.texi (Size of Displayed Text): Document
10035         `window-lines-pixel-dimensions'.
10036         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
10037         Parameters".
10038         * doc/lispref/frames.texi (Frame Size): Replace
10039         frame-pixel-width/-height by frame-native-width/-height.  Add
10040         frame-inner-width/-height and frame-outer-width/-height docs.
10041         (Position Parameters): Describe specifying position as ratios.
10042         Clarify remark about positions relative to bottom/ridge display
10043         edge.
10044         (Size Parameters): Describe specifying sizes as ratios.
10045         Describe 'fit-frame-to-buffer-margins' and
10046         'fit-frame-to-buffer-sizes' parameters.
10047         (Layout Parameters): Describe 'no-special-glyphs' parameter.
10048         (Frame Interaction Parameters): Describe 'auto-hide-function',
10049         'minibuffer-exit' and 'keep-ratio' parameters.
10050         (Mouse Dragging Parameters): New section describing
10051         'drag-internal-border', 'drag-with-header-line',
10052         'drag-with-mode-line', 'snap-width', 'top-visible' and
10053         'bottom-visible' parameters.
10054         (Management Parameters): Mention that `override-redirect' has
10055         no effect on MS Windows.
10056         (Font and Color Parameters): Mention child frames for `alpha'
10057         parameter.
10058         (Child Frames): Rewrite section with description and cross
10059         references to new frame parameters added.
10060         * doc/lispref/modes.texi (Mode Line Basics): Mention
10061         'mode-line-format' and 'header-line-format' window parameters.
10062         * doc/lispref/windows.texi (Resizing Windows): Mention effect
10063         of `fit-frame-to-buffer-margins' for child frames.
10064         (Display Action Functions): New action function
10065         `display-buffer-in-child-frame'.
10066         (Quitting Windows): Mention `make-frame-invisible' as optional
10067         value of `frame-auto-hide-function' and `auto-hide-function'
10068         frame paameter.
10069         (Coordinates and Windows): Describe new function
10070         `window-largest-empty-rectangle'.
10071         (Window Parameters): Describe new parameters 'mode-line-format'
10072         and 'header-line-format'.  Index all window parameters described
10073         in this section.
10075 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10077         Adjust lm-verify to accept current notices
10079         Problem reported by Mike Kupfer in:
10080         http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00512.html
10081         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
10082         Do not require later lines in a copyright notice to have more
10083         indentation than earlier lines.
10085 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10087         Minor change in NEWS.
10089         Improve documentation in NEWS.
10091 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10093         Move additional hscrolling code into a suitable 'if'
10095         * src/xdisp.c (hscroll_window_tree): Make additional calculations
10096         regarding glyphs produced for line numbers conditional on
10097         line-number display.
10099 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10101         Partial fix of hscroll of truncated lines with line numbers
10103         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
10104         hscroll calculations to line-number display.
10105         * src/term.c (produce_glyphs): Adjust tab stop to window's
10106         hscroll.  These two changes fix horizontal scrolling when line
10107         numbers are displayed.  But there's still a bug: the horizontal
10108         shift of lines that begin with a TAB is different from the rest.
10109         * src/xdisp.c (move_it_in_display_line_to): Call
10110         should_produce_line_number to determine whether a line number
10111         should be produced for this screen line.
10113 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
10115         Don't change byte-compile-delete-errors at runtime (Bug#27340)
10117         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
10118         time.
10120 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10122         Allow Lisp program to disable line-number display for specific lines
10124         * etc/NEWS: Update the documentation.
10126         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
10127         symbol.
10128         (should_produce_line_number): New function.
10129         (display_line): Use should_produce_line_number to determine
10130         whether a line number should be produced for each glyph row.
10132 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10134         * lisp/net/html2text.el: Move to obsolete/.
10136 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10138         Support a separate face for displaying the current line's number
10140         * lisp/faces.el (line-number-current-line): New face.
10142         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
10143         symbol.
10144         (try_window_id, try_cursor_movement): Disable these optimizations
10145         when the line-number-current-line face is different from
10146         line-number face.
10147         (maybe_produce_line_number): Display the current line in the
10148         line-number-current-line face, if it's different from line-number.
10150 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10152         Change display of current line in relative mode
10154         * src/xdisp.c (maybe_produce_line_number): In relative mode
10155         display the current line number as its absolute value, not as zero.
10157 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10159         Rename display-line-width
10161         * etc/NEWS:
10162         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
10163         * lisp/cus-start.el: Rename display-line-width to
10164         display-line-number-width.
10166 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10168         Fix tab stops when line numbers are displayed
10170         * src/xdisp.c (x_produce_glyphs):
10171         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
10172         space taken by the line-number display.
10174 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10176         Fix crashes on TTY frames due to negative lnum_width.
10178         Don't display line numbers in the minibuffer and in tooltip frames.
10180 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10182         Fix problems with line-number updates in Follow mode
10184         * src/xdisp.c (redisplay_window): If forced window-start requires
10185         to move a window's point, and the window is under relative
10186         line-number display, force another round of redisplay to update
10187         the relative line numbers.  This fixes follow-mode "redisplay" of
10188         its window group.
10190         * lisp/frame.el: Add display-line-numbers to the list of variables
10191         that should trigger redisplay of the current buffer.
10193 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10195         Fix display of line numbers with fonts larger than the default
10197         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
10198         IT, not in IT->glyph_row, since the latter gets overwritten in
10199         display_line.  Fixes display of line numbers when the font used
10200         for them is larger than that of the default face.
10202 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
10204         Fix background color beyond EOB and cursor display
10206         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
10207         for background of the blank glyphs in the line-number area which
10208         are drawn beyond EOB.
10209         (display_line): Reset the glyph row's displays_text_p flag only on
10210         empty lines that don't display line numbers.  This fixes cursor
10211         display beyond EOB.  Fix the bidi information in the glyphs
10212         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
10213         produced for line numbers.
10215 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
10217         Fix display of indicate-empty-lines when line numbers are displayed
10219         * src/xdisp.c (row_text_area_empty): New function.
10220         (display_line): Call row_text_area_empty to verify that a glyph
10221         row's text area is devoid of any glyphs that came from a buffer or
10222         a string.  This fixes a bug with empty-lines indication
10223         disappearing when line numbers or line-prefix are displayed.
10224         (display_line): Delete the argument FORCE; all callers changed.
10225         Remove the condition for actually producing the glyphs for the
10226         line number, as even if the number didn't change we need to
10227         produce empty space.
10229 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10231         Fix symbol relocation when the relocated cell is renamed.
10233         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
10234         hashmap has been instantiated before getting data from it.  When
10235         editing several spreadsheets, and you have spreadsheet #1 with a
10236         cell named `foo', and no renamed cell in spreadsheet #2, then if
10237         you make a formula with `foo' in spreadsheet #2, not doing this
10238         check will make an error.
10239         (ses-cell-set-formula): Robustify versus incorrect cell references
10240         given in the user provided formula.  An explicit error message is
10241         provided after the action when the user gives an incorrect cell
10242         reference, but the formula edition is not changed.  This means that
10243         if the incorrect reference is to a cell that is created someday,
10244         then this new cell will not have the edited cell in its reference
10245         list.  Fixing this can still be done by editing again the first
10246         cell formula.
10247         (ses-relocate-symbol): Do not create symbol of referred-to cell
10248         when this is a renamed cell.
10250 2017-06-23  Rasmus  <rasmus@gmx.us>
10252         Synchronize with the "emacs-sync" branch from Org
10254 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10256         Remove getc_unlocked configure-time check
10258         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
10259         does this for us.
10261 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10263         Use unlocked stdio more systematically
10265         This can improve performance significantly on stdio-bottlenecked code.
10266         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
10267         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
10268         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
10269         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
10270         * lib-src/profile.c, lib-src/update-game-score.c:
10271         Include unlocked-io.h instead of stdio.h, since these programs are
10272         single-threaded.
10273         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
10274         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
10275         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
10276         * src/lread.c, src/term.c:
10277         Include sysstdio.h, possibly instead of stdio.h, to define
10278         the unlocked functions if the system does not provide them.
10279         * src/charset.c, src/lread.c (getc_unlocked):
10280         Remove, since sysstdio.h now defines it if needed.
10281         * src/cm.c (cmputc, cmcheckmagic):
10282         * src/dispnew.c (update_frame, update_frame_with_menu)
10283         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
10284         * src/emacs.c (main, Fdump_emacs):
10285         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
10286         * src/image.c (slurp_file, png_read_from_file, png_load_body)
10287         (our_stdio_fill_input_buffer):
10288         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
10289         * src/lread.c (readbyte_from_file):
10290         * src/minibuf.c (read_minibuf_noninteractive):
10291         * src/print.c (printchar_to_stream, strout)
10292         (Fredirect_debugging_output):
10293         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
10294         (procfs_get_total_memory):
10295         * src/term.c (tty_ring_bell, tty_send_additional_strings)
10296         (tty_set_terminal_modes, tty_reset_terminal_modes)
10297         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
10298         (tty_write_glyphs_with_face, tty_insert_glyphs)
10299         (tty_menu_activate):
10300         * src/xfaces.c (Fx_load_color_file):
10301         Use unlocked stdio when it should be safe.
10302         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
10303         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
10304         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
10305         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
10307 2017-06-22  Glenn Morris  <rgm@gnu.org>
10309         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
10311 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
10313         unidata: don’t check special casing in unidata-check  (bug#26656)
10315         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
10316         casing mapping of characters since that mapping is not constructed from
10317         the unidata.txt file.
10318         Also, check for integer decoder and cons char earlier so that less
10319         unnecessary processing is performed.
10321 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
10323         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
10325         Avoid string-to-multibyte and string-as-unibyte.
10326         Don't make *Help* unibyte just because the char was in a unibyte buffer.
10328 2017-06-22  Rasmus  <rasmus@gmx.us>
10330         Add Org schemas.xml contents to Emacs schemas.xml
10332         Entries from the Org version of schemas.xml have been added to
10333         the Emacs version of schemas.xml.
10335 2017-06-22  Rasmus  <rasmus@gmx.us>
10337         Update Org to v9.0.9
10339         Please see etc/ORG-NEWS for details.
10341 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10343         Do not hard code A1 cell reference, as it may be renamed.
10345         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
10347 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
10349         Fix make_hash_table calls in lread.c
10351         * src/lread.c (readevalloop, read_internal_start): Fix
10352         make_hash_table calls to make build succeed.
10354 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10356         Merge several Lisp reader speedups.
10358 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10360         Create less garbage to collect while reading symbols.
10362         * src/lread.c (read1): When interning a symbol, only create a new
10363         string object for the name if we're going to use it for a new symbol
10364         object.
10366 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10368         Replace read_objects assoc list with two hash tables.
10370         For larger input files with lots of shared data structures, an
10371         association list is too slow.
10373         * src/lread.c (read_objects_map, read_objects_completed): New
10374         variables, replacing read_objects.
10375         (readevalloop): Initialize them with hash tables before starting a
10376         top-level read, if they're not already empty hash tables, and reset
10377         them to Qnil afterwards if something was added to the hash tables.
10378         (read_internal_start): Likewise.
10379         (read1): Store first the placeholder and later the newly read object
10380         into read_objects_map under the specified object number.  If the new
10381         object can contain a reference to itself, store it in
10382         read_objects_completed.
10383         (substitute_objects_recurse): Check read_objects_completed instead of
10384         read_objects for the known possibly-recursive objects.
10385         (syms_of_lread): Update initializations.
10387 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10389         Use getc_unlocked.
10391         * configure.ac: Check for getc_unlocked.
10392         * src/charset.c (read_hex, load_charset_map_from_file): Use
10393         getc_unlocked instead of getc.
10394         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
10395         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
10396         getc_unlocked): Likewise.
10398 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
10400         Reduce lread substitutions.
10402         * src/lread.c (read1): After reading an object using the "#n=" syntax,
10403         if the read object is a cons cell, instead of recursively substituting
10404         the placeholder with the new object, mutate the placeholder cons cell
10405         itself to have the correct car and cdr values.
10407 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10409         Short-circuit substitutions for some simple types.
10411         Values that don't contain other values cannot be circular, so checking
10412         for circular objects is a waste of cycles.
10414         * src/lread.c (substitute_object_recurse): If the subtree being
10415         examined is a symbol, number, or property-less string, just return
10416         it.
10418 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10420         Limit style_format to MAX_ALLOCA
10422         * src/editfns.c (styled_format): Subtract initial buffer size
10423         from sa_avail, since it is nontrivial.
10425 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10427         Limit bidi_find_bracket_pairs to MAX_ALLOCA
10429         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
10430         Shrink it to allow for the two struct bidi_it objects in
10431         the same frame.
10432         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
10433         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
10435 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10437         Limit insert-file-contents to MAX_ALLOCA
10439         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
10440         MAX_ALLOCA bytes in a single stack array.
10442 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
10444         Remove malloc_find_address relic
10446         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
10447         Omit unnecessary initialization.
10449 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
10451         Fix temacs hybrid_malloc core dump
10453         Without this patch, ./temacs would dump core sometimes on Fedora
10454         25 x86-64.  The problem was that the hybrid allocator assumed that
10455         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
10456         assumption is not true on Fedora, because the standard memory
10457         allocator calls gdefault_morecore, which means its blocks are
10458         interleaved with our blocks.  Usually the code happened to work,
10459         because our data structures agreed with the glibc data structures,
10460         but this was merely luck due to a shared pedigree, and as glibc
10461         mutates our luck has run out.
10462         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
10463         Remove; no longer needed.
10464         (BLOCK): Use unsigned division, as that does the right thing near zero.
10465         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
10466         (_realloc_internal_nolock):
10467         Big blocks now have type -1, not 0, as 0 now means the block is
10468         not ours.
10469         (morecore_nolock): Omit now-unnecessary casts to size_t.
10470         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
10471         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
10472         avoid calling the wrong free or realloc function in some cases.
10474 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
10476         Make gnus-article-date-user work
10478         * lisp/gnus/gnus-art.el (article-date-ut):
10479         Work for unfolded multi-line Date header.
10480         (article-transform-date):
10481         Refactor; add header name if it is missing in user-defined date line.
10482         (article-date-user): Fix name of date type.
10484 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
10486         Keep order of completion candidates (Bug#25995, Bug#24676)
10488         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
10489         (completion-pcm--all-completions): Use nreverse to undo the reversing
10490         caused by using push in the loop.
10492 2017-06-21  Glenn Morris  <rgm@gnu.org>
10494         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
10496 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
10498         Mark prolog indent variables as safe (bug#27369)
10500         * lisp/progmodes/prolog.el (prolog-indent-width)
10501         (prolog-left-indent-regexp, prolog-paren-indent-p)
10502         (prolog-paren-indent): Add :safe property.
10504 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
10506         Remove `:options' from `css-electric-keys'
10508         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
10509         since it just duplicates the default value.
10511 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10513         Fix crash when built by GNU Gold linker on x86
10515         Problem reported by Andrés Musetti (Bug#27248).
10516         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
10517         (emacsFrameClass): Now a function (which initializes the
10518         superclass) instead of a variable.  All uses changed.
10520 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10522         Simplify autogen.sh version checking
10524         * autogen.sh (get_version): Simplify and make more reliable
10525         by using expr rather than echo | sed.  Check exit status of program.
10526         Run program in subshell in case it cannot be executed.
10527         (check_version): Check exit status of command rather than its output.
10528         Check return status of get_version.
10530 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
10532         Delete old Date header in a simple way
10534         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
10535         when searching the old Date header boundary in order to delete it.
10537 2017-06-20  Bastien  <bzg@gnu.org>
10539         Revert "Don't bind org-agenda key to an anonymous function"
10541         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
10543 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
10545         Bind enable-local-variables to nil globally (fix dbe3e41)
10547         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
10548         Bind enable-local-variables to nil globally instead of making it
10549         buffer-local; remove let-bind of local-enable-local-variables.
10550         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
10552 2017-06-20  Glenn Morris  <rgm@gnu.org>
10554         kill-matching-buffers to optionally not confirm
10556         * lisp/files.el (kill-matching-buffers):
10557         Add option to not confirm killing.  (Bug#27286)
10559 2017-06-20  Glenn Morris  <rgm@gnu.org>
10561         * lisp/files.el (local-enable-local-variables): Doc fix.
10563 2017-06-20  Glenn Morris  <rgm@gnu.org>
10565         autogen.sh: try to check for tool being present but broken
10567         * autogen.sh (get_version): Check return status of "--version".
10568         (check_version): Try to distinguish between a missing tool
10569         and a broken one.  (Bug#27288)
10571 2017-06-19  Glenn Morris  <rgm@gnu.org>
10573         Avoid a custom-variable-type error (bug#27363)
10575         * lisp/cus-edit.el (custom-variable-type):
10576         Avoid an error due to plist-put becoming stricter of late.
10578 2017-06-19  Glenn Morris  <rgm@gnu.org>
10580         Don't put deleted packages in the trash (bug#14967)
10582         * lisp/emacs-lisp/package.el (package-delete):
10583         Don't pay attention to delete-by-moving-to-trash.
10585 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
10587         Revert "Add current-line in simple.el"
10589         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
10591 2017-06-19  Damien Cassou  <damien@cassou.me>
10593         Add current-line in simple.el
10595         * lisp/simple.el (current-line): New function.
10596         * test/list/simple-tests.el: Add tests for current-line.
10598 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
10600         Don't try to eval local variables in Gnus article
10602         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
10604 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
10606         Fix emacs-module.h cleaning
10608         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
10609         (bootstrap-clean): Remove emacs-module.h.
10611 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
10613         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
10614         in regex.
10616 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
10618         * lib/gettext.h: Merge from gnulib.
10620 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
10622         Merge from gnulib
10624         This (and my previous patch) incorporate:
10625         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
10626         2017-06-15 gettext-h: Update comment
10627         * lib/diffseq.h: Copy from gnulib.
10629 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
10631         * test/Makefile.in: Don't suppress test failure for single tests.
10633 2017-06-17  Philipp Stephani  <phst@google.com>
10635         emacs-module.h: Create emacs_env_26
10637         This was part of the original design of the module
10638         API (https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00960.html),
10639         but I didn't take it into account when adding the should_quit
10640         function.
10642         Instead of duplicating the environment fields or using the C
10643         preprocessor, use configure to build emacs-module.h.
10645         * configure.ac: Expand emacs-module.h template.
10647 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
10649         Improve documentation of replace-buffer-contents
10651         * etc/NEWS (replace-buffer-contents): Fix formatting.
10653         * src/editfns.c (Freplace_buffer_contents): Doc fix.
10655 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
10657         Finish up native display of line numbers
10659         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
10660         the number, for R2L rows.  Increment 'g' in the loop even if
10661         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
10662         line-number glyphs if it is non-zero.
10663         (move_it_in_display_line_to): Account for the space taken by the
10664         line-number glyphs.  Call maybe_produce_line_number with 2nd
10665         argument non-zero.
10666         (set_cursor_from_row): Fix calculation of cursor X coordinate in
10667         R2L rows with display-produced glyphs at the beginning.
10668         (syms_of_xdisp) <line-number>: New face symbol.
10669         <relative, display-line-width>: New symbols.
10670         (maybe_produce_line_number): Use the line-number face for
10671         displaying line numbers.  Support relative line-number display.
10672         Support user-defined width for displaying line numbers.
10673         (try_cursor_movement, try_window_id): Disable these optimizations
10674         when displaying relative line numbers.
10675         * src/dispextern.h (struct it): New member 'pt_lnum'.
10677         * lisp/faces.el (line-number): New face.
10678         * lisp/cus-start.el (standard): Provide customization forms for
10679         display-line-numbers and display-line-width.
10680         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
10681         turn display-line-numbers on and off.
10683         * etc/NEWS: Document the new feature.
10685 2017-06-17  Philipp Stephani  <phst@google.com>
10687         Allow local variables section to begin with a square bracket
10689         Fixes Bug#27391.
10691         * lisp/international/mule.el (find-auto-coding): Fix regular
10692         expression for "Local Variables" section.
10694         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
10695         Add unit test.
10697 2017-06-17  Philipp Stephani  <phst@google.com>
10699         Remove unnecessary point motion
10701         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
10702         motion.
10704 2017-06-17  Philipp Stephani  <phst@google.com>
10706         Add command to replace buffer contents
10708         Add a new command 'replace-buffer-contents' that uses the Myers diff
10709         algorithm to non-destructively replace the accessible portion of the
10710         current buffer.  The Myers algorithm is implemented in Gnulib.
10712         * src/editfns.c (Freplace_buffer_contents): New command.
10713         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
10714         (syms_of_editfns): Define new command.
10716         * test/src/editfns-tests.el (replace-buffer-contents-1)
10717         (replace-buffer-contents-2): New unit tests.
10719         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
10721         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
10723 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
10725         * lisp/international/characters.el: Update list of zero and full
10726         width characters according to Unicode 9.0.0.
10728 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
10730         Complete CSS property values less eagerly (Bug#27392)
10732         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
10733         eager by looking for a colon after the property which values are being
10734         completed for.
10736         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
10737         Add a test case ensuring that properties that are prefixes of other
10738         properties don't hinder further completion.
10740 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
10742         Handle integer indices for eshell variables (Bug#26055)
10744         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
10745         if it's been marked as one, just like `eshell-lisp-command' does.
10747 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
10749         Don't bind org-agenda key to an anonymous function
10751         * lisp/org/org-agenda.el: Bind "g" to named command.
10752         (org-agenda-redo-all): New command.  Extend the previous functionality
10753         through a prefix argument.
10755 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
10757         Add test for the fix in the parent commit
10759         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
10760         New test, for the fix in the parent commit.
10762 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
10764         primitive-undo: Update only the currently valid markers
10766         * lisp/simple.el (primitive-undo):
10767         Update only the currently valid markers (bug#25599).
10769 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
10771         Initial version of native display of line numbers
10773         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
10774         buffer-local variable.
10775         Include <math.h>.
10776         (maybe_produce_line_number): New function.
10777         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
10778         (try_window_reusing_current_matrix): Don't use this method when
10779         display-line-numbers is in effect.
10780         * src/dispextern.h (struct it): New members 'lnum'.
10782 2017-06-16  Philipp Stephani  <phst@google.com>
10784         Correctly detect URLs surrounded by parentheses in comments
10786         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
10787         Make parentheses match work inside comments.
10789         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
10790         unit test.
10792 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
10794         Fix load-path issue when it contains remote directories
10796         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
10797         (tramp-use-absolute-autoload-file-names): New defun.  Call it
10798         after loading tramp.el.
10800         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
10801         New test.
10802         (tramp-test39-unload): Rename.
10804 2017-06-16  Alan Mackenzie  <acm@muc.de>
10806         Ensure C++ initializer lists don't get fontified.
10808         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
10809         compiler warning.
10811         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
10812         clause to handle C++ member initialization lists.
10813         (c-font-lock-single-decl): New function, extracted from
10814         c-font-lock-declarations.
10815         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
10816         code.
10817         (c-font-lock-cut-off-declarators): Make more rigorous by calling
10818         c-get-fontification-context, c-forward-decl-or-cast-1, and
10819         c-font-lock-single-decl in place of rather approximate code.
10821 2017-06-16  Alan Mackenzie  <acm@muc.de>
10823         Fix hang in CC Mode when ":" is typed after identifier at EOB.
10825         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
10826         confusing ":" and EOB.
10828 2017-06-15  Alan Mackenzie  <acm@muc.de>
10830         Create a toggle between block and line comments in CC Mode.
10832         Also (unrelated change) initialize the modes' keymaps at each loading.
10834         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
10835         on the modeline.
10836         (c-block-comment-flag): New variable.
10837         (c-toggle-comment-style): New function.
10839         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
10840         (c-line-comment-starter): Make them c-lang-defvars.
10841         (c-block-comment-is-default): New c-lang-defvar.
10842         (comment-start, comment-end): Make the default values dependent on
10843         c-block-comment-is-default.
10845         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
10846         (c-basic-common-init): Initialize c-block-comment-flag.
10847         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
10848         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
10849         mode is loaded rather than just once per Emacs session.
10851         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
10852         style.
10853         (Minor Modes): Define comment style.  Describe how comment style influences
10854         the information displayed on the modeline.  Document c-toggle-comment-style.
10855         (FAQ): Add a question about toggling the comment style.
10857 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
10859         Pacify clang without munging C source
10861         * configure.ac (WARN_CFLAGS): With Clang, use
10862         -Wno-tautological-compare regardless of --enable-gcc-warnings.
10863         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
10864         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
10865         change which I hope is no longer needed.
10866         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
10867         some older non-POSIX hosts.
10869 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
10871         No need to complicate make-docfile.c for Clang
10873         * lib-src/make-docfile.c (put_filename): Undo recent change.
10874         The Clang false alarm occurs only with CFLAGS=-save-temps and
10875         we needn’t worry about pacifying unusual compiler configurations.
10877 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
10879         Port './configure CC=clang' to Fedora 25
10881         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
10882         standard function like MagickRelinquishMemory does not link.
10884 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
10886         Don’t worry about __STDC_VERSION__ in emacs-module
10888         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
10889         we’ve found that some compilers do not define this symbol even
10890         when they work well enough.  If necessary features like stdbool.h
10891         are missing the compiler will complain eventually anyway.
10893 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
10895         Port cleanup check to Oracle Studio 12.5
10897         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
10898         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
10899         #if this time.
10901 2017-06-14  Bastien  <bzg@gnu.org>
10903         Fix misformatted changelog entry
10905 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
10907         Avoid compiler warning in image.c on MS-Windows
10909         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
10910         compilation warning under -Warray-bounds by temporarily disabling
10911         the -Warray-bounds option.
10913 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
10915         Fix Bug#27315
10917         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
10918         New defvar.
10919         (top): Use it.
10921         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
10922         Check for connected, not for connectable.  (Bug#27315)
10923         (tramp-process-actions):
10924         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
10925         Use `tramp-cache-read-persistent-data'.
10927         * test/lisp/net/tramp-tests.el (top): Set also
10928         `tramp-cache-read-persistent-data'.
10930 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
10932         Give a fixed default value for icomplete-prospects-height (Bug#26939)
10934         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
10935         (icomplete-prospects-length): Remove.
10936         * etc/NEWS: Announce removal.
10938 2017-06-14  Philipp Stephani  <phst@google.com>
10940         Remove some tautological comparisons involving rlim_t
10942         Clang on macOS warns about these with -Wtautological-compare.  POSIX
10943         guarantees that rlim_t is
10944         unsigned (cf.
10945         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
10946         so these resource limits can never be negative.
10948         * src/emacs.c (main): Remove tautological comparisons.
10950 2017-06-14  Philipp Stephani  <phst@google.com>
10952         Use --module-assertions if modules are available
10954         Using --module-assertions helps us find bugs in the test module.  But
10955         we can use it only if Emacs was compiled with module support.
10957         * test/Makefile.in (MODULES_EMACSOPT): New variable.
10958         (emacs): Use it.
10960 2017-06-14  Philipp Stephani  <phst@google.com>
10962         Define --module-assertions only of modules are available
10964         Fixes Bug#27352.
10966         * src/emacs.c (usage_message, standard_args): Define
10967         --module-assertions only if Emacs has been compiled with module
10968         support.
10970 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
10972         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
10974         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
10975         No need to restore window config for WDD and WDW commands.
10977 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10979         lisp/net/soap-client.el: Bump version to 3.1.3
10981         * lisp/net/soap-client.el: Bump version to 3.1.3.
10982         (soap-name-p): Fix checkdoc issue.
10984 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
10986         Fix an HTTP encoding error in soap-client.el
10988         * lisp/net/soap-client.el (soap-invoke-internal): Make
10989         SOAPAction header a UTF-8 encoded string.
10991 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
10993         Port cleanup attribute to Oracle Studio 12.5
10995         * INSTALL (--with-modules): List cleanup attribute as prereq.
10996         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
10997         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
10998         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
10999         __has_attribute only inside preprocessor expressions.  The C
11000         compiler should check the cleanup attribute in the next line anyway.
11001         (module_reset_handlerlist): Remove an unnecessary ‘const’
11002         that causes Oracle Studio 12.5 to refuse to compile.
11004 2017-06-14  Glenn Morris  <rgm@gnu.org>
11006         Fix running tests in without-modules builds
11008         * test/Makefile.in (EMACSOPT): Remove option that is only defined
11009         with-modules.  emacs-module-tests.el passes it where needed.
11011 2017-06-13  Glenn Morris  <rgm@gnu.org>
11013         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
11015 2017-06-13  Philipp Stephani  <phst@google.com>
11017         Inline test module Makefile into main test Makefile
11019         The test/data/emacs-module/Makefile only built a single target, and
11020         inlining it into test/Makefile simplifies dependency tracking and
11021         reduces code duplication.
11023         * configure.ac: Don't build test/data/emacs-module/Makefile.
11025         * Makefile.in ($(test_module)): Inline compilation.
11026         (clean): Also clean test module outputs.
11028 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
11030         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
11032 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
11034         Minor tweaks in Tramp manual
11036         * doc/misc/trampver.texi: Add prefixwithspace flag.
11038         * doc/misc/tramp.texi (Password handling): Harmonize example.
11039         (File name completion): Use prefixwithspace flag.
11040         (Frequently Asked Questions): Explain `tramp-histfile-override'.
11042 2017-06-13  Philipp Stephani  <phst@google.com>
11044         Silence two Clang warnings by introducing additional local variables
11046         * lib/strftime.c (libc_hidden_def):
11047         * lib-src/make-docfile.c (put_filename): Introduce local variables to
11048         silence Clang warnings.
11050 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
11052         Fix wrong indentation after string literal (Bug#27306)
11054         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
11055         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
11056         * test/lisp/emacs-lisp/lisp-mode-tests.el
11057         (lisp-indent-region-after-string-literal): New test.
11059 2017-06-13  Philipp Stephani  <phst@google.com>
11061         Fix version checks for emacs-module.h
11063         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
11064         don't need it at all.
11066 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
11068         Buttonize #<bytecode> part of printed functions (Bug#25226)
11070         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
11071         (cl-print-compiled-button): New variable.
11072         (help-byte-code): New button type, calls `disassemble' in its action.
11073         (cl-print-object): Use it if `cl-print-compiled-button' is
11074         non-nil.
11076 2017-06-12  Philipp Stephani  <phst@google.com>
11078         Print module structure sizes when initializing test module
11080         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
11081         compile-time and runtime sizes of module structures to ease debugging
11083 2017-06-12  Glenn Morris  <rgm@gnu.org>
11085         Small portability fix for emacs-module.h (bug#27346)
11087         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
11088         Avoid 'error: missing binary operator before token "("'.
11090 2017-06-12  Glenn Morris  <rgm@gnu.org>
11092         Give a more informative failure in module assertion test
11094         * test/src/emacs-module-tests.el (module--test-assertions):
11095         Rephrase final check to give a more informative failure.
11097 2017-06-12  Philipp Stephani  <phst@google.com>
11099         Fix off-by-one error
11101         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
11102         off-by-one error.
11104 2017-06-12  Glenn Morris  <rgm@gnu.org>
11106         Clean up after module assertion tests
11108         * test/src/emacs-module-tests.el (module--test-assertions):
11109         Use a temporary directory to contain any core dumps.
11111 2017-06-12  Glenn Morris  <rgm@gnu.org>
11113         Small improvement for module assertion test
11115         * test/src/emacs-module-tests.el (module--test-assertions):
11116         Don't rely on the precise form of an "Abort" message.
11118 2017-06-12  Glenn Morris  <rgm@gnu.org>
11120         Improve previous test/data/emacs-module/Makefile change
11122         * test/data/emacs-module/Makefile.in (clean):
11123         Avoid doing unpleasant things if run in a build without modules.
11125 2017-06-12  Glenn Morris  <rgm@gnu.org>
11127         Small improvements for test/data/emacs-module/Makefile
11129         * test/data/emacs-module/Makefile.in (%.o):
11130         Fix emacs-module dependency.
11131         (SECONDARY): Stop make automatically deleting *.o.
11132         (clean): New rule.
11134 2017-06-12  Glenn Morris  <rgm@gnu.org>
11136         * make-dist: Skip some more generated files in test/.
11138 2017-06-12  Alan Third  <alan@idiocy.org>
11140         Note how fullscreen differs on the NS port
11142         doc/lispref/frames.texi (Size Parameters):
11143         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
11144         hides the tool-bar and menu-bar in fullscreen.
11146 2017-06-12  Alan Third  <alan@idiocy.org>
11148         Add no-focus-on-map to NS build (bug#25408)
11150         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
11151         (x-create-frame): Check for no-focus-on-map.
11152         * src/nsterm.h (x_set_no_focus_on_map): New function.
11153         * src/nsterm.m (x_set_no_focus_on_map): New function.
11154         (ns_raise_frame): Add parameter for specifying whether to focus the
11155         frame.
11156         (ns_frame_raise_lower):
11157         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
11159 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11161         _Noreturn not noreturn
11163         _Noreturn is more portable to non-C11 platforms.  See:
11164         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
11165         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
11166         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
11168 2017-06-12  Glenn Morris  <rgm@gnu.org>
11170         Update make-dist for recent test/ changes
11172         * make-dist: No longer distribute test/data/emacs-module/Makefile.
11174 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
11176         Handle port and domain in Tramp's password cache
11178         * doc/misc/tramp.texi (Password handling): Explain port and
11179         domain handling in authinfo.
11181         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
11182         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
11183         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
11184         (tramp-maybe-open-connection):
11185         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
11186         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
11187         (tramp-smb-maybe-open-connection): Handle also domain and port.
11189 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
11191         Avoid compilation warnings with pre-C99 libc
11193         * src/emacs-module.c (module_free_global_ref)
11194         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
11195         instead of C99 't' format descriptor.
11197 2017-06-12  Philipp Stephani  <phst@google.com>
11199         Flush all output streams before aborting
11201         Maybe the stdout buffer still contains something interesting that
11202         should be flushed.
11204         * src/emacs-module.c (module_abort): Flush all output streams before
11205         aborting.
11207 2017-06-12  Philipp Stephani  <phst@google.com>
11209         Remove an assertion that doesn't test Emacs invariants
11211         * src/emacs-module.c (module_copy_string_contents): Remove an
11212         assertion that doesn't test Emacs invariants.
11214 2017-06-12  Philipp Stephani  <phst@google.com>
11216         Test module: add necessary version checks
11218         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
11219         version checks.
11221 2017-06-12  Philipp Stephani  <phst@google.com>
11223         Use additional CFLAGS from configure
11225 2017-06-12  Philipp Stephani  <phst@google.com>
11227         Use Autoconf to generate the test module Makefile
11229         This makes it easier to pass compilation flags around.
11231         * configure.ac: Also build test module Makefile.
11233         * test/data/emacs-module/Makefile.in: New makefile template.
11235         * test/Makefile.in ($(test_module)): No longer necessary to pass
11236         @MODULES_SUFFIX@ around.
11238         * .gitignore: Test module Makefile can now be ignored.
11240 2017-06-12  Philipp Stephani  <phst@google.com>
11242         Also compile test module as C11
11244         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
11246 2017-06-12  Philipp Stephani  <phst@google.com>
11248         Implement module assertions for users
11250         Add a new command-line option '-module-assertions' that users can
11251         enable developing or debugging a module.  If this option is present,
11252         Emacs performs additional checks to verify that modules fulfill their
11253         requirements.  These checks are expensive and crash Emacs if modules
11254         are invalid, so disable them by default.
11256         This is a command-line option instead of an ordinary variable because
11257         changing it while Emacs is running would cause data structure
11258         imbalances.
11260         * src/emacs.c (main): New command line option '-module-assertions'.
11262         * src/emacs-module.c (module_assert_main_thread)
11263         (module_assert_runtime, module_assert_env, module_assert_value):
11264         New functions to assert module requirements.
11265         (syms_of_module): New uninterned variable 'module-runtimes'.
11266         (init_module_assertions, in_main_thread, module_abort): New helper
11267         functions.
11268         (initialize_environment): Initialize value list.  If assertions are
11269         enabled, use a heap-allocated environment object.
11270         (finalize_environment): Add assertion that environment list is never
11271         empty.
11272         (finalize_runtime_unwind): Pop module runtime object stack.
11273         (value_to_lisp): Assert that the value is valid.
11274         (lisp_to_value): Record new value if assertions are enabled.
11275         (mark_modules): Mark allocated object list.
11276         (MODULE_FUNCTION_BEGIN_NO_CATCH)
11277         (module_non_local_exit_check, module_non_local_exit_clear)
11278         (module_non_local_exit_get, module_non_local_exit_signal)
11279         (module_non_local_exit_throw): Assert thread and environment.
11280         (module_get_environment): Assert thread and runtime.
11281         (module_make_function, module_funcall, module_intern)
11282         (module_funcall, module_make_integer, module_make_float)
11283         (module_make_string, module_make_user_ptr, module_vec_get)
11284         (funcall_module, Fmodule_load): Adapt callers.
11285         (module_make_global_ref): If assertions are enabled, use the global
11286         environment to store global values.
11287         (module_free_global_ref): Remove value from global value list.
11289         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
11290         modules.
11292         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
11293         (Fmod_test_invalid_load): New functions to test module assertions.
11294         (emacs_module_init): Bind the new functions.
11296         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
11297         the Emacs binary file.
11298         (mod-test-file): New constant for the test module file name.
11299         (module--test-assertions): New unit test.
11301 2017-06-12  Philipp Stephani  <phst@google.com>
11303         emacs-module: Use __attribute__((nonnull))
11305         Annotate all parameters with __attribute__((nonnull)) that may not be
11306         NULL.
11308 2017-06-12  Philipp Stephani  <phst@google.com>
11310         Explicitly require C11 or C++11 in emacs-module.h
11312         We already implicitly require them by including stdbool.h.  Just make
11313         the error message a bit clearer, and remove an unnecessary version
11314         comparison.
11316 2017-06-12  Philipp Stephani  <phst@google.com>
11318         Add missing 'require' forms to prevent compiler warnings.
11320         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
11321         requirements.
11323 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11325         Merge from gnulib
11327         This incorporates:
11328         2017-06-11 getopt-posix: port to glibc 2.25.90
11329         2017-06-04 same-inode: port better to VMS 8.2 and later
11330         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
11331         * m4/sys_types_h.m4: Copy from gnulib.
11333 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11335         Remove Lisp_Misc_Float
11337         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
11338         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
11339         unused for two decades; if we ever want to change floats to be a
11340         misc type we can bring it back then.
11342 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11344         Make two symbols private to emacs-module.c
11346         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
11347         Move from here ...
11348         * src/emacs-module.c: ... to here.
11350 2017-06-12  Glenn Morris  <rgm@gnu.org>
11352         Merge from origin/emacs-25
11354         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
11356 2017-06-12  Glenn Morris  <rgm@gnu.org>
11358         Merge from origin/emacs-25
11360         e80f6a210b0 Describe problems with Microsoft Intellipoint
11361         a73ec1edb07 More accurate documentation of the ':box' face attribute
11363 2017-06-12  Glenn Morris  <rgm@gnu.org>
11365         Merge from origin/emacs-25
11367         eaa00584ceb Improve documentation of 'gnutls-verify-error'
11368         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
11369         741daec617e ; Describe the problem with ksh when resizing shell window
11371 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
11373         Some further improvements for tramp-gvfs.el
11375         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
11376         (tramp-gvfs-get-file-attributes)
11377         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
11378         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
11379         Show question also in batch mode.  Cache result.
11381         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
11382         Support completion for host names and ports.
11384 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
11386         Fix highlighting of CSS selectors with double hyphens
11388         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
11389         highlighting of selectors that contain double hyphens.  They would be
11390         mistaken for a variable.
11392 2017-06-11  Philipp Stephani  <phst@google.com>
11394         Support threads in modules
11396         Rather than checking for the main thread, check for the current
11397         thread.
11399         * src/emacs-module.c (check_thread): New function.
11400         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
11401         (module_non_local_exit_check, module_non_local_exit_clear)
11402         (module_non_local_exit_get, module_non_local_exit_signal)
11403         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
11405 2017-06-11  Philipp Stephani  <phst@google.com>
11407         Allow non-local exits in module initializers
11409         Previously signals, throws, and quits from module initialization
11410         functions were ignored.  These function aren't special, and better
11411         errors can be reported using signals than with the initialization
11412         return code, so allow non-local exits.
11414         * src/emacs-module.c (module_signal_or_throw): New helper function.
11415         (Fmodule_load, funcall_module): Use it.
11416         (Fmodule_load): Also allow quitting.
11418 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
11420         Let eshell/sudo handle absolute command names (Bug#27167)
11422         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
11423         absolute paths into relative ones.
11425 2017-06-10  Alan Third  <alan@idiocy.org>
11427         Don't wait for toolbar in NS native fullscreen
11429         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
11430         function when in fullscreen.
11432 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
11434         Fix the placement of GTK menus on multi-monitor systems
11436         menu_position_func did not properly use the current monitor's
11437         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
11439         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
11440         (frame-monitor-workarea): New functions.
11442         * src/xmenu.c (menu_position_func): Take into account the workarea of
11443         the monitor that contains the mouse.  (Bug#23568)
11445 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
11447         Clarify documentation of 'face-spec-set'
11449         * lisp/faces.el (face-spec-set): Clarify the description of
11450         SPEC-TYPE in the doc string.
11452         * doc/lispref/display.texi (Defining Faces): Clarify the
11453         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
11455 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
11457         Fix domain port and handling in tramp-gvfs.el
11459         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
11460         Return nil if BYTE-ARRAY is nil.
11461         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
11462         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
11463         Fix domain and port handling.
11465         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
11466         Ignore errors.
11468 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
11470         Improve documentation of 'face-spec-set-2'
11472         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
11473         to 'face-attrs'.
11474         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
11476 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
11478         Fix handling of Python/Guile commands with arguments in gdb-mi.el
11480         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
11481         variable.
11482         (gdb-control-commands-regexp): Use it.
11483         (gdb-send): Don't increment gdb-control-level if the command
11484         matches gdb-python-guile-commands-regexp and has non-empty
11485         arguments.  Reported by David Boles <boles@ieee.org> in
11486         http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00009.html.
11488 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
11490         Preserve point in Dired windows under 'dired-auto-revert-buffer'
11492         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
11493         is non-nil, bind switch-to-buffer-preserve-window-point to nil
11494         while calling find-file.  (Bug#27243)
11496 2017-06-09  Philipp Stephani  <phst@google.com>
11498         Give test files a -tests.el suffix
11500         Rename a couple of test files that have the same name as the library
11501         they test.  This harmonizes the naming pattern and makes it possible
11502         to have the tests directories in the load path.
11504 2017-06-09  Philipp Stephani  <phst@google.com>
11506         Fix another compiler warning on macOS
11508         * src/image.c (x_query_frame_background_color): Don't define if we
11509         have NextStep but no image support.
11511 2017-06-09  Philipp Stephani  <phst@google.com>
11513         Add garbage collection support for module environments
11515         * src/emacs-module.c (mark_modules): New function.
11516         (initialize_environment): Properly initialize Lisp objects.
11517         * src/alloc.c (garbage_collect_1): Call it.
11519 2017-06-08  Glenn Morris  <rgm@gnu.org>
11521         Make autogen.sh report relevant environment variables
11523         * autogen.sh (check_version):
11524         Indicate if using an environment variable.
11526 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
11528         Split variable macro env from function env
11530         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
11531         (cl-symbol-macrolet): Instead of adding each binding directly into the
11532         main environment with a special key format, put all symbol macro
11533         bindings into a single entry in the main environment under
11534         `:cl-symbol-macros'.
11535         (cl--sm-macroexpand): Look up symbol bindings in the
11536         `:cl-symbol-macros' entry of the environment.
11538 2017-06-07  Glenn Morris  <rgm@gnu.org>
11540         * make-dist: Directory modules/mod-test no longer exists.
11542 2017-06-07  Glenn Morris  <rgm@gnu.org>
11544         More authors.el updates
11546         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
11547         (authors-renamed-files-alist): Additions.
11549 2017-06-07  Glenn Morris  <rgm@gnu.org>
11551         * make-dist: Check a release has a ChangeLog with a release notice.
11553         * make-dist: Use existing ChangeLog if present.
11555 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
11557         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
11559 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
11561         (url-cookie-host-can-set-p): Protect against zero-length domains
11563         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
11564         against zero-length domains.
11566         Backtrace of a real-world site that triggers a bug:
11568         Debugger entered--Lisp error: (args-out-of-range "" 0)
11569           url-cookie-host-can-set-p("www.washingtonpost.com" "")
11570           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
11571           01-January-1970 00:00:00 GMT; path=/; domain=")
11572           url-http-handle-cookies()
11574 2017-06-06  Glenn Morris  <rgm@gnu.org>
11576         More authors.el updates
11578         * admin/authors.el (authors-obsolete-files-regexps)
11579         (authors-valid-file-names, authors-renamed-files-alist)
11580         (authors-renamed-files-regexps): Additions.
11582 2017-06-06  Glenn Morris  <rgm@gnu.org>
11584         More small authors.el updates
11586         * admin/authors.el (authors-aliases): Fix recent addition.
11587         (authors-obsolete-files-regexps, authors-no-scan-regexps)
11588         (authors-ignored-files, authors-valid-file-names)
11589         (authors-renamed-files-alist): Additions.
11591 2017-06-06  Glenn Morris  <rgm@gnu.org>
11593         Make authors.el report names that were ignored
11595         * admin/authors.el (authors-ignored-names): New.
11596         (authors-canonical-author-name): Add file and position arguments.
11597         Record ignored authors.
11598         (authors-scan-change-log, authors-scan-el):
11599         Pass file and position to authors-canonical-author-name.
11600         (authors): Also print authors that were ignored.
11602 2017-06-06  Glenn Morris  <rgm@gnu.org>
11604         * admin/authors.el (authors-aliases): Additions.
11606 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
11608         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
11610 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
11612         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
11614 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
11616         Enable ElDoc messages after the newline command
11618         * lisp/emacs-lisp/eldoc.el:
11619         Add "newline" to the eldoc-add-command-completions call (bug#27228).
11621 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
11623         Enable eldoc-mode explicitly inside read--expression
11625         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
11627 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
11629         Fix check for package-unsigned-archives during retrieval
11631         * lisp/emacs-lisp/package.el (package--download-one-archive):
11632         Fix check for package-unsigned-archives.
11634 2017-06-05  Noah Friedman  <friedman@splode.com>
11636         Merge etc/emacs-buffer.gdb from emacs-25 to master.
11638 2017-06-05  Philipp Stephani  <phst@google.com>
11640         Fix undefined behavior in mapbacktrace
11642         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
11644 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
11646         Fix emacs-module-tests on MS-Windows
11648         * src/print.c (print_vectorlike): Make sure module function's
11649         address prints with a leading "0x".  This fixes emacs-module-tests
11650         on MS-Windows.  Fix whitespace.
11651         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
11652         commentary.
11654 2017-06-05  Philipp Stephani  <phst@google.com>
11656         Use unwind protection to clean up data structures in modules
11658         Reuse existing functionality and simplify the code a bit.
11660         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
11661         runtime object.
11662         (funcall_module): Use unwind protection to clean up environment
11663         object.
11664         (finalize_environment): Simplify signature.
11665         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
11667 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
11669         Some minor tweaks in tramp-tests.el
11671         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
11672         Let it pass for all gfvs based methods.
11673         (tramp-test24-file-name-completion): Run method and host
11674         completion for all syntaxes only when expensive tests are enabled.
11675         Do not check host completion for gvfs based methods.
11676         (tramp--test-gvfs-p): Add optional METHOD argument.
11677         (tramp--test-afp-or-smb-p): Remove.
11679 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
11681         Fix error in Tramp rsync method
11683         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
11684         Otherwise, `tramp-test10-write-region' could fail.
11686 2017-06-05  Philipp Stephani  <phst@google.com>
11688         Inline module_has_cleanup
11690         This constant is only used once, and we fail compilation anyway if
11691         it's false.
11693         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
11695 2017-06-05  Philipp Stephani  <phst@google.com>
11697         Add missing dependency to test module source file
11699 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
11701         Omit space that broke ‘make check’
11703         * src/print.c (print_vectorlike): Omit stray space.
11705 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
11707         Remove easserts etc. from emacs-module.c
11709         Most of these seem to run afoul of the comment "Do NOT use
11710         'eassert' for checking validity of user code in the module."
11711         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
11712         (module_non_local_exit_check, module_non_local_exit_clear)
11713         (module_non_local_exit_get, module_non_local_exit_signal)
11714         (module_non_local_exit_throw, module_make_string):
11715         Remove unnecessary easserts that pointers are nonnull.
11716         Hardware checks this for us nowadays, and the checks
11717         just clutter up the code.
11718         (module_extract_integer): Remove unnecessary verify that
11719         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
11720         The C standard guarantees this.
11721         (module_copy_string_contents): Remove unnecessary eassert
11722         that Lisp strings are null-terminated.
11723         (module_function_arity): Remove unnecessary easserts that
11724         function arities are in range.
11726 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
11728         Remove unnecessary checking in emacs-module.c
11730         * src/emacs-module.c (module_copy_string_contents):
11731         Remove checking, as string lengths are always nonnegative and less
11732         than STRING_BYTES_BOUND, and this is checked elsewhere.
11733         (module_make_string): Check length against STRING_BYTES_BOUND, a
11734         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
11735         assume that an out-of-range integer is nonnegative.
11737 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
11739         SCHARS and STRING_BYTES are nonnegative
11741         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
11742         the hopes that this will optimize a bit better.  Also, check this
11743         at runtime if ENABLE_CHECKING.
11744         * src/lisp.h (SCHARS, STRING_BYTES):
11745         eassume that these functions return nonnegative values.
11746         (STRING_SET_CHARS) [ENABLE_CHECKING]:
11747         eassert that newsize is nonnegative.
11749 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
11751         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
11753 2017-06-04  Philipp Stephani  <phst@google.com>
11755         Remove an unused error symbol
11757         * src/emacs-module.c (syms_of_module): Remove unused error symbol
11758         'invalid-module-call'.
11760 2017-06-04  Philipp Stephani  <phst@google.com>
11762         Support quitting in modules
11764         The idea is that modules should call env->should_quit from time to
11765         time and return as quickly as possible if it returns true.
11767         * src/emacs-module.c (module_should_quit): New module function.
11768         (initialize_environment): Use it.
11769         (funcall_module): Process potential pending quit.
11771         * src/eval.c (maybe_quit): Add reference to module_should_quit.
11773 2017-06-04  Philipp Stephani  <phst@google.com>
11775         Use more specific errors for module load failure
11777         * src/emacs-module.c (syms_of_module): Add more specific error
11778         symbols.
11779         (Fmodule_load): Use them.
11781 2017-06-04  Philipp Stephani  <phst@google.com>
11783         Remove an unneeded assertion
11785         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
11786         assertion.  If this assertion triggers, we raise an error anyway.
11788 2017-06-04  Philipp Stephani  <phst@google.com>
11790         Guard against signed integer overflows
11792         * src/emacs-module.c (module_extract_integer)
11793         (module_copy_string_contents, module_make_string): Guard against
11794         signed integer overflows.
11796 2017-06-04  Philipp Stephani  <phst@google.com>
11798         Add a couple more assertions to the module code
11800         These can help module authors debug crashes.
11802         * src/emacs-module.c (module_non_local_exit_check)
11803         (module_non_local_exit_clear, module_non_local_exit_get)
11804         (module_non_local_exit_signal, module_non_local_exit_throw)
11805         (module_copy_string_contents, module_make_string)
11806         (funcall_module, initialize_environment): Add assertions
11808 2017-06-04  Philipp Stephani  <phst@google.com>
11810         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
11812         In particular, alias violations are likely for the return values of
11813         dlsym(3), which get cast around arbitrarily.
11815         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
11817 2017-06-04  Philipp Stephani  <phst@google.com>
11819         Simplify interface of dynlib_attr.
11821         Instead of returning bool, set the argument pointers to NULL if the
11822         information is not available.
11824         * src/dynlib.c (dynlib_addr): Don't return bool.
11826 2017-06-04  Philipp Stephani  <phst@google.com>
11828         Rationalize environment lifetime management functions
11830         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
11831         (finalize_environment): Add parameter for public part of the
11832         environment, like 'initialize_environment'.  Add assertions.
11834 2017-06-04  Philipp Stephani  <phst@google.com>
11836         Rework printing of module functions
11838         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
11839         other types.
11841         * src/print.c (print_vectorlike): Add code to print module functions.
11843         * src/emacs-module.c (funcall_module): Stop calling
11844         'module_format_fun_env'.  Now that module functions are first-class
11845         objects, they can be added to signal data directly.
11846         (module_handle_signal): Remove now-unused function
11847         'module_format_fun_env'.
11849         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
11851         * src/eval.c (funcall_lambda): Adapt call to changed signature of
11852         'funcall_module'.
11854 2017-06-04  Philipp Stephani  <phst@google.com>
11856         Define helper macro to reduce code duplication
11858         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
11859         macro.
11860         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
11861         Use it.
11863 2017-06-04  Philipp Stephani  <phst@google.com>
11865         Remove two FIXMEs that can't be fixed
11867 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
11869         Avoid slow startup in daemon mode when global-linum-mode is on
11871         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
11872         non-client frame of a daemon session.  (Bug#27210)
11874 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
11876         Fix eldoc bug with curved quote
11878         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
11879         Substitute quotes in documentation before returning it (Bug#27159).
11881 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
11883         Tune ‘format’ after recent fix
11885         * doc/lispref/strings.texi (Formatting Strings):
11886         * src/editfns.c (Fformat): Format field numbers no longer need
11887         to be unique, reverting the previous doc change since that has
11888         now been fixed.  Also, document that %% should not have modifiers.
11889         * src/editfns.c (styled_format): Improve performance.  Remove
11890         the need for the new prepass over the format string, by using
11891         a typically-more-generous bound for the info array size.
11892         Initialize the info array lazily.  Move string inspection to
11893         the same area to help caching.  Avoid the need for a
11894         converted_to_string bitfield by using EQ.  Cache arg in a
11895         local and avoid some potential aliasing issues to help the
11896         compiler.  Info array is now 0-origin, not 1-origin.
11898 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
11900         Improve of file-local-name use in vc-git-checkin
11902         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
11903         when calling git commit.
11905 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
11907         Support a new CSS indentation style
11909         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
11910         immediately followed by a newline.
11912         * test/manual/indent/css-mode.css: Add test for the change above.
11914         * test/manual/indent/scss-mode.scss: Ditto.
11916 2017-06-03  Philipp Stephani  <phst@google.com>
11918         Fix a bug when using format field numbers
11920         Previously styled_format overwrite the argument vector.  This is no
11921         longer possible because there might be more than one specification per
11922         argument.  Use the existing auxiliary info array instead.
11924         * src/editfns.c (styled_format): Record arguments in the info
11925         structure instead of overwriting them.
11926         * test/src/editfns-tests.el (format-with-field): Add unit test.
11928 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
11930         Document uniqueness limitation of ‘format’
11932         * doc/lispref/strings.texi (Formatting Strings):
11933         * src/editfns.c (Fformat):
11934         Document that field numbers should be unique within a format.
11936 2017-06-03  Glenn Morris  <rgm@gnu.org>
11938         Small rmailmm fix (bug#27203)
11940         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
11941         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
11943 2017-06-03  Glenn Morris  <rgm@gnu.org>
11945         * admin/authors.el (authors-aliases): Addition.
11947 2017-06-03  Glenn Morris  <rgm@gnu.org>
11949         Add watch for password back to inferior python comint filter
11951         It was removed along with other items for speed (bug#16875),
11952         but doesn't seem to have been causing an issue, and it's useful to
11953         have it there (bug#27154).
11954         * lisp/progmodes/python.el (inferior-python-mode):
11955         Add comint-watch-for-password-prompt to comint-output-filter-functions.
11957 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
11959         Use completing-read-default in tmm-prompt
11961         tmm uses completing-read, but customizes its behavior so much
11962         that any alternative completing-read-function will almost
11963         certainly break it.  For example, both ido-ubiquitous and ivy have
11964         special code to deactivate themselves for tmm.
11965         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
11966         completing-read.  (Bug#27193)
11968 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
11970         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
11972 2017-06-02  Glenn Morris  <rgm@gnu.org>
11974         Fix with-todo-test
11976         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
11977         HOME should be a directory, not a file.  Delete it when finished.
11979 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
11981         Update TUTORIAL.it
11983         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
11985 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
11987         Fix cursor position in Dired buffers after dired-sort-toggle
11989         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
11990         even if the frame is marked as garbaged.  (Bug#27187)
11992 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
11994         Update TUTORIAL.he
11996         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
11998 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
12000         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
12002 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12004         Limit format fields to more POSIX-like spec
12006         * doc/lispref/strings.texi (Formatting Strings):
12007         Don’t allow mixing numbered with unnumbered format specs.
12008         * src/editfns.c (styled_format): Don’t bother checking for field 0,
12009         since it doesn’t crash and the behavior is not specified.
12010         * test/src/editfns-tests.el (format-with-field): Adjust tests to
12011         match current doc.  Add more tests for out-of-range fields.
12013 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12015         Improve performance by avoiding strtoumax
12017         This made (string-to-number "10") 20% faster on my old desktop,
12018         an AMD Phenom II X4 910e running Fedora 25 x86-64.
12019         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
12020         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
12021         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
12022         * m4/strtoumax.m4: Remove.
12023         * src/editfns.c (str2num): New function.
12024         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
12025         instead of uintmax_t.  Check for integer overflow.
12026         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
12027         Move to private scope and make them enums.
12028         (string_to_number): Compute integer value directly during
12029         first pass instead of revisiting it with strtoumax later.
12031 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12033         Minor improvements to format field numbers
12035         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
12036         No need for a special diagnostic for field numbers greater than
12037         PTRDIFF_MAX.  Reword diagnostic for field 0.
12038         * test/src/editfns-tests.el (format-with-field): Adjust to match.
12040 2017-06-02  Philipp Stephani  <phst@google.com>
12042         Implement field numbers in format strings
12044         A field number explicitly specifies the argument to be formatted.
12045         This is especially important for potential localization work, since
12046         grammars of various languages dictate different word orders.
12048         * src/editfns.c (Fformat): Update documentation.
12049         (styled_format): Implement field numbers.
12051         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
12053         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
12055         * test/src/editfns-tests.el (format-with-field): New unit test.
12057 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
12059         Limit scope of local overriding-terminal-local-map
12061         The function `binding' may call isearch-done, which globally sets
12062         overriding-terminal-local-map to nil (Bug#23007).
12063         * lisp/isearch.el (isearch-mouse-2): Don't bind
12064         overriding-terminal-local-map around the call to `binding'.
12066 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
12068         Correct and isolate the todo-mode test environment
12070         This avoids having to set todo-mode variables globally in the test
12071         file and prevents any exisiting user todo-mode files from influencing
12072         the tests.
12074         * test/lisp/calendar/todo-mode-tests.el:
12075         (with-todo-test): New macro.
12076         (todo-test-todo-quit01, todo-test-todo-quit02)
12077         (todo-test-item-highlighting): Use it.
12079 2017-06-01  Alan Third  <alan@idiocy.org>
12081         Fix build errors on macOS 10.6 (bug#27059)
12083         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
12085 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12087         Improve testing of octal and hex display of raw bytes
12089         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12090         (test-redisplay-5): Add a test with a large codepoint.
12092 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
12094         Add customizable to display raw bytes as hex
12096         * src/xdisp.c (get_next_display_element): Dispatch used format string
12097         for unprintables based on new display-raw-bytes-as-hex variable.
12098         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
12100         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
12102         * doc/emacs/display.texi: Document the new variable.
12103         * etc/NEWS: Mention display-raw-bytes-as-hex.
12105         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12106         (test-redisplay-5): New tests.
12107         (test-redisplay): Call test-redisplay-5.
12109 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12111         Revert "Add customizable to display raw bytes as hex"
12113         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
12115 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12117         Add customizable to display raw bytes as hex
12119         * src/xdisp.c (get_next_display_element): Dispatch used format string
12120         for unprintables based on new display-raw-bytes-as-hex variable.
12121         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
12123         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
12125         * doc/emacs/display.texi: Document the new variable.
12126         * etc/NEWS: Mention display-raw-bytes-as-hex.
12128         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12129         (test-redisplay-5): New tests.
12130         (test-redisplay): Call test-redisplay-5.
12132 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12134         Fix linum under text-scaling when leuven-theme is used
12136         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
12137         inherit from 'default' and 'shadow', so that margins are enlarged
12138         as expected under text-scaling.
12140 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12142         Free cwd when no longer needed
12144         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
12146 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
12148         Fix memory leak of cwd string in emacsclient (Bug#26628)
12150         * lib-src/emacsclient.c (main): emacsclient retrieves the current
12151         working directory using get_current_dir_name which returns a newly
12152         allocated string.  Make sure this string is freed before exiting.
12154 2017-06-01  Glenn Morris  <rgm@gnu.org>
12156         Quieten compilation of some test files
12158         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
12159         * test/src/data-tests.el (binding-test-set-constant-t)
12160         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
12161         (binding-test-set-constant-nil): Silence compiler.
12162         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
12164 2017-06-01  Glenn Morris  <rgm@gnu.org>
12166         Use true names for invocation- and source-directory
12168         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
12169         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
12171 2017-06-01  Glenn Morris  <rgm@gnu.org>
12173         Avoid elisp-mode test failures when source dir has multiple names
12175         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
12176         Use the true name of the directory.
12178 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12180         Fix bug with "%%" in error format
12182         * src/doprnt.c (doprnt): Format "%%" correctly.
12183         Problem reported by Philipp Stephani in:
12184         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00901.html
12186 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12188         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
12190 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
12192         Revert mml-generate-mime-1 (bug#27141)
12194         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
12195         with slight modernizations (bug#27141).
12197 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
12199         Fix Bug#27108
12201         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
12202         in order to avoid Tramp password requests during Emacs
12203         startup.  (Bug#27108)
12205 2017-05-31  Glenn Morris  <rgm@gnu.org>
12207         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
12209 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
12211         Document current-line hscrolling in ELisp manual
12213         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
12214         new mode of auto-hscrolling only the current line.
12216 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
12218         Support lower bound on hscrolling when only current line scrolls
12220         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
12221         mode of auto-hscrolling only the current line.
12223         * src/xdisp.c (init_iterator): When hscrolling only the
12224         current line, apply the window's min_hscroll here, so that
12225         non-current lines will be hscrolled by that minimum.
12226         Suggested by Stephen Berman <stephen.berman@gmx.net>.
12227         (hscroll_window_tree): Account for window's min_hscroll when
12228         deciding whether to recompute the hscroll.
12229         (display_line): Subtract window's min_hscroll from x_incr, as that
12230         was already accounted for in init_iterator.  (Bug#27008)
12232 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
12234         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
12236         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
12237         (cl-print-object): When `print-circle' is nil, bind it to a list of
12238         objects that are currently printing to avoid printing the same object
12239         endlessly.
12240         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
12242 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
12244         Further simplify test/Makefile, optionally load elc tests
12246         * test/Makefile.in: Use make's error ignoring feature instead of
12247         suppressing test errors with shell.  Compile test files in the main
12248         make invocation instead of a recursive 'make' call.  Optionally load
12249         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
12250         Remove obsolete commentary.
12252 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
12254         Avoid inflooping in redisplay due to Spacemacs and linum-mode
12256         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
12257         retries when a frame becomes garbaged as result of redisplaying
12258         it.  (Bug#27115)
12260 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
12262         * src/editfns.c (decode-time): Fix docstring.
12264 2017-05-31  Glenn Morris  <rgm@gnu.org>
12266         * admin/update_autogen: Remove bzr support.
12268 2017-05-31  Glenn Morris  <rgm@gnu.org>
12270         Avoid subr test failure when source dir has multiple names
12272         * test/lisp/subr-tests.el (subr-tests--this-file):
12273         Use the true name of the file.  The following test does a string
12274         comparison of this value with that from method-files, which uses
12275         load-history, which contains true names.
12277 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
12279         Extract eldoc--supported-p
12281         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
12282         (turn-on-eldoc-mode, eldoc-mode): Use it.
12283         (http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00865.html)
12285 2017-05-30  Glenn Morris  <rgm@gnu.org>
12287         Make "make check" less verbose by default
12289         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
12290         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
12291         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
12292         New, copied from lisp/Makefile.in.
12293         (%.elc, %.log): Simplify and quieten.
12295 2017-05-30  Alan Mackenzie  <acm@muc.de>
12297         Mode line "%q" construct: Just use one number when both would be the same.
12299         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
12301 2017-05-30  Alan Mackenzie  <acm@muc.de>
12303         Merge branch 'master' of /home/acm/emacs/emacs.git/master
12305 2017-05-30  Alan Mackenzie  <acm@muc.de>
12307         c-defun-name: Return fully qualified method names when wanted in C++, etc.
12309         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
12310         c-back-over-compound-identifier in place of c-backward-token-2 near the end
12311         of the function.
12313 2017-05-30  Glenn Morris  <rgm@gnu.org>
12315         Reduce scope of recent test/Makefile HOME change
12317         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
12319 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12321         Skip .#* temporaries when finding sources
12323         Without this patch, ‘make check’ can fail with the diagnostic
12324         ‘invalid syntax in conditional’ if there is an Emacs temporary
12325         file whose name starts with ‘.#’, because the ‘#’ is treated as
12326         the start of a Make comment.
12327         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
12328         * test/Makefile.in (ELFILES):
12329         Skip files starting with ‘.’, so that the .#* files do not cause
12330         trouble.  (We cannot easily skip just files starting with ‘.#’,
12331         since ‘#’ starts a Make comment!)
12333 2017-05-30  Alan Mackenzie  <acm@muc.de>
12335         Merge branch 'master' of /home/acm/emacs/emacs.git/master
12337 2017-05-30  Alan Mackenzie  <acm@muc.de>
12339         Fix the mouse help/key map on the "%p" part of the mode line.
12341         * lisp/bindings.el (mode-line-percent-position): give it a
12342         `risky-local-variable' property.
12343         (mode-line-position): correct the quoting on the mode-line-percent-position
12344         part of the variable, allowing the properties to be properly recognized.
12346 2017-05-30  Alan Mackenzie  <acm@muc.de>
12348         Fix the mouse help/key map on the "%p" part of the mode line.
12350         * lisp/bindings.el (mode-line-percent-position): give it a
12351         `risky-local-variable' property.
12352         (mode-line-position): correct the quoting on the mode-line-percent-position
12353         part of the variable, allowing the properties to be properly recognized.
12355 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12357         Merge from gnulib
12359         * build-aux/config.guess: Copy from gnulib.
12360         * lib/gnulib.mk.in: Regenerate.
12362 2017-05-30  Glenn Morris  <rgm@gnu.org>
12364         Stop make check interacting with HOME
12366         * test/Makefile.in (HOME): Export a non-existent value.
12368 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12370         Update .gitattributes to match sources better
12372         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
12373         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
12374         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
12375         Add config.guess and config.sub as shell files.
12377 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
12379         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
12381         * doc/emacs/cmdargs.texi (Initial Options):
12382         * doc/lispref/os.texi (Startup Summary):
12383         * etc/NEWS:
12384         * etc/emacs.service:
12385         * src/emacs.c (main):
12386         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
12387         '--bg-daemon'.
12389 2017-05-30  Glenn Morris  <rgm@gnu.org>
12391         todo-mode: don't assume an ordering of tests
12393         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
12394         (todo-test-item-highlighting): Avoid prompting for input file.
12396 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12398         Improve .gdbinit Lisp value pretty-printing
12400         * src/.gdbinit (to_string): Use an unsigned representation for
12401         Lisp values, as requested by Eli Zaretskii (Bug#27098).
12402         Also, use "make_number(N)" for Lisp integers.
12404 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
12406         Turn global-eldoc-mode into a globalized minor mode
12408         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
12409         Turn into globalized mode (bug#19853).
12410         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
12411         (eldoc-mode): Only show the message when called interactively.
12413 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
12415         Use regexp matching instead of checking exit status
12417         * lisp/progmodes/xref.el (xref-collect-matches):
12418         See if the output buffer contents look like Grep output
12419         instead of checking exit status (bug#23451).
12421 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
12423         Add initial tests for todo-mode.el
12425         *test/lisp/calendar/todo-mode-tests.el:
12426         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
12427         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
12429         * .gitattributes: Ignore trailing whitespace in todo-mode test
12430         data files, since it is part of the todo-mode file format.
12432 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
12434         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
12436         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
12437         replacing an anonymous function for the sake of `describe-variable'.
12438         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
12439         and remove boundp test of this variable, so its value is available on
12440         invoking `todo-toggle-item-highlighting'.
12442 2017-05-29  Alan Third  <alan@idiocy.org>
12444         Fix build error on macOS 10.6
12446         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
12447         CGPoint.
12449 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
12451         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
12453         * lisp/progmodes/python.el (python-indent--calculate-indentation):
12454         Increase indent by `python-indent-offset' after
12455         `:after-backslash-assignment-continuation'.
12457 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
12459         Add suggestion to docstring
12461         * lisp/subr.el (interactive-p): Mention commandp, as this is often
12462           what users are actually looking for.
12464 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
12466         Ensure button-get works in any buffer
12468         * lisp/button.el (button-get): Previously we assumed that button-get
12469           was called in the buffer containing the button.  In other buffers,
12470           button-get always returned nil.  Fix this by passing the relevant
12471           buffer from the marker.
12473 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
12475         Signal error if find-grep returns a nonzero status
12477         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
12478         if find-grep returns a nonzero status (bug#23451).  Remove the
12479         comment: even if some output is present, a non-zero status
12480         means something went wrong and it can't be relied upon.
12482 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
12484         Make sure exiting todo-mode buffer buries it (bug#27121)
12486         This failed due to commit ea3ae33b from 2013-05-16, which prevented
12487         quitting todo-mode buffer after visiting todo-archive buffer from
12488         making the archive buffer current again.  Avoid this now by simply
12489         killing the archive buffer, since there's no need to keep it a live
12490         buffer.  Consequently, quitting a todo-mode buffer can now use
12491         bury-buffer without an argument, which ensures that is will not
12492         becomes current on quitting the buffer that replaced it in the window.
12494         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
12495         buffer instead of burying it.  This now allows exiting the
12496         todo-mode buffer by bury-buffer without an argument, so do that.
12498 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
12500         Some tweaks, almost all for Tramp adb method
12502         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
12503         Use `make-tramp-file-name'.
12504         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
12505         (tramp-adb-maybe-open-connection): Set "prompt" property.
12506         (tramp-adb-wait-for-output): Use it.
12508         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
12509         (tramp-dump-connection-properties): Check also that there are
12510         properties to be saved.  Don't save "started" property of
12511         "ftp" method.
12513         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
12514         Use `make-tramp-file-name'.
12516         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
12517         Host could be empty.
12518         (tramp-file-name-port-or-default): New defun.
12519         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
12520         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
12521         (tramp-call-process, tramp-call-process-region):
12522         Use `make-tramp-file-name'.
12524         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
12525         Revert change from 2017-05-24.
12526         (tramp-test05-expand-file-name-relative): Let it also pass for
12527         "adb" method.
12529 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
12531         Fix Tramp for Android 7
12533         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
12534         Username part of prompt is empty on Android 7.
12535         (tramp-adb-ls-toolbox-regexp):
12536         Ignore addition links column on Android 7.
12537         (tramp-adb-get-ls-command):
12538         Dont use --color=none when using toybox (Android 7).  It's not
12539         possible to disable coloring explicitly for toybox ls.
12541 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
12543         Fix cl-indent for `loop' with :keywords (Bug#15543)
12545         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
12546         ":keywords".
12548 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12550         Depromiscuify inotify with IN_MASK_ADD
12552         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
12553         mask.  This simplifies the code and restores the ability to
12554         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
12555         in some cases (Bug#26973).
12556         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
12557         (Finotify_add_watch): Use IN_MASK_ADD instead.
12559 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12561         Restore inotify onlydir support
12563         There was no need to remove it in the 2017-03-26 inotify change,
12564         as it is like IN_DONT_FOLLOW and does not affect other watchers
12565         for the same file.
12566         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
12567         (syms_of_inotify): Bring back onlydir.
12569 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12571         Simplify computation of inotify mask
12573         * src/inotify.c (add_watch): Accept uint32_t imask instead
12574         of Lisp_Object aspect.  Caller changed.
12575         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
12576         simplify the code.
12578 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
12580         Improve the documentation of filesets
12582         * doc/emacs/files.texi (Filesets): Fix the description of
12583         fileset-init's effect on the menu bar.  (Bug#27015)
12585 2017-05-27  Philipp Stephani  <phst@google.com>
12587         Don't attempt to recover from undefined behavior in some cases
12589         These functions can only be run in batch mode and exit Emacs on
12590         return, so nothing can be recovered.  Disable unsafe recover
12591         mechanisms so that we get real failures and good stack traces on
12592         fatal signals.
12594         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
12595         (batch-byte-recompile-directory):
12596         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
12597         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
12598         from undefined behavior.
12600 2017-05-27  Philipp Stephani  <phst@google.com>
12602         Avoid another compiler warning on macOS
12604         When configured with --without-ns, HAVE_NS is not defined on macOS,
12605         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
12606         by using the pre-defined __APPLE__ preprocessor macro.
12608         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
12610 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
12612         Fix ruler-mode text-scaling issues
12614         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
12615         for computing scaled text width.
12616         (ruler-mode-text-scaled-window-hscroll)
12617         (ruler-mode-text-scaled-window-width): Compute text scaled
12618         `window-width' value.
12619         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
12620         (ruler-mode-ruler): Change `window-hscroll' into
12621         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
12622         into `ruler-mode-text-scaled-window-width'.
12624 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
12626         Minor doc and doc-string fixes (Bug#27091)
12628         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
12630         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
12631         (Display Margins): Mention that `set-window-buffer' may override
12632         settings made by `set-window-fringes', `set-window-scroll-bars'
12633         and `set-window-margins'.
12634         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
12635         `set-window-buffer'.
12637 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
12639         Avoid args-out-of-range errors on fringe clicks after "C-h k"
12641         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
12642         message is already shorter than NCHARS.  (Bug#27040)
12644 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
12646         Fix GUD "Stop" display when running pdb
12648         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
12649         when GUD mode is 'pdb'.  (Bug#27024)
12651 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
12653         Support drag and drop of region by mouse (Bug#26725)
12655         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
12656         and drop region by mouse.
12657         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
12658         when start-event is on region.
12659         (mouse-drag-and-drop-region): New function, moves the region by
12660         (mouse-drag-and-drop-region): New defcustom.
12661         * etc/NEWS: Mention mouse-drag-and-drop-region.
12663 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
12665         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
12667 2017-05-27  Alan Third  <alan@idiocy.org>
12669         Check if instancetype supported in ObjC
12671         * configure.ac: Add check for instancetype.
12672         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
12674 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
12676         Mark keywordp as a safe, error-free function
12678         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
12679           side-effect-and-error-free-fns.
12681 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
12683         * src/inotify.c: Add FIXME comments.
12685 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
12687         Fix Bug#26973
12689         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
12690         and CLOSE events on order do let other processes also reading
12691         from their descriptors.  (Bug#26973).
12693 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
12695         Remove Emacs 23 compat code from Tramp
12697         * doc/misc/tramp.texi (Remote processes): Don't mention
12698         Emacs 24 explicitely.
12699         (Frequently Asked Questions): Remove Emacs 23 from
12700         compatibility list.
12702         * lisp/net/tramp.el:
12703         * lisp/net/tramp-adb.el:
12704         * lisp/net/tramp-cache.el:
12705         * lisp/net/tramp-gvfs.el:
12706         * lisp/net/tramp-sh.el:
12707         * lisp/net/tramp-smb.el: Replace compat function calls.
12709         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
12710         (tramp-compat-condition-case-unless-debug)
12711         (tramp-compat-copy-file, tramp-compat-copy-directory)
12712         (tramp-compat-delete-file, tramp-compat-delete-directory)
12713         (tramp-compat-process-live-p): Remove them.
12715         * lisp/net/trampver.el: Make version check fit for Emacs 24.
12717 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
12719         Work for application/x-tar-gz and image/svg+xml
12721         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
12722         ;; of bug#27078 in the Emacs bug list using Gnus.
12724         * lisp/gnus/mm-archive.el (mm-archive-decoders):
12725         Add a decoder for application/x-tar-gz.
12726         (mm-dissect-archive): Error out if a decoder is not found.
12728         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
12730 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
12732         test-calc-23889: Skip test on 32-bit platforms
12734         This test fails on some 32-bit platforms as mentioned in
12735         https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00737.html
12736         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
12737         the Lisp integer is not big enough.
12739 2017-05-25  Alan Third  <alan@idiocy.org>
12741         Fix NS tooltips showing in the wrong place (bug#27053)
12743         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
12744         last recorded position.
12746 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12748         lisp/net/soap-client.el: Bump version to 3.1.2
12750         * lisp/net/soap-client.el: Bump version to 3.1.2.
12752 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12754         Fix soap-inspect.el doc strings
12756         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
12757         string.
12758         (soap-inspect-xs-attribute-group): Likewise.
12760 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12762         Fix two soap-client.el byte compilation warnings
12764         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
12765         (soap-fetch-xml-from-url): Remove special declaration of
12766         url-http-response-status.
12767         (soap-invoke-internal): Likewise.
12769 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12771         lisp/net/soap-client.el: Require cl-lib version 0.6.1
12773         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
12775 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12776             Stefan Monnier  <monnier@iro.umontreal.ca>
12778         lisp/net/soap-client.el: Shorten some long lines
12780         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
12781         unnecessary progn.
12782         (soap-xs-add-union): Wrap long line.
12784 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
12785             Stefan Monnier  <monnier@iro.umontreal.ca>
12787         Remove cl dependency in soap-client.el and soap-inspect.el
12789         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
12790         with cl-case, destructuring-bind with cl-destructuring-bind and
12791         loop with cl-loop.
12793         * lisp/net/soap-client.el: Replace cl library with cl-lib,
12794         defstruct with cl-defstruct, assert with cl-assert, case with
12795         cl-case, ecase with cl-ecase, loop with cl-loop and
12796         destructuring-bind with cl-destructuring-bind.
12798 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
12800         Switch Tramp to cl-lib
12802         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
12804         * lisp/net/tramp-ftp.el: Don't require cl.
12806         * lisp/net/tramp-gvfs.el: Don't require cl.
12807         (tramp-gvfs-handler-mounted-unmounted)
12808         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
12810         * lisp/net/tramp-sh.el: Don't require cl.
12811         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
12812         (tramp-sh-gvfs-monitor-dir-process-filter)
12813         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
12815         * lisp/net/tramp-smb.el: Don't require cl.
12816         (tramp-smb-read-file-entry): Use `cl-*' macros.
12818         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
12819         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
12820         (tramp-parse-passwd, tramp-parse-etc-group)
12821         (tramp-parse-putty): Use `cl-*' macros.
12823 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
12825         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
12827 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
12829         Port ATTRIBUTE_MAY_ALIAS to recent icc
12831         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
12832         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
12833         “warning #2621: attribute "__may_alias__" does not apply here”
12834         for constructs like ‘struct sockaddr *sa = (whatever);
12835         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
12836         = (struct sockaddr_in *) sa;’.
12838 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
12840         Merge from gnulib
12842         This incorporates:
12843         2017-05-25 port to recent icc
12844         * lib/intprops.h: Copy from gnulib.
12846 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
12848         Fix Tramp for python.el
12850         * lisp/net/tramp.el (tramp-get-connection-process): Check,
12851         that VEC is a `tramp-file-name' structure.
12853 2017-05-24  Alan Third  <alan@idiocy.org>
12855         Raise version of macOS we define instancetype for (bug#27059)
12857         * src/nsterm.m: Increase supported version number.
12859 2017-05-24  Alan Third  <alan@idiocy.org>
12861         Define new types on macOS 10.6 (bug#27041)
12863         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
12864         correct NSUInteger instead of int.
12866 2017-05-24  Glenn Morris  <rgm@gnu.org>
12868         Don't autoload new dns-mode command
12870         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
12871         Remove autoload cookie.
12873 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
12875         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
12877         (sxhash_vector): Make it work on pseudo vectors as well.
12878         (sxhash): Treat records like vectors.
12880 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
12882         Adapt tramp-tests.el according to new defstruct
12884         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
12885         Fix test according to new defstruct.
12886         (tramp-test29-environment-variables-and-port-numbers):
12887         Expect it now as passed.  Cleanup at the end.
12889 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
12891         Introduce a defstruct `tramp-file-name' as central data structure.
12893         This solves also Bug#27009.
12895         * lisp/net/tramp.el (tramp-current-domain)
12896         (tramp-current-port): New defvars.
12897         (tramp-file-name): New defstruct.
12898         (tramp-file-name-user-domain, tramp-file-name-host-port)
12899         (tramp-file-name-equal-p): New defuns.
12900         (tramp-file-name-p, tramp-file-name-method)
12901         (tramp-file-name-user, tramp-file-name-host)
12902         (tramp-file-name-localname, tramp-file-name-hop)
12903         (tramp-file-name-real-user, tramp-file-name-domain)
12904         (tramp-file-name-real-host, tramp-file-name-port):
12905         Remove defuns.  They are provided by the defstruct, or not
12906         needed anymore.
12907         (tramp-dissect-file-name, tramp-buffer-name)
12908         (tramp-make-tramp-file-name, tramp-get-buffer)
12909         (tramp-set-connection-local-variables)
12910         (tramp-debug-buffer-name, tramp-message)
12911         (tramp-error-with-buffer, with-parsed-tramp-file-name)
12912         (tramp-completion-dissect-file-name1)
12913         (tramp-handle-file-name-as-directory)
12914         (tramp-handle-file-name-directory)
12915         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
12916         (tramp-handle-find-backup-file-name)
12917         (tramp-handle-insert-file-contents, tramp-process-actions)
12918         (tramp-check-cached-permissions, tramp-local-host-p)
12919         (tramp-get-remote-tmpdir, tramp-call-process)
12920         (tramp-call-process-region, tramp-read-passwd)
12921         (tramp-clear-passwd):
12922         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
12923         (tramp-adb-handle-expand-file-name)
12924         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
12925         (tramp-adb-handle-process-file)
12926         (tramp-adb-maybe-open-connection):
12927         * lisp/net/tramp-cache.el (tramp-get-hash-table)
12928         (tramp-get-file-property, tramp-set-file-property)
12929         (tramp-flush-file-property, tramp-flush-directory-property)
12930         (tramp-get-connection-property)
12931         (tramp-set-connection-property, tramp-connection-property-p)
12932         (tramp-flush-connection-property, tramp-cache-print)
12933         (tramp-list-connections, tramp-dump-connection-properties)
12934         (tramp-parse-connection-properties):
12935         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
12936         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
12937         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
12938         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
12939         (tramp-gvfs-handler-mounted-unmounted)
12940         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
12941         (tramp-gvfs-get-remote-gid)
12942         (tramp-gvfs-maybe-open-connection):
12943         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
12944         (tramp-do-copy-or-rename-file-out-of-band)
12945         (tramp-sh-handle-expand-file-name)
12946         (tramp-sh-handle-start-file-process)
12947         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
12948         (tramp-maybe-open-connection)
12949         (tramp-make-copy-program-file-name, tramp-get-remote-path)
12950         (tramp-get-inline-coding):
12951         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
12952         (tramp-smb-handle-expand-file-name)
12953         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
12954         (tramp-smb-handle-set-file-acl)
12955         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
12957 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
12959         Fix and improve UI of scroll bar menu (bug#27047)
12961         In addition, since the Emacs manual writes "scroll bar", "tool
12962         bar" and "menu bar", use this convention in the Show/Hide menues
12963         and tooltips as well.
12965         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
12966         pressing a radio button in the menu actually show that it was
12967         pressed.  Replace the two radio buttons to turn the horizontal
12968         scroll bar on and off with a single check-box toggle and add a
12969         separator between this and the vertical scroll bar radio
12970         buttons.  Use conventional spelling.
12971         (menu-bar-horizontal-scroll-bar)
12972         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
12973         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
12974         (menu-bar-mode): Use conventional spelling.
12976 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
12978         Remove string-as-unibyte
12980         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
12981         (canlock-make-cancel-key): No need to use string-as-unibyte.
12983 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
12985         Fix concatenation of "^" with diff-file-junk-re
12987         This regexp contains "\\|", thus a concatenation
12988         of "^" with it just matches the beginning of line for the
12989         first alternative in diff-file-junk-re.
12990         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
12991         diff-file-junk-re wrapped in a shy group.
12993 2017-05-24  Glenn Morris  <rgm@gnu.org>
12995         Suppress intermittent test failure on hydra
12997         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
12998         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
13000 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
13002         New dns-mode command for IPv6 address conversion
13004         This converts IPv6 addresses to a format suitable for
13005         reverse lookup zone files.  (Bug#26820)
13006         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
13007         Add dns-mode-ipv6-to-nibbles.
13008         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
13009         New functions.
13010         * test/lisp/dns-mode-tests.el: New file.
13012 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
13014         Protect *Backtrace* from being killed (Bug#26650)
13016         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
13017         `kill-buffer-hook'.
13019 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
13021         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
13023         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
13024         (lisp-mode-variables): Use it.
13026 2017-05-23  Philipp Stephani  <phst@google.com>
13028         vc-hg.el: Silence byte compiler warning
13030         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
13032 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13034         Don't warn about missing brances on macOS
13036         On macOS, removing -Wmissing-braces is not enough; the warning has to
13037         be disabled explicitly.
13039 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
13041         Don't treat ' as a string delimiter in RPM spec files
13043         ' is commonly used as an apostrophe in the prose sections of spec
13044         files, which was erroneously highlighted as strings. See for example
13045         http://kmymoney2.sourceforge.net/phb/rpm-example.html
13047         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
13048           punctuation in RPM spec files.
13050 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13052         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
13054         (common-lisp-indent-function-1): Remove unused var `last-point`.
13055         (lisp-indent-error-function): Move defvar before first use.
13057 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13059         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
13061         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
13063         * lisp/net/shr.el: Use cl-lib instead of cl.
13065 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13067         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
13069         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
13070         (binding-test-makunbound, data-tests-varalias-watchers)
13071         (data-tests-local-variable-watchers): Silence compiler warnings.
13073 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13075         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
13077 2017-05-23  Alan Third  <alan@idiocy.org>
13079         Fix GNUstep build
13081         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
13082         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
13083         GNUstep and old versions of macOS.
13084         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
13085         works in cocoa, not GNUstep.
13087 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
13089         Add test for Bug#27009 in tramp-tests.el
13091         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
13092         Check `tramp-file-name-real-host' for being a local host.
13094         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
13096         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
13097         Declare default host for mock method.
13098         (tramp-test29-environment-variables-and-port-numbers): New test.
13100 2017-05-23  Glenn Morris  <rgm@gnu.org>
13102         Don't advertise s_client in tls.el docs
13104         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
13105         Don't mention s_client in docs.
13107         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
13109 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
13111         Remove s_client usage from tls.el
13113         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
13114         Ref http://bugs.debian.org/766397
13115         http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
13118         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
13120 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
13122         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
13124 2017-05-22  Sam Steingold  <sds@gnu.org>
13126         Fix "g" in hg&git push&pull buffers
13128         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
13129         `compilation-directory' and `compilation-arguments'.
13130         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
13132 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
13134         Fix current-line hscrolling in buffers with header-line
13136         * src/xdisp.c (display_line): When testing the glyph row's
13137         vertical position against the cursor position, account for header
13138         line, if any.  (Bug#27014)
13140 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
13142         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
13144         (rfc2047-decode-encoded-words): Use dolist.
13145         (rfc2047-decode-string): Avoid string-to-multibyte.
13146         (rfc2047-pad-base64): Use pcase.
13148 2017-05-21  Dima Kogan  <dima@secretsauce.net>
13150         Make ff-find-other-file symmetric for C++ (Bug#20192)
13152         `cc-other-file-alist' has a mapping of file extensions to switch
13153         between headers and sources, but the mappings weren't completely
13154         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
13155         to .cpp.
13157         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
13158         C++ extensions to make them symmetric with the C++ extensions that map
13159         to them.  This lets repeated invocations of `ff-find-other-file'
13160         toggle between all pairs of sources/headers.
13162 2017-05-21  Philipp Stephani  <phst@google.com>
13164         Fix definition of whitespace in JSON
13166         See
13167         https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00115.html.
13169         * lisp/json.el (json-skip-whitespace): Fix definition.
13170         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
13171         test.
13173 2017-05-21  Philipp Stephani  <phst@google.com>
13175         Improve module function terminology
13177         Module functions were previously called "function environments" when
13178         the functions created by module_make_functions were lambdas.  Now we
13179         can adapt the terminology and rename "function environments" to
13180         "module functions" everywhere.  This also removes the name clash
13181         between "function environments" and "module environments."
13183         * src/emacs-module.c (module_make_function): Adapt comment to reality;
13184         stop using "function environment" terminology.
13185         (funcall_module): Stop using "function environment" terminology.
13187 2017-05-21  Philipp Stephani  <phst@google.com>
13189         Avoid uninitialized read
13191         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
13193 2017-05-21  Philipp Stephani  <phst@google.com>
13195         Fix call of registerServicesMenuSendTypes
13197         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
13198         returnTypes; pass an empty array instead.
13200 2017-05-21  Philipp Stephani  <phst@google.com>
13202         Clean up code around 'ns-list-services'
13204         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
13205         branch NS_IMPL_COCOA cannot be defined.
13206         (interpret_services_menu): Define only if called to avoid compiler
13207         warnings about unused static functions.
13209 2017-05-21  Philipp Stephani  <phst@google.com>
13211         Remove unused automatic variables
13213         * src/nsterm.m (ns_read_socket):
13214         * src/macfont.m (macfont_open): Remove unused automatic variables.
13216 2017-05-21  Philipp Stephani  <phst@google.com>
13218         Nextstep: Replace deprecated enumerators
13220         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
13221         deprecated enumerator.
13223 2017-05-21  Philipp Stephani  <phst@google.com>
13225         Nextstep: remove some deprecated method calls
13227         * src/nsterm.m (mouseDown:):
13228         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
13229         deprecated method.  The return value is always nil.
13230         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
13232 2017-05-21  Philipp Stephani  <phst@google.com>
13234         Remove trailing semicolons in method definitions
13236         These semicolons are ignored and cause compiler warnings.
13238         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
13239         * src/nsterm.m (init, updateFrameSize:):
13240         (setFrame:): Remove trailing semicolon.
13242 2017-05-21  Philipp Stephani  <phst@google.com>
13244         Remove calls to deprecated setUsesScreenFonts
13246         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
13247         (mac_font_shape_1): Remove screen_font_p parameter.
13248         (mac_screen_font_shape): Remove screen_font_p argument.
13250 2017-05-21  Philipp Stephani  <phst@google.com>
13252         Make a function static that isn't used outside this file
13254         * src/kqueue.c (kqueue_directory_listing): Make static.
13256 2017-05-21  Philipp Stephani  <phst@google.com>
13258         Use NSCharacterCollection instead of CTCharacterCollection
13260         This should not cause behavior changes, but fixes a compiler warning
13261         due to implicit conversions between the enums.
13263         * src/macfont.m (macfont_cache, macfont_lookup_cache)
13264         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
13265         (macfont_variation_glyphs): Use NSCharacterCollection.
13267 2017-05-21  Philipp Stephani  <phst@google.com>
13269         Remove unused function print_regions
13271 2017-05-21  Philipp Stephani  <phst@google.com>
13273         Declare Nextstep unexec functions in lisp.h
13275         This removes compiler warnings about missing prototypes on macOS.
13277 2017-05-21  Philipp Stephani  <phst@google.com>
13279         Nextstep: Use instancetype explicit return type
13281         This removes compiler warnings on macOS and improves type safety.
13283         * src/nsterm.m (initFrameFromEmacs:):
13284         (menuDown:):
13285         (toolbarClicked:):
13286         (toggleToolbar:):
13287         (setMiniwindowImage:):
13288         (initFrame:window:):
13289         (condemn, reprieve, setPosition:portion:whole:):
13290         (repeatScroll:):
13291         * src/nsmenu.m (initWithTitle:):
13292         (initWithTitle:frame:):
13293         (initForView:withIdentifier:):
13294         (init, initWithContentRect:styleMask:backing:defer:):
13295         (initFromContents:isQuestion:):
13296         * src/nsimage.m (allocInitFromFile:):
13297         (initFromXBM:width:height:fg:bg:):
13298         (setXBMColor:):
13299         (initForXPMWithDepth:width:height:): Use instancetype as return
13300         type instead of implicit id.
13302 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
13304         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
13306 2017-05-21  Alan Mackenzie  <acm@muc.de>
13308         Enhance mode-line percentage offset facility, with "%o" and "%q"
13310         "%o" will display the percentage "travel" of the window through the buffer.
13311         "%q" will display a combination of the percentage offsets of the top and
13312         bottom of the window.  The new user option mode-line-percent-position will
13313         facilitate selecting a setting for this part of the mode line.
13315         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
13316         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
13318         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
13320         * doc/lispref/modes.texi (Mode Line Variables): Document
13321         mode-line-percent-position.
13322         (%-Constructs): Document %o and %q.
13324         * etc/NEWS: Add an entry for these new facilities.
13326 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13328         Work around macOS bug in create_process, too
13330         * src/process.c (create_process) [DARWIN_OS]:
13331         Reset SIGCHLD after vfork here, too.
13333 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13335         Work around macOS bug with vforked child
13337         * src/callproc.c (call_process) [DARWIN_OS]:
13338         Include workaround for apparent macOS bug.
13340 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13342         Pacify --enable-gcc-warnings without modules
13344         * src/print.c (print_vectorlike): New function, taken from
13345         part of print_object.  This one is indented properly, and
13346         pacifies --enable-gcc-warnings by using a default case
13347         instead of listing all the enum values, sometimes
13348         incompletely.
13349         (print_object): Use it.
13351 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13353         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
13355         It does not appear to be needed (Bug#24441).
13356         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
13357         * src/fileio.c (file_name_case_insensitive_p):
13358         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
13360 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13362         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
13364         * etc/PROBLEMS: Document this (Bug#24441).
13365         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
13366         with _PC_CASE_SENSITIVE, if it works, to
13367         DARWIN_OS_CASE_SENSITIVE_FIXME code.
13368         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
13369         which matches the Apple documentation more precisely.
13371 2017-05-21  Tom Tromey  <tom@tromey.com>
13373         Fix mhtml-mode fontification bug
13375         Bug#26922
13376         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
13377         sgml-syntax-propertize-inside if not in a submode.
13378         * test/manual/indent/html-multi-4.html: New file.
13380 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
13382         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
13384         * lisp/ido.el (ido-set-matches-1): Only check first character of
13385         item if it's non-empty.
13387 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
13389         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
13391 2017-05-21  Glenn Morris  <rgm@gnu.org>
13393         Prevent loading vc-bzr writing to ~/.bzr.log
13395         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
13397 2017-05-21  Glenn Morris  <rgm@gnu.org>
13399         Prevent running vc-tests writing to ~/.bzr.log
13401         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
13402         (vc-test--register, vc-test--working-revision)
13403         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
13405 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
13407         Don't end non-hook variable with "-hook" (Bug#26623)
13409         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
13410         follow-inside-post-command-hook, update uses.
13412 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
13414         Fix macOS mouse movement
13416         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
13417         function (Lisp).
13418         (set-mouse-absolute-pixel-position): Change it to call
13419         `ns-set-mouse-absolute-pixel-position' on macOS.
13420         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
13421         function.
13422         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
13423         screen's height as a base for calculating global coordinates.
13424         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
13425         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
13426         movement of mouse relative to frame.
13428 2017-05-21  Alan Third  <alan@idiocy.org>
13430         Show tooltip on correct screen (bug#26905)
13432         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
13433         tooltip and constrain it to that screen.
13435 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
13437         Don't save unrelated buffers before recompiling directory (Bug#25964)
13439         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
13440         buffers visiting lisp files under the directory being compiled.
13442 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13444         Minor fixes for arity ranges in emacs modules
13446         * src/emacs-module.c (module_make_function):
13447         Check that arities fit into fixnums, for func-arity’s benefit.
13448         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
13449         (module_function_arity): Allow arities greater than SHRT_MAX.
13451 2017-05-20  Philipp Stephani  <phst@google.com>
13453         Reimplement module functions
13455         Instead of a lambda, create a new type containing all data required to
13456         call the function, and support it in the evaluator.  Because this type
13457         now also needs to store the function documentation, it is too big for
13458         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
13459         that we don't have to add special support to the garbage collector.
13461         Since the new type is user-visible, give it a predicate.
13463         Now we can easily support 'help-function-args' and 'func-arity'; add
13464         unit tests for these.
13466         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
13467         (XMODULE_FUNCTION): New pseudovector type 'module function'.
13469         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
13470         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
13471         functions.
13472         (Ffunc_arity): Add support for detecting the arity of module
13473         functions.
13475         * src/emacs-module.c (module_make_function): Adapt to new structure.
13476         Return module function object directly instead of wrapping it in a
13477         lambda; remove FIXME.
13478         (funcall_module): New function to call module functions.  Replaces
13479         `internal--module-call' and is called directly from eval.c.
13480         (syms_of_module): Remove internal helper function, which is no longer
13481         needed.
13482         (module_function_arity): New helper function.
13484         * src/data.c (Ftype_of): Adapt to new implementation.
13485         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
13486         that module functions are first-class objects, they deserve a
13487         predicate.  Define it even if not compiled with --enable-modules so
13488         that Lisp code doesn't have to check for the function's existence.
13490         * src/doc.c (Fdocumentation): Support module functions.
13492         * src/print.c (print_object): Adapt to new implementation.
13494         * src/alloc.c (mark_object): Specialized garbage collector support is
13495         no longer needed.
13497         * lisp/help.el (help-function-arglist): Support module functions.
13498         While there, simplify the arity calculation by using `func-arity',
13499         which does the right thing for all kinds of functions.
13501         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
13502         the argument list.
13504         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
13505         new docstring.
13506         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
13507         is gone, the backtrace has changed and no longer leaks the
13508         implementation.
13509         (module--func-arity): New test for `func-arity'.
13510         (module--help-function-arglist): New test for `help-function-arglist'.
13512 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
13514         Avoid crashes in GC due to unescaped characters warning
13516         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
13517         Lisp objects from stack-based variables.  (Bug#26961)
13519 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
13521         New commands: find-library-other-window, find-library-other-frame
13523         * lisp/emacs-lisp/find-func.el (find-library-other-window)
13524         (find-library-other-frame): New commands to complement the
13525         existing 'find-library' command.  (Bug#26712)
13526         (read-library-name): New function to read a library name.
13527         * etc/NEWS: Mention 'find-library-other-window' and
13528         'find-library-other-frame'.
13530 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
13532         Fix automatic hscrolling of only the current line
13534         * src/xdisp.c (display_line): When hscrolling only the current
13535         line, increment iterator's first_visible_x and last_visible_x
13536         values to account for the hscroll.  This propagates the hscroll
13537         effect on the iterator geometry all the way down to the
13538         subroutines called by display_line, and avoids scrolling bugs
13539         under large hscroll values.  (Bug#26994)
13541 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13543         Add handlerlist assertion to module code
13545         * src/emacs-module.c (module_reset_handlerlist):
13546         Check handlerlist.  Suggested by Philipp Stephani in:
13547         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
13549 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13551         Port --enable-gcc-warnings to clang 3.9.1
13553         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
13554         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
13555         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
13557 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
13559         Limit integers printed as characters (Bug#16828)
13561         * lisp/simple.el (eval-expression-print-maximum-character): New
13562         variable.
13563         (eval-expression-print-format): Only display value as character if
13564         it's less than or equal to `eval-expression-print-maximum-character'.
13565         (eval-expression-get-print-arguments): Check
13566         eval-expression-print-maximum-character, allow negative arg to
13567         override it.
13568         (eval-expression):
13569         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
13570         (elisp--eval-last-sexp-print-value): Handle new variable.
13571         * doc/emacs/building.texi (Lisp Eval): Document new variable and
13572         behavior.
13573         * etc/NEWS: Announce it.
13574         * test/lisp/progmodes/elisp-mode-tests.el
13575         (eval-last-sexp-print-format-small-int)
13576         (eval-last-sexp-print-format-small-int-echo)
13577         (eval-last-sexp-print-format-large-int)
13578         (eval-last-sexp-print-format-large-int-echo):
13579         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
13580         (eval-expression-print-format-small-int-echo)
13581         (eval-expression-print-format-large-int)
13582         (eval-expression-print-format-large-int-echo): New tests.
13584 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
13586         Refactor lisp eval result printing
13588         * lisp/simple.el (eval-expression-print-format): Don't check
13589         `standard-output' or `current-prefix-arg'.
13590         (eval-expression-get-print-arguments): New function, centralizes
13591         decision about how to print results of `eval-expression' and
13592         `eval-last-sexp'.
13593         (eval-expression):
13594         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
13595         Use it.
13597 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13599         Check that signed right shift is arithmetic
13601         * src/data.c (ash_lsh_impl): Verify that signed right shift is
13602         arithmetic; if we run across a compiler that uses a logical shift
13603         we’ll need to complicate the code before removing this
13604         compile-time check.  Help the compiler do common subexpression
13605         elimination better.
13607 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13609         Minor .gitignore fixes
13611         * .gitignore: modules/mod-test/Makefile was renamed to
13612         test/data/emacs-module/Makefile.
13613         Omit [0-9]*.core, subsumed by *.core.
13614         test/indent/*.new was renamed to test/manual/indent/*.new.
13615         Add *.swp, for Vim.
13617 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
13619         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
13621 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
13623         Describe problems with Microsoft Intellipoint
13625         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
13626         mouse-2 events.  For the details, see
13627         http://lists.gnu.org/archive/html/help-emacs-windows/2017-05/msg00009.html.
13629 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
13631         Fix turning off whitespace-mode
13633         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
13634         the original buffer-display-table is saved and restored when
13635         global-whitespace-mode is active.  (Bug#26892)
13637         * test/lisp/whitespace-tests.el
13638         (whitespace-tests-whitespace-mode-on): New function.
13639         (whitespace-tests-display-tables): New test.
13641 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
13643         Minor tweaks in tramp-tests.el
13645         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
13646         (tramp-test05-expand-file-name-relative): Use it.
13647         (tramp-test38-unload): Run only in batch mode.
13649 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
13651         Fix a problem with OpenSSH 7 in Tramp
13653         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
13654         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
13656 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
13658         Improve documentation of 'split-string'
13660         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
13661         make it more readable.  (Bug#26925)
13663 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
13665         Fix typos in doc strings
13667         * lisp/mail/rfc2231.el (rfc2231-encode-string):
13668         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
13669         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
13670         strings.  (Bug#26103)
13672 2017-05-19  Philipp Stephani  <phst@google.com>
13674         Fix module tests on some systems
13676         If dladdr(3) isn't available or didn't work, the printed
13677         representation of a module function will not include the file name,
13678         but only the address.  Make the tests pass in that case.
13680         * test/src/emacs-module-tests.el (module-function-object): Fix match for
13681         module function printed representation
13683 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
13685         Add an optional arguments to string-trim
13687         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
13688         (string-trim): Add optional args that serve as defaults per the
13689         original behavior.  (Bug#26908)
13691 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
13693         Fix typo in last change to auto-hscroll-mode
13695         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
13697 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
13699         Support remote editing in emacsclient via Tramp
13701         * lib-src/emacsclient.c (main, decode_options)
13702         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
13703         specifies how emacs should use tramp to find remote files.
13705         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
13706         the various knobs to tune server.el for TCP opereation.
13707         (emacsclient Options): Reference "TCP Emacs server" from description of
13708         --server-file.  Document the new '--tramp' / '-T' options.
13709         * doc/emacs/emacs.texi (Top): Update the top-level menu.
13711         * etc/NEWS: Mention the new option.
13713 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
13715         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
13717 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13719         Attempt to work around macOS vfork bug
13721         Problem reported by YAMAMOTO Mitsuharu in:
13722         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00342.html
13723         This is related to the fix for Bug#26397.
13724         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
13725         Report internal error if wait_for_termination fails.
13726         * src/sysdep.c (get_child_status): Return -1 if waitpid is
13727         buggy, instead of aborting.
13728         (wait_for_termination): Return bool success value.
13729         All callers changed.
13731 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
13733         Adjust defcustom form for 'auto-hscroll-mode'
13735         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
13736         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
13738 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13740         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
13742         * src/fileio.c (file_name_case_insensitive_p):
13743         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
13744         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
13745         Problem reported by Philipp Stephani in:
13746         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
13748 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13750         Port --enable-gcc-warnings to clang 3.9.1
13752         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
13753         Problem reported by Philipp Stephani in:
13754         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
13756 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13758         Clean up compiler warning in emacs-module.c
13760         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
13761         instead of leaving it unused, to pacify picky compilers.
13762         (module_reset_handlerlist): Now takes a dummy pointer to a struct
13763         handler *, instead of a dummy pointer to an int.  All uses changed.
13765 2017-05-19  Philipp Stephani  <phst@google.com>
13767         Clean up some compiler warnings
13769         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
13770         Remove unused locals.
13772 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
13774         Support hscrolling only the current line
13776         * src/xdisp.c (hscrolling_current_line_p): New function.
13777         (init_iterator): If auto-hscrolling just the current line, don't
13778         increment the iterator's first_visible_x and last_visible_x
13779         variables.
13780         (hscroll_window_tree): Recompute window's hscroll when moving
13781         vertically to another screen line.
13782         (redisplay_window): If we are hscrolling only the current line,
13783         disable the optimizations that rely on the current matrix being
13784         up-to-date.
13785         (display_line): Accept an additional argument CURSOR_VPOS, the
13786         vertical position of the current screen line which might need
13787         hscrolling; all callers changed.  Compute first_visible_x and
13788         last_visible_x specially when auto-hscrolling current line, by
13789         repeating the calculation that is done in init_iterator in other
13790         modes.
13791         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
13792         accept a 3rd value 'current-line, to turn on the mode where
13793         only the current line is hscrolled.
13795         * etc/NEWS: Mention the new auto-hscroll-mode value.
13797 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
13799         Fix last change in line-move-finish
13801         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
13802         regression in C-n and C-p when lines are truncated, introduced by the
13803         change in 2017-05-10.
13805 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
13807         Expand docstring for CSS mode
13809         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
13810         Expand docstrings.
13812 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
13814         Use the expression angle units while simplifying it
13816         Don't use the angle mode, use the angle units included
13817         in the expression instead (Bug#23889).
13818         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
13819         (math-simplify): Use it.
13820         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
13821         Don't use calc-angle-mode if math-simplifying-units is non-nil.
13822         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
13823         (math-to-radians-2, math-from-radians-2): Don't convert angle
13824         to radians if math-simplifying-units is non-nil.
13825         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
13827 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
13829         Revert "Ignore angle mode while simplifying units"
13831         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
13832         This commit causes Bug#25652.
13834 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13836         Avoid undefined behavior in struct sockaddr
13838         Problem noted by Philipp Stephani in:
13839         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00391.html
13840         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
13841         New macros.
13842         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
13843         (connect_network_socket, network_interface_info)
13844         (server_accept_connection): Use it when aliasing non-char objects.
13846 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
13848         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
13850         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
13851         Add autoload cookie.
13852         (smerge--refine-forward): Rename from smerge-refine-forward.
13853         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
13854         Assume that its `beg` arg is a marker.
13855         (smerge--refine-highlight-change): Rename from
13856         smerge-refine-highlight-change.  Remove `buf` arg.
13857         (smerge-refine-subst): Redefine as an obsolete alias.
13859 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13861         Work around AddressSanitizer bug with vfork
13863         Problem reported by Jim Meyering in:
13864         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00246.html
13865         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
13866         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
13867         vforked child messes up the parent’s shadow memory.  This is too
13868         bad, as we’d rather have AddressSanitizer catch memory-access bugs
13869         related to vfork.
13871 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13873         Catch IPv4/IPv6 issues at compile time
13875         * src/process.c (connect_network_socket): Use verify,
13876         not eassert, so that any problems are caught at compile-time.
13877         Avoid dodgy cast by using a local var of the correct type.
13879 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13881         Pacify --enable-gcc-warnings --with-x-toolkit=no
13883         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
13884         Avoid unused local.
13886 2017-05-17  Glenn Morris  <rgm@gnu.org>
13888         * admin/update_autogen (commit): Pull before push.
13890 2017-05-17  Glenn Morris  <rgm@gnu.org>
13892         autoload-rubric no longer provides a feature by default
13894         * lisp/emacs-lisp/autoload.el (autoload-rubric):
13895         Stop providing a feature unless explicitly requested.
13896         (autoload-find-generated-file): Update autoload-rubric call.
13898 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
13900         Remove redundant code in connect_network_socket
13902         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
13903         Remove redundant type-casting and variables.  Don't call
13904         'getsockname' to find the port for AF_LOCAL sockets.
13905         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
13906         and IPv6 structures are at the same offset and have the same size.
13908 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13910         Fix minor timezone memory leak
13912         * src/editfns.c (wall_clock_tz): Remove; unused.
13914 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13916         Do not discard AddressSanitizer stderr
13918         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
13919         Do not close stderr.
13921 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13923         Simplify procname code to avoid GCC bug
13925         * src/process.c (server_accept_connection): Simplify and avoid
13926         multiple calls and struct literals in the last case of a switch.
13927         The old code ran afoul of GCC bug 80659, which caused an internal
13928         compiler error.  Problem reported by Jim Meyering in:
13929         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00182.html
13930         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
13932 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13934         Pacify GCC 7 with --enable-gcc-warnings
13936         * src/regex.c (regex_compile): Swap labels, so that the
13937         FALLTHROUGH immediately precedes the case label.
13939 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13941         Merge with gnulib, pacifying GCC 7
13943         This incorporates:
13944         2017-05-16 manywarnings: update for GCC 7
13945         2017-05-15 sys_select: Avoid "was expanded before it was required"
13946         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
13947         -Wformat-overflow=2 options, due to too many false alarms.
13948         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
13949         Copy from gnulib.
13950         * m4/gnulib-comp.m4: Regenerate.
13951         * src/coding.c (decode_coding_iso_2022):
13952         Fix bug uncovered by -Wimplicit-fallthrough.
13953         * src/conf_post.h (FALLTHROUGH): New macro.
13954         Use it to mark all switch cases that fall through.
13955         * src/editfns.c (styled_format): Use !, not ~, on bool.
13956         * src/gtkutil.c (xg_check_special_colors):
13957         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
13958         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
13959         this bug was actually caught by Clang.
13960         * src/search.c (boyer_moore):
13961         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
13962         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
13963         Tell GCC that glyph->u.glyphless.ch must be a character.
13965 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
13967         Make autoloading Tramp more robust
13969         * lisp/net/tramp.el (tramp-file-name-for-operation):
13970         Use `default-directory' where appropriate.
13971         (tramp-file-name-handler): Do not autoload.
13972         (tramp-autoload-file-name-handler): Reintroduce function.
13973         (tramp-register-autoload-file-name-handlers): Use it.
13975 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
13977         Extend tramp-tests.el
13979         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
13980         Remove declaration, not needed anymore.
13981         (tramp-test05-expand-file-name-relative): New test.
13982         (tramp-test10-write-region): Extend test.
13984 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
13986         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
13988 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
13990         Make `indent-line-to' respect field boundaries (Bug#26891)
13992         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
13993         of `backward-to-indentation'.
13995 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
13997         Make sure indent-sexp stops at end of sexp (Bug#26878)
13999         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
14000         indenting.
14001         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
14002         test.
14004 2017-05-16  Glenn Morris  <rgm@gnu.org>
14006         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
14008         * test/lisp/epg-tests.el (with-epg-tests):
14009         Also set GNUPGHOME in the environment of child processes.
14010         This avoids problems if gpg does not pass --homedir to spawned agent.
14012 2017-05-16  Glenn Morris  <rgm@gnu.org>
14014         Add oldxmenu to system-configuration-features
14016         * configure.ac (HAVE_OLDXMENU): New.
14017         (emacs_config_features): Add oldxmenu.
14019 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
14021         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
14023 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
14025         Remove unneeded stuff from nt/inc/sys/time.h
14027         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
14028         (timercmp, timerclear): Don't define.  Instead, include the system
14029         header sys/time.h, and add only the interval timers stuff.  This
14030         avoids compiler warnings about 'gettimeofday's prototype, and also
14031         avoids redefinition of macros from system headers.
14033 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
14035         Fix address violation found by AddressSanitizer
14037         * src/process.c (connect_network_socket):
14038         Use struct sockaddr_storage, not struct sockaddr_in, to store info
14039         about a socket address.  Problem reported by Philipp Stephani in:
14040         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00314.html
14041         This fix is based on a patch by Philipp in:
14042         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00357.html
14044 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
14046         Make edebug-step-in work on generic methods (Bug#22294)
14048         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
14049         New function to implement the edebug-form-spec property of
14050         the symbol cl-generic-method-args.
14051         (edebug-instrument-function): If the function is a generic
14052         function, find and instrument all of its methods. Return a list
14053         instead of a single symbol.
14054         (edebug-instrument-callee): Now returns a list. Update docstring.
14055         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
14056         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
14057         cl-generic-method-args in its Edebug spec.
14058         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
14059         cl-generic-method-args in its Edebug spec.
14060         * lisp/subr.el (method-files): New function.
14061         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
14062         (subr-tests--method-files--nonexistent-methods): New tests.
14064 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14066         Merge from gnulib
14068         This incorporates:
14069         2017-05-14 same-inode: Adapt for windows-stat-inodes
14070         2017-05-14 windows-stat-inodes: New module
14071         2017-05-14 stat-time: Adapt for windows-stat-timespec
14072         * lib/gnulib.mk.in: Regenerate.
14073         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
14074         Copy from gnulib.
14076 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
14078         Remove gettimeofday from w32 sources
14080         * lib-src/ntlib.c (gettimeofday):
14081         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
14082         function 'gettimeofday' and all of its supporting code.
14084 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
14086         Fix the MS-Windows build
14088         * nt/inc/sys/time.h (gettimeofday):
14089         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
14091 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
14093         More accurate documentation of the ':box' face attribute
14095         * doc/lispref/display.texi (Face Attributes): Fix the description
14096         of negative width of the ':box' attribute.  (Bug#26920)
14098 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14100         Merge from gnulib
14102         This incorporates:
14103         2017-05-13 largefile: Simplify
14104         2017-05-13 largefile: Improve and document
14105         2017-05-13 truncate: New module
14106         2017-05-13 windows-stat-timespec: New module
14107         2017-05-13 windows-stat-override: New module
14108         2017-05-11 getopt-posix: port to mingw
14109         2017-05-11 gettimeofday: Increase precision on mingw
14110         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
14111         2017-05-10 Implement a way to opt out from MSVC support
14112         2017-05-09 tzset: Expand comment about TZ problem on native Windows
14113         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
14114         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
14115         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
14116         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
14117         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
14118         * m4/unistd_h.m4: Copy from gnulib.
14119         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14121 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
14123         Merge branch 'fix/bug-21072'
14125 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
14127         * .gitlab-ci.yml: Add setup for GitLab CI builds.
14129 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
14131         New minor mode 'pixel-scroll-mode'
14133         * lisp/pixel-scroll.el: New file.
14135         * etc/NEWS: Mention pixel-scroll-mode.
14137 2017-05-13  Philipp  <phst@google.com>
14139         Make `old-style-backquotes' variable internal
14141         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
14142         (syms_of_lread): Rename `old-style-backquotes' to
14143         `lread--old-style-backquotes', and clarify that it's for internal
14144         use only.
14145         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
14146         variable.
14147         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
14148         unit test.
14149         * lisp/emacs-lisp/bytecomp-tests.el
14150         (bytecomp-tests--old-style-backquotes): Add unit test.
14152 2017-05-13  Philipp Stephani  <phst@google.com>
14154         Improve unescaped character literal warnings
14156         * src/lread.c (load_warn_unescaped_character_literals)
14157         (syms_of_lread):
14158         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
14159         formatting of unescaped character literal warnings.
14161         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
14162         test/lisp/emacs-lisp/bytecomp-tests.el
14163         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
14165 2017-05-12  Alan Mackenzie  <acm@muc.de>
14167         Fontify C++ for loop variable as variable, even when followed by parentheses
14169         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
14170         getting fontified as a function, due to insufficient checking of the tokens
14171         between it and "()".
14173         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
14174         lang-consts/vars.
14176         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
14177         declarator's identifier, check for a ":" token inside a for's parentheses, and
14178         abort the search for "(" if this is found.
14180 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
14182         Make Tramp backward compatible
14184         * lisp/net/tramp-cmds.el (tramp-change-syntax):
14185         Set tramp-autoload cookie.
14187         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
14188         startup, if necessary.
14190         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
14191         (tramp-register-autoload-file-name-handlers): Do not mark
14192         `operations' for `tramp-file-name-handler'.
14193         (tramp-register-file-name-handlers): Remove also
14194         `tramp-autoload-file-name-handler' for backward compatibility.
14195         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
14197         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
14199 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
14201         Modify `beginning-of-defun-comments'
14203         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
14204         in the middle of a multiline comment.
14206 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
14208         Fix elisp-tests-with-temp-buffer compilation
14210         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
14211         Don't refer to the =!NAME= as "markers" since they produce variables
14212         with just plain positions, not marker objects.  Explicitly specify
14213         that CONTENTS is evaluated at compile time.  Don't re-evaluate
14214         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
14215         to BODY not using =!NAME= variables.
14216         (elisp-test-point-position-regex): Rename from
14217         `elisp-test-point-marker-regex'.
14218         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
14220 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
14222         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
14224 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
14226         Fix Bug#21072 and rework `mark-defun'
14228         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
14229           New variable
14230         (mark-defun-no-arg-region-inactive)
14231         (mark-defun-no-arg-region-active)
14232         (mark-defun-arg-region-active)
14233         (mark-defun-pos-arg-region-inactive)
14234         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
14235         the new `mark-defun'.
14237         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
14238           New function.
14239         (beginning-of-defun-comments): New function.
14240         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
14241         to accept a numerical prefix argument.
14243 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
14245         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
14247 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
14249         Improve doc strings in net-utils.el
14251         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
14252         (route, traceroute, nslookup, ftp, smbclient)
14253         (smbclient-list-shares, finger, whois)
14254         (network-connection-to-service, network-service-connection)
14255         (network-connection-reconnect): Improve doc strings.
14257 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
14259         Extend DNS lookup commands to allow specifying the name server
14261         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
14262         'net-utils-machine-at-point' obviating this autoloaded
14263         function (Bug#25426).
14264         (dig-program-options): New customization variable.
14265         (nslookup-host, dns-lookup-host, run-dig): Can now specify
14266         optional name server argument interactively (by prefix arg) and
14267         non-interactively.
14269         * etc/NEWS: Mention the extension of DNS lookup commands.
14271 2017-05-12  Glenn Morris  <rgm@gnu.org>
14273         Don't hard-code loaddefs files in lisp/Makefile
14275         * lisp/Makefile.in (loaddefs): New variable.
14276         (AUTOGENEL): Use $loaddefs, and include directory.
14277         (bootstrap-clean): Update for AUTOGENEL change.
14279 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
14281         Kill modified buffers silently when quitting (bug#26862)
14283         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
14284         sure that latest drafts are saved, and kill modified buffers silently.
14286 2017-05-10  Perry E. Metzger  <perry@piermont.com>
14288         Implement 1-based column numbering in mode line
14290         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
14292         * lisp/bindings.el (column-number-indicator-zero-based): New
14293         defcustom.
14294         (mode-line-position): Use %C when
14295         column-number-indicator-zero-based is nil.
14297         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
14298         * src/buffer.c (syms_of_buffer) <mode-line-format>:
14299         * doc/lispref/modes.texi (%-Constructs):
14300         * doc/lispref/frames.texi (Frame Titles): Document the %C
14301         construct.
14303         * doc/emacs/display.texi (Optional Mode Line): Document
14304         'column-number-indicator-zero-based'.
14306         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
14307         %C construct.
14309 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
14311         Ensure cursor's foreground color is in sync with 'default' face
14313         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
14314         foreground color is different from the background of the glyph
14315         string's face.  (Bug#26851)
14317 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
14319         Fix vertical cursor motion when columns are of unequal size
14321         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
14322         vertical-motion to move to the goal column, as the goal column
14323         should in that case be interpreted in units of frame's canonical
14324         character width.  (Bug#26852)
14326 2017-05-10  Glenn Morris  <rgm@gnu.org>
14328         Fix finding test .el files
14330         * test/Makefile.in (ELFILES): Exclude the data/ directory.
14331         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
14333 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
14335         Tweak a recent test
14337         This test fails in my local machine because the data files
14338         are compiled, and the test doesn't expect that.
14339         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
14340         ending with '.elc' when the data files are compiled.
14342 2017-05-10  Glenn Morris  <rgm@gnu.org>
14344         Put license information in each generated uni-*.el
14346         * admin/unidata/unidata-gen.el (unidata-gen-file):
14347         Get Copyright line from copyright.html.
14348         Put information in file header, not separate README.
14349         (unidata-gen-charprop): Mention the source location.
14350         * lisp/international/README: Remove file.
14352 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
14354         Fix lisp-indent-region and indent-sexp (Bug#26619)
14356         The new lisp-indent-region introduced in 2017-04-22 "Add new
14357         `lisp-indent-region' that doesn't reparse the code." is broken because
14358         it doesn't save the calculated indent amounts for already seen sexp
14359         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
14360         code.  Furthermore, only preserve position 2 of the running parse
14361         when the depth doesn't change.
14362         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
14363         corresponds with the start point when calling parse-partial-sexp.
14364         (lisp-indent-state): New struct.
14365         (lisp-indent-calc-next): New function, extracted from indent-sexp.
14366         (indent-sexp, lisp-indent-region): Use it.
14367         (lisp-indent-line): Take indentation, instead of parse state.
14368         * test/lisp/emacs-lisp/lisp-mode-tests.el
14369         (lisp-mode-tests--correctly-indented-sexp): New constant.
14370         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
14371         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
14372         tests.
14374 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
14376         Simplify url-encode-url and add a test
14378         * lisp/url/url-util.el (url-encode-url): Simplify.
14379         url-generic-parse-url copes with multibyte strings just fine
14380         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
14382         * test/lisp/url/url-parse-tests.el
14383         (url-generic-parse-url/multibyte-host-and-path): New test.
14385 2017-05-10  Glenn Morris  <rgm@gnu.org>
14387         More informative error when required feature missing
14389         * src/fns.c (Frequire): Include file name in missing feature error.
14390         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
14392 2017-05-10  Glenn Morris  <rgm@gnu.org>
14394         Put re-loaded file back at start of load-history (bug#26837)
14396         * src/lread.c (readevalloop): Fix the "whole buffer" check to
14397         operate in the correct buffer.
14398         (Feval_buffer): Move point back to the start after checking
14399         for lexical binding.
14400         * test/src/lread-tests.el (lread-test-bug26837): New test.
14401         * test/data/somelib.el, test/data/somelib2.el: New test data files.
14403 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
14405         Improve documentation of 'gnutls-verify-error'
14407         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
14408         doc string.  (Bug#26845)
14410 2017-05-09  Glenn Morris  <rgm@gnu.org>
14412         Don't duplicate autoload code in package.el
14414         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
14415         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
14416         (package-autoload-ensure-default-file): Use autoload-rubric.
14418 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
14420         * test/lisp/net/tramp-tests.el: Keep additional test.
14422 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
14424         Add elisp-tests-with-temp-buffer, a new testing macro
14426         * test/lisp/emacs-lisp/lisp-tests.el
14427         (elisp-test-point-marker-regex) New variable.
14428         (elisp-tests-with-temp-buffer): New macro to help test functions
14429         moving the point and/or mark.
14431 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
14433         Revert "Output number of characters added to file (Bug#354)"
14435         The extra message text turned out to be quite annoying in practice,
14436         and is generally more trouble than it's worth.  Also revert several
14437         related changes.
14439         Partially revert "Handle `write-region' messages in Tramp properly"
14440         Revert "New var write-region-verbose, default nil"
14441         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
14442         Revert "Minor tuneup of write-region change"
14443         Revert "Adjust write-region so file name is at the beginning again"
14444         Revert "Fix handling of non-integer START param to write-region"
14445         Revert "Output number of characters added to file (Bug#354)"
14447         * doc/emacs/files.texi (Misc File Ops):
14448         * etc/NEWS:
14449         * lisp/epa-file.el (epa-file-write-region):
14450         * lisp/gnus/mm-util.el (mm-append-to-file):
14451         * lisp/jka-compr.el (jka-compr-write-region):
14452         * lisp/net/ange-ftp.el (ange-ftp-write-region):
14453         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
14454         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
14455         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
14456         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
14457         * lisp/net/tramp.el (tramp-handle-write-region-message):
14458         * src/fileio.c (write_region, syms_of_fileio):
14459         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
14460         extra characters from file writing messages.
14462 2017-05-09  Noah Friedman  <friedman@splode.com>
14464         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
14465         because $ptr is modified by ygetptr and we use $ptr immediately at the
14466         beginning.
14468 2017-05-08  Ken Brown  <kbrown@cornell.edu>
14470         Skip a test from filenotify-tests.el on Cygwin
14472         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
14473         Skip the last part of the test on Cygwin; it fails due to timing
14474         issues.
14475         (file-notify--test-read-event):  Remove `sit-for' that was added
14476         for Cygwin.
14478 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14480         Merge from gnulib
14482         This incorporates:
14483         2017-05-08 intprops: don’t depend on ‘verify’
14484         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
14485         2017-05-07 utimens: Improve error code on native Windows
14486         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
14488 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
14490         Fix various verilog-mode.el issues.
14492         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
14493         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
14494         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
14495         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
14496         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
14497         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
14498         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
14499         msg2143. Reported by Galen Seitz.
14500         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
14501         compile-command is globally set, bug1119.  Reported by Galen Seitz.
14503 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
14505         Handle `write-region' messages in Tramp properly
14507         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
14508         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
14509         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
14510         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
14511         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
14513         * lisp/net/tramp.el (tramp-password-prompt-regexp)
14514         (tramp-completion-mode-p):
14515         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
14516         (tramp-append-tramp-buffers):
14517         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
14518         Use `bound-and-true-p'.
14520         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
14521         Don't check for `boundp' anymore.
14523         * test/lisp/net/tramp-tests.el (ert-x): Require it.
14524         (tramp--test-messages): New defvar.
14525         (tramp-test10-write-region): Extend test.
14527 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14529         Fix glyph string generation for multi-font compositions (Bug#26742)
14531         * src/xdisp.c (glyph_string_containing_background_width): New function.
14532         (draw_glyphs): Use it to get correct background width.
14533         (compute_overhangs_and_x): Don't change x in the middle of composite
14534         characters.
14536 2017-05-07  Philipp Stephani  <phst@google.com>
14538         Fix all unescaped character literals
14540 2017-05-07  Alan Mackenzie  <acm@muc.de>
14542         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
14544         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
14545         e.g., between the two characters of an opening comment "/*", and additionally
14546         there were an odd number of quote marks (apostrophes) in the comment.  This
14547         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
14548         buffer position 615001.
14550         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
14551         pps-extended-state to mean that there are at least 11 elements in the parser
14552         state.
14554         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
14555         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
14556         types which indicate potentially being inside two-char constructs.
14557         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
14558         functions.
14560 2017-05-07  Glenn Morris  <rgm@gnu.org>
14562         Silence an mh-compat compiler warning
14564         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
14566 2017-05-07  Glenn Morris  <rgm@gnu.org>
14568         Evaluate mh-require when compiling
14570         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
14571         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
14572         Evaluate mh-require when compiling, as require is automatically.
14573         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
14575 2017-05-07  Glenn Morris  <rgm@gnu.org>
14577         Remove obsolete method of changing byte-compile-dest-file
14579         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
14580         Define unconditionally.
14582 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14584         New var write-region-verbose, default nil
14586         By popular demand, write-region char counts are now off by default
14587         (Bug#26796).
14588         * src/fileio.c (write-region-verbose): New Lisp var.
14589         (write_region): Output char count only if the var is non-nil.
14590         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
14592 2017-05-07  Glenn Morris  <rgm@gnu.org>
14594         Write autoloads file atomically
14596         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
14597         New function, to save buffer atomically.
14598         (autoload-save-buffers, update-directory-autoloads):
14599         Use autoload--save-buffer.
14600         * lisp/Makefile.in ($(lisp)/loaddefs.el):
14601         No longer write to a temp file by hand.
14603 2017-05-07  Glenn Morris  <rgm@gnu.org>
14605         Write autoloads file once only
14607         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
14608         Simplify.  Don't bother about ensuring the output file exists.
14609         (autoload-generated-file): Add doc.
14610         (autoload-ensure-writable): Update doc.
14611         (autoload-ensure-file-writeable): Handle non-existing file.
14612         (autoload-ensure-default-file): Remove function.
14614 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14616         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
14618         * src/.gdbinit (Lisp_Object_Printer.to_string):
14619         Explicitly convert integer val to 'int', so that
14620         older GDBs do not complain about the conversion.
14621         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
14622         Give the struct a tag, so that older GDB pretty-printers have a
14623         tag to hang their hat on.
14625 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14627         Pretty-print const Lisp_Objects in .gdbinit
14629         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
14630         Compare unqualified type to Lisp_Object, to do the right thing
14631         when the expression has type ‘Lisp_Object const’.
14632         Problem reported by Eli Zaretskii in:
14633         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00138.html
14635 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14637         Pacify GCC setjmp/longjmp warning
14639         * src/eval.c (internal_lisp_condition_case): Do not modify local
14640         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
14641         cases mistakenly diagnoses VAR possibly being modified between a
14642         setjmp and a longjmp.
14644 2017-05-06  Philipp  <phst@google.com>
14646         Fix bootstrap build of files.el
14648         * lisp/files.el (file-name-non-special): Don't use cl-letf.
14650 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
14652         Fix last change for MS-Windows
14654         * test/src/emacs-module-tests.el (module-function-object): Port to
14655         MS-Windows.
14657 2017-05-06  Philipp Stephani  <phst@google.com>
14659         Introduce new misc type for module function
14661         This resolves a couple of FIXMEs in emacs-module.c.
14663         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
14665         * src/alloc.c (make_module_function): New function.
14666         (mark_object): GC support.
14668         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
14670         * src/print.c (print_object): Print support for new type.
14672         * src/emacs-module.c (module_make_function, Finternal_module_call):
14673         Use new module function type, remove FIXMEs.
14674         (module_format_fun_env): Adapt and give it external linkage.
14676         * test/src/emacs-module-tests.el (module-function-object): Add unit
14677         test.
14679 2017-05-06  Philipp Stephani  <phst@google.com>
14681         Fix quoted files for 'verify-visited-file-modtime'
14683         Fixes Bug#25951.
14685         * lisp/files.el (file-name-non-special): Set the file name for the
14686         correct buffer.
14688         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
14689         Add unit test.
14690         (files-tests--with-advice, files-tests--with-temp-file): New helper
14691         macros.
14693 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
14695         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
14697 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
14699         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
14701         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
14702         ENABLE_CHECKING is defined.
14703         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
14704         instead of being defined.
14706 2017-05-06  Tom Tromey  <tom@tromey.com>
14708         Fix erc-join with channel password
14710         Bug#25349
14711         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
14712         server names.
14713         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
14714         Likewise.
14715         (erc-server-join-channel): Move to erc.el.
14716         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
14717         (erc-cmd-JOIN): Use erc-server-join-channel.
14719 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
14721         Ensure the created temp file in a test is new
14723         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
14724         to create the temp file.
14726 2017-05-06  Glenn Morris  <rgm@gnu.org>
14728         Decruftify dns-mode.el a little bit
14730         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
14731         New constant.
14732         (dns-mode-control-entity, dns-mode-bad-control-entity)
14733         (dns-mode-type, dns-mode-class): New faces.
14734         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
14735         (dns-mode-type-face, dns-mode-class): Make these variables use the
14736         new faces, and mark as obsolete.
14737         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
14739 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14741         Pretty-print Lisp_Object values in GDB
14743         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
14744         GDB displays them as "XIL(0xXXX)" rather than displaying them
14745         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
14746         otherwise.
14748 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
14750         Tweak dns-mode font-lock
14752         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
14753         Highlight $TTL as a control entity.  (Bug#26780)
14755 2017-05-05  Glenn Morris  <rgm@gnu.org>
14757         Fontify the doc-string in some CL forms as such
14759         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
14760         Add the doc-string-elt property.  (Bug#26778)
14762 2017-05-05  Glenn Morris  <rgm@gnu.org>
14764         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
14766 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
14768         cl-defmethod: Make the edebug spec more technically correct
14770         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
14771         edebug spec part for qualifiers as [&rest atom], per
14772         http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00053.html.
14774 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
14776         Fix MH-E not to load cl at runtime (Bug#25552)
14778         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
14779         compile time, whether the target is bound.
14780         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
14781         mh-acros at compile time.
14782         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
14783         <npostavs@users.sourceforge.net>
14785 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
14787         Multiline support in NS "Open Selected File" service.
14789         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
14790         original call in a (split-string) to create as many calls as there
14791         are lines.
14792         (ns-spi-service-call): Call `ns-open-file-service' instead of
14793         `dnd-open-file'.
14795 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
14797         Require cl-lib at runtime in vc-hg
14799         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
14801 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
14803         Inherit incompatible/obsolete package faces from error
14805         Don't use the same face for installed packages as for incompatible
14806         or obsolete ones.
14807         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
14809 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
14811         Set process property `adjust-window-size-function' to `ignore' in Tramp
14813         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
14814         (tramp-adb-maybe-open-connection):
14815         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
14816         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
14817         (tramp-maybe-open-connection):
14818         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
14819         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
14820         (tramp-smb-maybe-open-connection): Set process property
14821         `adjust-window-size-function' to `ignore'.
14823 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
14825         * lisp/emacs-lisp/seq.el: Bump seq version.
14827 2017-05-04  Damien Cassou  <damien@cassou.me>
14829         Add seq-set-equal-p to test for set equality
14831         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
14832           two lists as if they were sets.
14834         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
14835           for seq-set-equal-p.
14837 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
14839         Spelling fixes
14841         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
14842         Rename from nndiary-last-occurence.
14843         (nndiary-next-occurrence):
14844         Rename from nndiary-next-occurence.  All uses changed.
14846 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
14848         Merge from pkg-config
14850         * m4/pkg.m4: Copy from pkg-config 0.29.1.
14852 2017-05-04  Tom Tromey  <tom@tromey.com>
14854         Add color highlighting to css-mode
14856         Bug#25525
14857         * lisp/textmodes/css-mode.el (css--color-map): New constant.
14858         (css-value-class-alist): Use css--color-map.
14859         (css--number-regexp, css--percent-regexp)
14860         (css--number-or-percent-regexp, css--angle-regexp): New constants.
14861         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
14862         functions.
14863         (css--colors-regexp): New constant.
14864         (css--hex-color, css--named-color, css--compute-color)
14865         (css--contrasty-color, css--fontify-colors)
14866         (css--fontify-region): New functions.
14867         (css-mode): Set font-lock-fontify-region-function.
14868         (css-mode-syntax-table): Set syntax on more characters.
14869         (css-fontify-colors): New defcustom.
14870         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
14871         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
14872         Update.
14873         (css-test-rgb-parser, css-test-hsl-parser)
14874         (css-test-named-color): New tests.
14875         * etc/NEWS: Add entry.
14877 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
14879         Fix Bug#26763
14881         * lisp/files.el (delete-directory): Call file name handler
14882         with `trash' argument.
14884         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
14885         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
14886         Add TRASH arg.  Implement it.  (Bug#26763)
14887         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
14889         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
14890         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
14891         Add _TRASH arg.
14893 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
14895         Use ptrdiff_t, not int, for stack sizes
14897         * src/thread.c (invoke_thread_function):
14898         * src/xterm.c (x_cr_export_frames):
14899         Don’t assume SPECPDL_INDEX fits in ‘int’.
14901 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
14903         Check list object type if --enable-gcc-warnings
14905         * configure.ac (--enable-check-lisp-object-type):
14906         Default to "yes" if --enable-gcc-warnings is not "no".
14907         * etc/NEWS: Mention this.
14908         * src/eval.c (internal_lisp_condition_case): Fix some glitches
14909         with 'volatile' uncovered by the above: in particular, 'clauses'
14910         should be a pointer to volatile storage on the stack, and need not
14911         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
14912         Don’t bother gathering binding count if VAR is nil.  Use
14913         more-specific local names to try to clarify what’s going on.
14915 2017-05-02  Glenn Morris  <rgm@gnu.org>
14917         Tweak auth-source-pass.el to avoid run-time subr-x
14919         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
14920         Avoid needing subr-x at run-time.
14922 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
14924         Constrain non-child frames to screen area in OS X
14926         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
14927         frames in OS X, if they would otherwise go offscreen.
14929         (Bug#25818)
14931 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
14933         Fix error in completion for separate Tramp syntax
14935         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
14936         Tweak regexp.
14938         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
14939         Run method and host name completion for all syntaxes.
14941 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
14943         Avoid compilation warnings
14945         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
14946         * src/w32term.c (x_draw_glyph_string):
14947         * src/w32fns.c (compute_tip_xy):
14948         * src/w32font.c (w32font_text_extents):
14949         * src/w32menu.c (set_frame_menubar):
14950         * src/search.c (Freplace_match): Avoid compiler warnings in
14951         optimized builds.
14953 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14955         Merge from gnulib
14957         This incorporates:
14958         2017-05-02 utimens: port to Emacs + MS-Windows
14959         * lib/utimens.c: Copy from gnulib.
14961 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
14963         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
14965         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
14966         to make Edebug generate a new symbol for each method (Bug#24753) and
14967         to support a string following :extra (Bug#23995).
14968         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
14969         make Edebug generate a new symbol for each method (Bug#24753).
14971 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
14973         Temporary fix for the MS_Windows build
14975         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
14976         to be consistent with Gnulib's utimens.c.  This is because utimens.c
14977         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
14978         previous definition here conflicted with that.
14980 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14982         Port format-time-string to MS-Windows better
14984         * test/src/editfns-tests.el (format-time-string-with-zone):
14985         Port test cases to MS-Windows.
14987 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14989         Merge from gnulib
14991         This incorporates:
14992         2017-05-01 New module 'localtime-buffer'
14993         2017-04-30 utimens: Add support for native Windows
14994         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
14995         * configure.ac (tzset): No need for Emacs itself to check now.
14996         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
14997         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
14998         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14999         * lib/localtime-buffer.c, lib/localtime-buffer.h:
15000         * m4/localtime-buffer.m4: New files, copied from gnulib.
15001         * src/editfns.c (init_editfns): Assume tzset is callable.
15003 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15005         Speed up project-find-regexp for simple regexps
15007         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
15008         New function.
15009         (xref--collect-matches): Use it.  Don't try to enable the
15010         appropriate major mode and file-local variables if the regexp
15011         does not depend on the buffer's syntax (bug#26710).
15012         (xref--collect-matches-1): Don't syntax-propertize in that
15013         case either.
15015 2017-05-01  Philipp Stephani  <phst@google.com>
15017         Warn about missing backslashes during load
15019         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
15020         (syms_of_lread): Warn if unescaped character literals are
15021         found (Bug#20152).
15022         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
15023         unescaped character literals during byte compilation.
15024         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
15025         unit test.
15026         (lread-tests--with-temp-file, lread-tests--last-message): Helper
15027         functions for unit test.
15028         * test/lisp/emacs-lisp/bytecomp-tests.el
15029         (bytecomp-tests--unescaped-char-literals): New unit test.
15030         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
15031         Helper macro for unit test.
15033 2017-05-01  Ken Brown  <kbrown@cornell.edu>
15035         * configure.ac: Suggest Mailutils on Cygwin.
15037 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15039         Don’t stress-test time zones near the Epoch
15041         * test/src/editfns-tests.el (format-time-string-with-zone)
15042         (format-time-string-with-outlandish-zone): Don’t format
15043         timestamps near the Epoch, as this runs into bugs on MS-Windows,
15044         and we don’t want to worry about those bugs.
15046 2017-05-01  Glenn Morris  <rgm@gnu.org>
15048         Tweak vc-tests.el for bzr
15050         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
15051         Handle test environments where HOME does not exist.
15053 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15055         vc-git-state: Return `ignored' as appropriate with newer Git
15057         * lisp/vc/vc-git.el
15058         (vc-git--program-version): New variable.
15059         (vc-git--program-version): New function.
15060         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
15062 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15064         vc-git-state: Bring back CentOS 6 compatibility
15066         * lisp/vc/vc-git.el (vc-git-state):
15067         Bring back CentOS 6 compatibility (bug#19343).
15069 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
15071         Rewrite w32fns.c's `x_set_menu_bar_lines'
15073         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
15074         regardless of whether menu bar is added or removed.  Clear
15075         under internal border iff a W32 window exists.  Store either 0
15076         or 1 as new parameter value.
15077         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
15078         FRAME_X_WINDOW.
15080 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
15082         Fix filenotify-tests.el for cygwin
15084         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
15085         Add an additional `sit-for'.
15086         (file-notify-test02-rm-watch): Add an additional
15087         `file-notify--test-read-event' call.
15089 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
15091         Speed up vc-git-status and make it more precise
15093         * lisp/vc/vc-git.el (vc-git-state)
15094         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
15095         'git status', so that 'vc-git-state' can now return 'ignored',
15096         'conflict', or 'unregistered' when appropriate.  Discussed in
15097         bug#26066.  Fixes bug#19343.
15099 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15101         Fix Git revision navigation in currently removed directories
15103         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
15104         default-directory because FILE's parent directory might not exist
15105         anymore (bug#26345).
15107 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15109         Merge from gnulib
15111         This incorporates:
15112         2017-04-30 strftime-fixes: New module
15113         2017-04-30 mktime: Work around TZ problem on native Windows
15114         2017-04-30 ctime, localtime: New modules
15115         2017-04-30 gettimeofday: Provide higher resolution on native Windows
15116         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
15117         2017-04-29 Make use of module 'utime-h'
15118         2017-04-30 Fix a few typos
15119         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
15120         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
15121         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
15122         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
15123         Copy from gnulib.
15124         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15126 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
15128         Don't lose key bindings on mis-spelled text in flyspell-mode
15130         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
15131         explicitly.
15132         (make-flyspell-overlay): If the mis-spelled text already has a
15133         'keymap' property, make that keymap the parent of
15134         flyspell-mouse-map, so as not to lose the parent's bindings.
15135         (Bug#26672)
15137 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
15139         Fix `delete-frame' behavior including Bug#26682
15141         * src/frame.c (other_frames): Accept two arguments now.  Don't
15142         care about minibuffer window.  Don't care about visibility when
15143         called from delete_frame with FORCE true (Bug#26682).
15144         (delete_frame, Fmake_frame_invisible): Adjust other_frames
15145         calls.
15146         * src/w32term.c (w32_read_socket): Don't add a move frame event
15147         for an invisible frame.
15148         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
15149         attempting to delete a surrogate minibuffer frame.
15151 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15153         Merge from gnulib
15155         This avoids incorporating the following, which I suspect are
15156         more trouble for Emacs than they’re worth:
15157         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
15158         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
15159         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15160         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
15162 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15164         Fix buffer overflow in make-docfile
15166         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
15167         overflow when reading an identifier.  Use a static buffer for NAME
15168         rather than a small dynamically-allocated buffer.
15170 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15172         Merge from gnulib
15174         This incorporates:
15175         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
15176         * lib/getopt-pfx-ext.h: Copy from gnulib.
15177         * lib/gnulib.mk.in: Regenerate.
15179 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
15181         Fix dependency error during bootstrap
15183         * lisp/files.el: Require pcase and easy-mmode at compile time.
15185 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
15187         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
15189 2017-04-29  Philipp Stephani  <phst@google.com>
15191         Reimplement auto-saving to visited files
15193         This reacts to confusing behavior of 'auto-save-visited-file-name',
15194         cf. Bug#25478.
15196         * lisp/files.el (auto-save-visited-interval): New customization option.
15197         (auto-save-visited-mode): New global minor mode.
15198         (auto-save-visited-file-name): Make obsolete.
15199         (auto-save--timer): New internal helper variable.
15201         * doc/emacs/files.texi (Auto Save Files): Document
15202         'auto-save-visited-mode' instead of obsolete
15203         'auto-save-visited-file-name'.
15204         (Auto Save Control): Document customization option
15205         'auto-save-visited-interval'.
15207 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
15209         Allow bypassing of some checks when merging
15211         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
15213 2017-04-29  Philipp Stephani  <phst@google.com>
15215         Integrate module test with normal test suite
15217         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
15218         configured.
15219         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
15220         correctly even if Emacs changes the current directory.
15221         ($(srcdir)/src/emacs-module-tests.log)
15222         ($(test_module)): Proper dependency tracking for test module.
15224         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
15225         Remove 'check' target and EMACS variable, which are no longer
15226         necessary.
15227         (SO): Change to include period.
15229         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
15230         environment variable to reliably find test data.
15232         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
15233         substitutions.
15235 2017-04-28  Glenn Morris  <rgm@gnu.org>
15237         Broaden comint-password-prompt-regexp
15239         * lisp/comint.el (comint-password-prompt-regexp):
15240         Broaden the regexp, for non-English locales.  (Bug#26698)
15242 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15244         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
15246 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
15248         Don't pass the value of point to 'push-mark', as that's the default.
15250         * lisp/textmodes/bib-mode.el (mark-bib):
15251         * lisp/simple.el (mark-whole-buffer, yank):
15252         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
15253         * lisp/progmodes/xscheme.el (xscheme-yank):
15254         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
15255         * lisp/progmodes/perl-mode.el (perl-mark-function):
15256         * lisp/progmodes/pascal.el (pascal-mark-defun):
15257         * lisp/progmodes/meta-mode.el (meta-mark-defun):
15258         * lisp/progmodes/icon.el (mark-icon-function):
15259         * lisp/progmodes/cc-cmds.el (c-mark-function):
15260         * lisp/obsolete/vip.el (ex-goto):
15261         * lisp/obsolete/vi.el (vi-put-before):
15262         * lisp/mouse.el (mouse-yank-primary):
15263         * lisp/menu-bar.el (menu-bar-select-yank):
15264         * lisp/mail/sendmail.el (mail-yank-original):
15265         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
15266         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
15267         (viper-mark-end-of-buffer):
15268         * lisp/cedet/semantic/senator.el (senator-mark-defun):
15269         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
15270         `(point)' from calls to `push-mark'.  (Bug#25565)
15272 2017-04-28  Glenn Morris  <rgm@gnu.org>
15274         Merge from origin/emacs-25
15276         784602b1050 (origin/emacs-25) ; Add release notice
15277         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
15278         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
15279         2b0d1118199 ; CONTRIBUTE: Remove stray header.
15280         f2ab09ec60d Fix a typo in indexing the user manual
15281         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
15282         a6d50401b4b Document 'line-pixel-height'
15283         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
15284         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
15285         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
15286         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
15287         84938d79698 default-directory: Remark that it must be a directory name
15288         3f0d047d2eb Delete confuse statement in manual
15289         ee1bd94dd0c Improve packaging documentation
15290         fb18bff91f0 Expand manual section on quitting windows
15291         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
15292         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
15293         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
15294         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
15295         e0e9db4c84a ; Spelling fix
15297         # Conflicts:
15298         #       README
15299         #       etc/AUTHORS
15300         #       etc/HISTORY
15301         #       lisp/ldefs-boot.el
15303 2017-04-28  Glenn Morris  <rgm@gnu.org>
15305         * doc/misc/auth.texi: Commas don't work in node names.
15307         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
15309 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
15311         Test format-time-string with zone arg
15313         * test/src/editfns-tests.el (format-time-string-with-zone)
15314         (format-time-string-with-outlandish-zone): New tests.
15316 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
15318         Merge from gnulib
15320         This incorporates:
15321         2017-04-24 time_rz: fix heap buffer overflow vulnerability
15322         2017-04-23 stat-time: Update comments.
15323         2017-04-22 ftoastr: cite a newer paper
15324         2017-04-21 gettext-h: Avoid -Wundef warning.
15325         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
15326         * m4/getopt.m4: Copy from gnulib.
15327         * m4/gnulib-comp.m4: Regenerate.
15329 2017-04-27  Damien Cassou  <damien@cassou.me>
15331         auth-source-pass: Add documentation; fix tests and indentation.
15333         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
15334           instead of @enumerate.
15335         * lisp/auth-source-pass.el: Fix indentation.
15336           (auth-source-pass--remove-directory-name): Remove.
15337         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
15339 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
15341         auth-source-pass: Enable finding entries by "host/username"
15343         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
15344         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
15346 2017-04-27  Damien Cassou  <damien@cassou.me>
15348         Integrate auth-source with password-store
15350         * lisp/auth-source-pass.el: auth-source backend for password-store.
15351         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
15352           behavior.
15354 2017-04-27  Damien Cassou  <damien@cassou.me>
15356         * lisp/auth-source.el: Document parser functions.
15358 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
15360         auth-source: factor out parsers and add tests
15362         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
15363         * test/lisp/auth-source-tests.el: Add tests.
15365 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
15367         Fix doc and customization type of `window-combination-limit' (Bug#26673)
15369         * src/window.c (Vwindow_combination_limit): Fix doc-string.
15370         * lisp/cus-start.el (window-combination-limit): Fix
15371         customization type.
15372         * doc/lispref/windows.texi (Recombining Windows): Fix
15373         documentation of `window-combination-limit'.
15375 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
15377         Drop face from hi-lock--unused-faces only when used
15379         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
15380         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
15381         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
15383 2017-04-26  Alan Third  <alan@idiocy.org>
15385         Fix macOS version check (bug#26664)
15387         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
15388         macOS versions 10.12+.
15390 2017-04-26  Glenn Morris  <rgm@gnu.org>
15392         Make charprop.el provide a feature
15394         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
15395         Provide a feature.
15396         * lisp/loadup.el: Use the charprop feature.
15398 2017-04-26  Glenn Morris  <rgm@gnu.org>
15400         * lisp/loadup.el: Get charprop.el into etc/DOC again.
15402 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
15404         * lisp/ido.el (ido-everywhere): Use add-function.
15406 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
15408         Try to fix latest fix of w32_mouse_position
15410         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
15411         latest fix and try to make the affected code more rigorous.
15413 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
15415         Avoid segfaults when 'find-font' is invoked for a TTY frame
15417         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
15418         text-mode frame.  (Bug#26646)
15420 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
15422         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
15424         New defun.
15426 2017-04-26  Glenn Morris  <rgm@gnu.org>
15428         * src/Makefile.in (leimdir): Remove variable, no longer used.
15430 2017-04-26  Glenn Morris  <rgm@gnu.org>
15432         Generate leim-list via lisp/Makefile, not src/Makefile
15434         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
15435         (emacs$(EXEEXT)): Don't depend on leim-list.
15436         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
15438 2017-04-25  Alan Third  <alan@idiocy.org>
15440         Fix define for GNUstep builds
15442         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
15443         doesn't see the code.
15445 2017-04-25  Glenn Morris  <rgm@gnu.org>
15447         Suppress intermittent test failure on hydra
15449         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
15450         (eieio-test-method-order-list-6): Skip on hydra.
15452 2017-04-25  Alan Third  <alan@idiocy.org>
15454         Fix some NS frame handling issues
15456         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
15457         defines intended to make things tidier.
15458         (x_set_undecorated): Use the new defines.
15459         (windowWillResize): Don't use new macOS 12+ only feature.
15460         (initFrameFromEmacs): Use the new defines, and disable automatic
15461         window tabbing feature in macOS 12.
15462         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
15463         x_set_z_group): Add NSTRACE notices.
15465 2017-04-25  Glenn Morris  <rgm@gnu.org>
15467         Avoid parallel race condition
15469         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
15471 2017-04-25  Glenn Morris  <rgm@gnu.org>
15473         Generate each unicode lisp file independently
15475         This is better for parallel builds, eg it eliminates race
15476         conditions from having one process write multiple files.
15477         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
15478         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
15479         (all): Explicitly list the output lisp files.
15480         (PHONY_EXTRAS): Remove.
15481         (${unidir}/charprop.el): Change rule to just be for this file.
15482         (${unifiles}): New rule to write each unicode lisp file.
15483         (extraclean): Simplify.
15484         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
15485         Quieten in batch mode.
15486         (unidata-gen-files): Remove, no longer used.
15487         * lisp/loadup.el: Update command-line parser.
15489 2017-04-25  Glenn Morris  <rgm@gnu.org>
15491         Further refactoring in unidata-gen.el
15493         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
15494         New function, split from unidata-gen-files.
15495         (unidata-gen-files): Use unidata-gen-charprop.
15497 2017-04-25  Glenn Morris  <rgm@gnu.org>
15499         Allow unidata-gen-file to work independently
15501         * admin/unidata/unidata-gen.el (unidata-gen-file):
15502         Make it work as a stand-alone function in batch mode.
15503         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
15505 2017-04-25  Glenn Morris  <rgm@gnu.org>
15507         Preparatory refactoring in unidata-gen.el
15509         * admin/unidata/unidata-gen.el (unidata-gen-file):
15510         New function, split from unidata-gen-files.
15511         (unidata-gen-files): Use unidata-gen-file.
15513 2017-04-25  Glenn Morris  <rgm@gnu.org>
15515         Write each generated character property lisp file only once
15517         * admin/unidata/unidata-gen.el (unidata-file-alist):
15518         Rename from unidata-prop-alist.  All users changed.
15519         Use file name rather than property name as the key.
15520         (unidata-prop-prop): New function.
15521         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
15522         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
15523         Change to parse the argument rather than unidata-prop-alist.
15524         (unidata-gen-table-character, unidata-gen-table)
15525         (unidata-gen-table-symbol, unidata-gen-table-integer)
15526         (unidata-gen-table-numeric, unidata-gen-table-word-list)
15527         (unidata-gen-table-name, unidata-gen-table-decomposition)
15528         (unidata-gen-table-special-casing): Pass index as an argument.
15529         (unidata-check): Adapt to unidata-file-alist.
15530         Pass index to generator functions.
15531         (unidata-gen-files): Adapt to unidata-file-alist.
15532         Write each output file once only.  Overwrite rather than delete.
15534 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
15536         Fix requesting sparse articles in gnus
15538         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
15539         sparse article number from the list, not its id.
15541 2017-04-25  Glenn Morris  <rgm@gnu.org>
15543         Don't advertise s_client in tls.el docs
15545         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
15546         Don't mention s_client in docs.
15548 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
15550         Remove s_client usage from tls.el
15552         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
15553         Ref http://bugs.debian.org/766397
15554         http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
15556 2017-04-25  Glenn Morris  <rgm@gnu.org>
15558         Further robustify cedet bootstrap to loaddefs not yet built
15560         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
15561         Avoid void-function error when bootstrapping and semantic/loaddefs.el
15562         does not yet exist.
15564 2017-04-24  Alan Third  <alan@idiocy.org>
15566         Fix XBM colour rendering in NS port (bug#22060)
15568         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
15570 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
15572         Add support for IRCv3 message tags.
15574         * lisp/erc/erc-backend.el:
15575           erc-response: Add `tags' element.
15576           Add (erc-parse-tags).
15577           (erc-parse-server-response): Use (erc-parse-tags) to parse message
15578           tags (if any), and store them in `erc-resopnse' struct.
15580         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
15581           properties of the corresponding message line.
15583 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
15585         Add image sizing tests for an image that's narrow
15587         Needlessly refactor tests for clarity
15589 2017-04-23  Philipp Stephani  <phst@google.com>
15591         Add missing remappings for Ido mode
15593         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
15595         * lisp/ido.el (ido-mode): Remap missing commands.
15596         (ido-file-internal, ido-visit-buffer): Add support for new
15597         methods.
15598         (ido-display-buffer-other-frame)
15599         (ido-find-alternate-file-other-window, ido-dired-other-window)
15600         (ido-dired-other-frame): New commands.
15602         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
15603         test for the bindings.
15605 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
15607         Let w32_mouse_position pick a child window only if it has a child frame
15609         * src/w32term.c (w32_mouse_position): When using a frame found
15610         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
15611         maybe).
15613 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
15615         Don't require bytecomp for running ert tests
15617         "Fix ert-tests when running compiled" 2016-12-06 accidentally
15618         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
15619         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
15620         on bytecomp was masked by loading other libraries until recently.
15622         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
15623         `byte-compile-macro-environment' if it's bound.
15624         * test/src/eval-tests.el: Add defvar for dynamic variable
15625         `byte-compile-debug'.
15627 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
15629         Eliminate unneeded warp-to-article in gnus article referral
15631         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
15632         (gnus-summary-refer-article): Remove gnus-warp-to article call.
15634 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
15636         Allow limiting gnus summary buffers to a thread
15638         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
15639         an optional argument to allow limiting the summary buffer to just the
15640         thread-related articles.
15641         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
15642         to control whether thread-referral adds the thread to the summary
15643         buffer or limits to just the thread.
15644         (gnus-summary-refer-thread): Use the new variable.
15646 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
15648         Correct gnus-newsgroup-limits in gnus when including thread
15650         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
15651         only add one list of thread-related articles to gnus-newsgroup-limits
15652         rather than two.
15654 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
15656         Improve gnus thread matching of similar subjects
15658         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
15659         Use the more liberal gnus-general-simplify-subject regexp to
15660         find thread articles with similar subjects.
15662 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
15664         Add new `lisp-indent-region' that doesn't reparse the code.
15666         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
15667         to get initial state, so they will no longer indent string literal
15668         contents.
15670         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
15671         `syntax-ppss', but with a more dependable item 2.
15672         (lisp-indent-region): New function, like `indent-region-line-by-line'
15673         but additionally keep a running parse state to avoid reparsing the
15674         code repeatedly.  Use `lisp-ppss' to get initial state.
15675         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
15676         `calculate-lisp-indent', use `lisp-ppss' if not given.
15677         (lisp-mode-variables): Set `indent-region-function' to
15678         `lisp-indent-region'.
15680 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
15682         Remove ignored argument from lisp-indent-line
15684         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
15685         argument, the behavior has long since been handled in
15686         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
15687         variables and use `indent-line-to'.
15689 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
15691         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
15693 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
15695         Don't reparse the sexp in indent-sexp (Bug#25122)
15697         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
15698         PARSE-START be a parse state that can be reused.
15699         (indent-sexp): Pass the running parse state to calculate-lisp-indent
15700         instead of the sexp beginning position.  Saving the
15701         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
15702         needed.  Don't bother stopping if we don't descend below init-depth,
15703         since we now alway scan the whole buffer (via syntax-ppss) anyway.
15704         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
15705         line to test case.
15707 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
15709         Add cond test cases for singleton clauses.
15711         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
15712           the default clause is a single non-nil expression.
15714 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
15716         b-c--cond-jump-table-info: Use correct body for singleton clauses
15718         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
15719         When a clause's body consists of a single constant expression, use
15720         that expression as the body to be compiled. This fixes switch bytecode
15721         evaluating to nil to such clauses.
15723 2017-04-22  Philipp Stephani  <phst@google.com>
15725         ffap: Don't switch window unless needed
15727         When using ffap-other-window, don't change the window configuration
15728         unless a new buffer has actually been created (Bug#25352).
15730         * lisp/ffap.el (ffap-other-frame): Don't change the window
15731         configuration if no new buffer has been created.
15732         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
15733         test.
15735 2017-04-22  Alan Mackenzie  <acm@muc.de>
15737         Fix fontification of C++ declaration with type FOO::FOO.
15739         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
15740         cfd-top-level properly.
15741         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
15742         before deciding it is a constructor.
15744         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
15745         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
15746         (simple bug fix).
15748 2017-04-22  Philipp Stephani  <phst@google.com>
15750         Fix usage of FRAME_Z_GROUP
15752         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
15753         Lisp object, cf. Bug#26597.
15755 2017-04-22  Alan Third  <alan@idiocy.org>
15757         Fix GNUstep build
15759         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
15760         compatibility.
15761         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
15763 2017-04-21  Alan Third  <alan@idiocy.org>
15765         Add no-accept-focus and frame-list-z-order to NS port
15767         * lisp/frame.el (frame-list-z-order): Add NS.
15768         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
15769         (Fx_create_frame): Handle no-accept-focus parameter.
15770         (ns_window_is_ancestor):
15771         (Fns_frame_list_z_order): New functions.
15772         * src/nsterm.m (x_set_no_accept_focus): New function.
15773         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
15774         non-fullscreen windows.
15775         (EmacsWindow:canBecomeKeyWindow): New function.
15777 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15779         Improve prefix handling for dash.el
15781         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
15782         Don't drop dash's "-<letter>" prefixes.
15784 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15786         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
15788         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
15789         and use a different fix for bug#26068.
15790         (cl--symbol-macro-key): New function.
15791         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
15792         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
15793         Failure is not expected any more.
15795 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
15797         Avoid infinite loop in redisplay when header-line-format is invalid
15799         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
15800         string has an invalid %-construct in it and is displayed as part
15801         of mode-line or header-line.  (Bug#26586)
15803 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
15805         Add tests to check image scaling functionality
15807         This is in preparation to doing further work in this area to avoid
15808         regressions.
15810         * test/data/image/blank-200x100.png: New file for testing
15811         image scaling.
15813         * test/manual/image-size-tests.el: New file.
15815 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
15817         Allow svg-image to take all create-image PROPS
15819         * lisp/svg.el (svg-image): Allow passing in PROPS when
15820         creating an image for convenience.
15822 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
15824         Treat non-erroring lisp call as successful eshell command (Bug#26161)
15826         This lets a compound command like 'cd .. && echo ok' print 'ok',
15827         similar to how most other shells behave.
15829         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
15830         last exit code was zero, rather than first checking whether the last
15831         command returned nil.
15832         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
15834 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
15836         Fix reading of tab settings in whitespace-mode
15838         lisp/whitespace.el (whitespace-indent-tabs-mode)
15839         whitespace-tab-width): Remove these variables. The underlying
15840         variables `indent-tabs-mode' and `tab-width' are already buffer-local
15841         when needed, and whitespace-mode never changes them.
15842         (whitespace-ensure-local-variables): Remove this function, which only
15843         existed to set the above variables.
15844         (whitespace-cleanup-region, whitespace-regexp)
15845         (whitespace-indentation-regexp, whitespace-report-region)
15846         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
15847         use `indent-tabs-mode' and `tab-width' directly, and not call
15848         `whitespace-ensure-local-variables'.
15850 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
15852         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
15854         by simplifying ascii-test.
15856 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
15858         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
15860         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
15861           FORM if the bytecode uses the byte-switch instruction. It is
15862           impossible to guess the correct stack depth while inlining such
15863           bytecode, resulting in faulty code.
15865 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
15867         Set Emacs version to 25.2 and update AUTHORS file
15869         * README: Set Emacs version to 25.2.
15870         * etc/HISTORY: Add release log.
15871         * lisp/ldefs-boot.el:
15872         * etc/AUTHORS:
15873         * ChangeLog.2: Update.
15875 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
15877         Don't register "def" as an autoload prefix (Bug#26412)
15879         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
15880         accept "def" as a prefix.
15882 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
15884         Use substring completion for Info menus and index
15886         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
15887         (Info-menu): Simplify now that we use the `default' arg of completing-read.
15888         * lisp/minibuffer.el (completion-category-defaults): Use substring
15889         completion for `info-menu`.
15891 2017-04-19  Glenn Morris  <rgm@gnu.org>
15893         Remove some explicit runtime loads of pcase
15895         Pcase is macros, so these should have used eval-when-compile.
15896         Anyway, pcase entry points are autoloaded, so the compiler handles it.
15897         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
15898         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
15899         * lisp/progmodes/xref.el: No need to require pcase.
15901 2017-04-19  Glenn Morris  <rgm@gnu.org>
15903         Stop cl-lib loading pcase at runtime
15905         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
15906         * lisp/emacs-lisp/autoload.el (make-autoload):
15907         Treat pcase-defmacro like defmacro.
15909 2017-04-19  Alan Third  <alan@idiocy.org>
15911         Note frame documentation exceptions for NS builds
15913         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
15914         NS differences.
15916 2017-04-19  Alan Third  <alan@idiocy.org>
15918         Fix bug introduced by my last commit
15920         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
15922 2017-04-19  Alan Third  <alan@idiocy.org>
15924         Add new frame functionality to NS port
15926         * lisp/frame.el (frame-restack): Call ns-frame-restack.
15927         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
15928         MOVE_FRAME_EVENT handling.
15929         * src/frame.h:
15930         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
15931         definitions.
15932         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
15933         x_set_undecorated (Cocoa only) to handler struct.
15934         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
15935         frame parameter.
15936         (Fns_frame_restack): New function.
15937         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
15938         FRAME_TOOLBAR_HEIGHT is no longer a variable.
15939         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
15940         Add #defines to find the screen position of the parent frame.
15941         (NS_TOP_POS): Remove defun.
15942         (EmacsView): Remove redundant toolbar variables and add createToolbar
15943         method.
15944         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
15945         values instead of storing them in a variable.
15946         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
15947         position into account when positioning frames.
15948         (initFrameFromEmacs): Remove toolbar creation code and handle new
15949         frame parameters.
15950         (x_set_window_size): Remove toolbar height calculation.
15951         (x_set_z_group):
15952         (x_set_parent_frame):
15953         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
15954         (x_destroy_window): Detach parent if child closes.
15955         (updateFrameSize): Change NSTRACE message to reflect new reality and
15956         no longer reset frame size.
15957         (windowWillResize): Don’t change NS window name when the titlebar
15958         is invisible.
15959         (createToolbar): Move toolbar creation code into it’s own method.
15960         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
15961         are no longer variables.
15962         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
15964 2017-04-19  Glenn Morris  <rgm@gnu.org>
15966         Tweak bytecomp's loading of cl-extra
15968         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
15969         post-bootstrap emacs where cl-loaddefs does exist.
15971 2017-04-19  Glenn Morris  <rgm@gnu.org>
15973         Avoid unnecessary loading of subr-x at run-time
15975         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
15976         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
15977         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
15978         No need to load subr-x at run-time.
15979         * lisp/gnus/nnheader.el: No need to load subr-x.
15981 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
15983         Use iteration in math-factorial-iter
15985         * lisp/calc/calc-comb.el (math-factorial-iter):
15986         Use iteration instead of recursion to avoid max-specpdl-size problem.
15988 2017-04-18  Glenn Morris  <rgm@gnu.org>
15990         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
15992 2017-04-18  Glenn Morris  <rgm@gnu.org>
15994         Avoid ert test failures
15996         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
15997         Avoid errors related to undefined byte-compile-macro-environment.
15998         Somehow masked until very recently because loading seq (eg)
15999         loads bytecomp.  http://hydra.nixos.org/build/51730765
16001 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
16003         Fix a typo in indexing the user manual
16005         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
16007 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
16009         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
16011         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
16012         Rename from find-library--from-load-path.  Check for `load-history'
16013         entries with nil FILE-NAMEs.  Simplify by not double
16014         checking for suffixes and making use of `locate-file'.
16016 2017-04-18  Alan Third  <alan@idiocy.org>
16017             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
16019         Use vfork if possible on Darwin (bug#26397)
16022         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
16023         (vfork): Don't define.
16024         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
16025         set, otherwise vfork.
16026         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
16027         the controlling terminal instead of setsid.
16029 2017-04-18  Fran Litterio  <flitterio@gmail.com>
16031         Small erc-kill-channel fix (bug#23700)
16033         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
16035 2017-04-18  Glenn Morris  <rgm@gnu.org>
16037         ediff: use user-error rather than debug-ignored-errors
16039         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
16040         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
16041         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
16042         (ediff-check-version):
16043         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
16044         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
16045         (ediff-append-custom-diff, ediff-meta-show-patch)
16046         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
16047         (ediff-get-meta-info, ediff-patch-file-form-meta):
16048         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
16049         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
16050         (ediff--check-ancestor-exists, ediff-toggle-read-only)
16051         (ediff-toggle-wide-display, ediff-toggle-multiframe)
16052         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
16053         (ediff-next-difference, ediff-previous-difference)
16054         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
16055         (ediff-save-buffer):
16056         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
16057         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
16058         (ediff-directories-internal, ediff-directory-revisions-internal)
16059         (ediff-regions-wordwise, ediff-regions-linewise)
16060         (ediff-load-version-control): Use user-error.
16061         (debug-ignored-errors): No longer modify.
16063 2017-04-18  Glenn Morris  <rgm@gnu.org>
16065         mh-e: use user-error rather than debug-ignored-errors
16067         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
16068         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
16069         (debug-ignored-errors): No longer modify.
16071 2017-04-18  Glenn Morris  <rgm@gnu.org>
16073         ispell.el: use user-error rather than debug-ignored-errors
16075         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
16076         (debug-ignored-errors): No longer modify.
16078 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16080         * src/xterm.c (x_fill_rectangle): Now static.
16082 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16084         Tighten recently-added UTF-8 check
16086         * src/coding.c (encode_coding_utf_8): Now extern.
16087         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
16088         Check for UTF-8, not just for multibyte.
16090 2017-04-17  David Engster  <deng@randomsample.de>
16092         xml: Properly handle symbol-qnames for attribute parsing
16094         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
16095           xml-ns argument (reverts aea67018) (Bug#26533).
16096           (xml-maybe-do-ns): Properly handle default namespace by not
16097           interning new symbol when 'special' flag is set.
16099         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
16100           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
16102 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16104         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
16106 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
16108         Fix assertion violations when displaying thread-related error
16110         * src/process.c (Faccept_process_output): Don't assume a thread's
16111         name is always a string.
16113 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16115         dired ‘M’ should not complain about ‘.’ and ‘..’
16117         * lisp/dired-aux.el (dired-do-redisplay):
16118         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
16120 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16122         Remove unused coding enums
16124         * src/coding.h (enum coding_system_type, enum end_of_line_type):
16125         Remove; unused.
16127 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16129         Work around bug with unibyte Linux consoles
16131         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
16132         the terminal's coding system is unibyte (Bug#26396).
16134 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
16136         Fix org-agenda's command for calendar-lunar-phases
16138         Function org-agenda-phases-of-moon tries to call a non-existing
16139         function calendar-phases-of-moon. The correct function is
16140         calendar-lunar-phases.
16142 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
16144         Tuning for `separate' Tramp syntax
16146         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
16147         (tramp-completion-file-name-regexp-separate): Simplify.
16149         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
16150         Extend test.
16152 2017-04-16  Alan Mackenzie  <acm@muc.de>
16154         Fix bug #26529: C-h k errors with a lambda function bound to a key.
16156         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
16157         `function' is a symbol before trying to get property `reader-construct' from
16158         it.
16160 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
16162         Fix highlighting of short selectors in CSS mode
16164         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
16165         selectors where the part before a colon is only one character long,
16166         such as `a:hover'.
16168 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
16170         Fix redisplay performance problems with some fonts
16172         * src/font.c (font_list_entities): Revert part of the changes
16173         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
16174         zero_vector in the font-cache is an important indication that
16175         cannot be removed.  (Bug#21028)
16177 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
16179         Add assertion to STRING_SET_CHARS
16181         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
16182         to prevent incorrect usage.  For details, see this discussion:
16183         http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00412.html.
16185 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
16187         Avoid compilation warnings on MS-Windows
16189         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
16190         parentheses around assignment.
16191         * src/w32fns.c (w32_createwindow): Remove unused variable
16192         dwStyle.  Use "|=" where appropriate.
16194 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16196         Merge from gnulib
16198         This incorporates:
16199         2017-04-14 intprops: try to avoid tickling similar bugs
16200         2017-04-14 intprops: port to Oracle Studio 12.3 x86
16201         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
16203 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
16205         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
16207         * lisp/window.el (with-displayed-buffer-window): When a
16208         'window-height' action alist entry specifies a function, call
16209         `temp-buffer-window-show' with a '(window-height . t)' dummy
16210         entry so `window--try-to-split-window' will bind
16211         `window-combination-limit' to t and that function does not
16212         resize any other window but the one we split this one off
16213         (Bug#25055, Bug#25179).
16214         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
16215         we steal space only from windows in the same combination.
16216         Stealing space from other windows would not allow us to return
16217         that space later when this window is deleted (Bug#25055,
16218         Bug#25179).
16220 2017-04-15  Glenn Morris  <rgm@gnu.org>
16222         Avoid userlock queries hanging forever in batch mode
16224         * lisp/userlock.el (ask-user-about-lock)
16225         (ask-user-about-supersession-threat): Abort in batch mode.
16227 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
16229         Fix segfault when calling frame_ancestor_p (Bug#26493)
16231         * src/xterm.c (handle_one_xevent): Check that hf was not reset
16232         before calling frame_ancestor_p (Bug#26493).
16234 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
16236         A few additional copy-edits in documentation of frames
16238         * doc/lispref/frames.texi (Frame Layout)
16239         (Implied Frame Resizing): Windows -> MS-Windows.
16240         (Deleting Frames): Fix typo.
16242 2017-04-14  Glenn Morris  <rgm@gnu.org>
16244         Use user-error for some ert.el errors
16246         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
16247         (ert-results-find-test-at-point-other-window, ert-describe-test):
16248         Use user-error.
16250 2017-04-14  Glenn Morris  <rgm@gnu.org>
16252         Use user-error for customize's "invalid face" error
16254         * lisp/cus-edit.el (customize-face): Use user-error.
16255         (debug-ignored-errors): No more need to add "Invalid face".
16257 2017-04-14  Glenn Morris  <rgm@gnu.org>
16259         Remove duplicate lisp-eval-defun definition
16261         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
16262         Autoload rather than defining a stub.
16264 2017-04-14  Glenn Morris  <rgm@gnu.org>
16266         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
16268 2017-04-14  Glenn Morris  <rgm@gnu.org>
16270         Create generated lisp files before main loaddefs.el
16272         This should improve reproducibility of lisp/loaddefs.el.
16273         * lisp/Makefile.in (gen-lisp): New phony target.
16274         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
16275         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
16276         * lisp/cedet/semantic.el (semantic-mode):
16277         * lisp/cedet/semantic/fw.el (top-level):
16278         * lisp/emacs-lisp/eieio-core.el (top-level):
16279         Robustify to generated input files maybe not yet existing.
16281 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16283         Fix minor quoting issues in Makefile.in
16285         * Makefile.in (install-arch-dep, uninstall):
16286         Quote EMACS and EMACS_NAME more consistently.
16288 2017-04-13  Glenn Morris  <rgm@gnu.org>
16290         * Makefile.in (install-etc): Use existing Makefile variables.
16292 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
16294         Minor copyedits of recent changes in documentation
16296         * doc/lispref/frames.texi (Frame Layout, Frame Position)
16297         (Frame Size, Frame Interaction Parameters, Input Focus)
16298         (Raising and Lowering, Child Frames): Improve wording and indexing.
16299         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
16301 2017-04-13  Glenn Morris  <rgm@gnu.org>
16303         Small src/Makefile simplification
16305         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
16306         ($(lispsource)/term/ns-win.elc): Combine rules.
16308 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
16310         Add grid layout module to CSS property list
16312         * lisp/textmodes/css-mode.el (css-property-alist)
16313         (css-value-class-alist): Add new properties and value classes from CSS
16314         Grid Layout Module.
16316 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
16318         Describe recent frame and window changes in manuals
16320         * doc/emacs/emacs.texi (Top):
16321         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
16322         "outer border" (for the X border which can be set from within
16323         Emacs) and "external border" (for the border which is added by
16324         the window manager).
16325         * doc/lispref/display.texi (Tooltips): Clarify slightly.
16326         * doc/lispref/elisp.texi (Top): Update node and section names.
16327         * doc/lispref/frames.texi (Frames): Describe difference between
16328         top-level and child frames.
16329         (Frame Layout): Describe outer border.  Add more details about
16330         how Emacs obtains the outer size and position of a frame and
16331         about menu bar/tool bar wrapping.  Add references to new frame
16332         parameters.
16333         (Size and Position): Remove subsection.
16334         (Frame Position): New subsection excerpted from the earlier Size
16335         and Position subsection.  Clarify positioning concepts and
16336         some of their shortcomings.  Describe `move-frame-functions'.
16337         (Frame Size): New subsection excerpted from the earlier Size
16338         and Position subsection.  Describe how to track frame size
16339         changes and the new function `frame-size-changed-p'.
16340         (Position Parameters): Describe child frame positioning.  Warn
16341         about negative offsets.  Describe 'z-group' parameter.
16342         (Size Parameters): Describe 'text-pixels' specification
16343         facility and new 'min-width' and 'min-height' parameters.
16344         (Layout Parameters): Clarify description of 'tool-bar-lines' and
16345         'menu-bar-lines' parameters.
16346         (Frame Interaction Parameters): New subsubsection describing
16347         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
16348         'no-other-frame' parameters.
16349         (Management Parameters): Describe 'skip-taskbar',
16350         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
16351         'override-redirect' parameters.
16352         (Deleting Frames): Describe handling of 'delete-before'
16353         parameter and child frames for `delete-frame' and
16354         `delete-other-frames'.
16355         (Finding All Frames): Describe `frame-list-z-order' and handling
16356         of 'no-other-frame' parameter by `next-frame'.
16357         (Minibuffers and Frames): Minor clarifications.
16358         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
16359         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
16360         (Visibility of Frames): Describe mapping and how the visibility
16361         of a parent frame affects that of its child frames.
16362         (Raising and Lowering): Describe restacking of frames and
16363         z-groups.
16364         (Child Frames): New section.
16365         * doc/lispref/windows.texi (Selecting Windows): Describe
16366         additional semantics of NORECORD argument of `select-window' and
16367         how `buffer-list-update-hook' can emulate a "select window
16368         hook".
16369         (Mouse Window Auto-selection): New section.
16371 2017-04-13  Damien Cassou  <damien@cassou.me>
16373         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
16375         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
16376           pairs.
16377         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
16379 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
16381         Avoid unnecessary regeneration of the entire loaddefs.el
16383         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
16384         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
16385         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
16386         loaddefs.tmp before running 'batch-update-autoloads' on it, to
16387         avoid slow regeneration of the full contents.  (Bug#26459)
16388         Use 'move-if-change' instead of 'mv', to avoid producing a new
16389         Emacs binary when not necessary.
16391 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
16393         Handle indentation of nested ternary operators in JS
16395         * lisp/progmodes/js.el (js--looking-at-operator-p):
16396         Handle nested ternary operators.
16398 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
16400         Don't call 'kill-this-buffer' outside of menus
16402         * lisp/simple.el (kill-current-buffer): New function.
16403         (completion-list-mode-map): Use it instead of kill-this-buffer.
16404         * lisp/type-break.el (type-break-mode):
16405         * lisp/term/ns-win.el (global-map):
16406         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
16407         (gdb-disassembly-mode-map, gdb-frames-mode-map)
16408         (gdb-locals-mode-map, gdb-registers-mode-map):
16409         * lisp/org/org-mhe.el (org-mhe-follow-link):
16410         * lisp/net/secrets.el (secrets-mode-map):
16411         * lisp/net/eudc.el (eudc-mode-map):
16412         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
16413         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
16415 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
16417         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
16419 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
16421         New internal-border face and args for select-window and x-focus-frame
16423         Add `internal-border' face and handle it whenever clearing the
16424         internal border.  If NORECORD equals the symbol
16425         'mark-for-redisplay', `select-window' will not record the window
16426         but still mark it for redisplay.  The new argument NOACTIVATE
16427         for `x-focus-frame' tries to not activate FRAME when set.
16429         * lisp/faces.el (internal-border): New face.
16430         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
16431         `mark-for-redisplay'.
16432         * lisp/scroll-bar.el (scroll-bar-drag)
16433         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
16434         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
16435         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
16436         with `mark-for-redisplay'.
16437         * lisp/window.el (handle-select-window): When
16438         `focus-follows-mouse' is not 'auto-raise' try to not activate
16439         FRAME.
16440         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
16441         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
16442         * src/frame.h (x_focus_frame): Update extern declaration.
16443         * src/gtkutil.c (xg_clear_under_internal_border): Remove
16444         function.
16445         (xg_frame_resized, xg_frame_set_char_size): Call
16446         x_clear_under_internal_border.
16447         (xg_tool_bar_callback): Adapt x_focus_frame call.
16448         * src/gtkutil.h (xg_clear_under_internal_border): Remove
16449         declaration.
16450         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
16451         * src/w32fns.c (x_clear_under_internal_border): Fill border
16452         with internal-border background if specified.
16453         * src/w32term.h (x_clear_under_internal_border): Add extern
16454         declaration.
16455         * src/w32term.c (x_after_update_window_line): Fill border
16456         with internal-border background if specified.
16457         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
16458         (x_scroll_bar_clear, w32_read_socket): Call
16459         x_clear_under_internal_border.
16460         (x_focus_frame): New argument NOACTIVATE.
16461         * src/window.c (select_window): Mark WINDOW for redisplay when
16462         NORECORD equals 'mark-for-redisplay'.
16463         (Fselect_window): Update doc-string.
16464         (syms_of_window): Define Qmark_for_redisplay.
16465         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
16466         (redisplay_internal): Call x_clear_under_internal_border.
16467         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
16468         and `internal-border' faces.
16469         (realize_basic_faces): Realize `internal-border' face.
16470         (syms_of_xfaces): Define Qinternal_border.
16471         * src/xfns.c (x_set_internal_border_width): Remove call for
16472         xg_clear_under_internal_border.
16473         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
16474         activate frame.
16475         * src/xterm.c (x_fill_rectangle): No more static.
16476         (x_clear_under_internal_border, x_after_update_window_line):
16477         Fill border with internal-border background if specified.
16478         (xt_horizontal_action_hook): Rewrite.
16479         (handle_one_xevent): Call x_clear_under_internal_border.
16480         * src/xterm.h (x_fill_rectangle): Add extern declaration.
16482 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16484         Port recent frame changes to --enable-gcc-warnings
16486         * src/frame.c (next_frame, prev_frame):
16487         Remove now-redundant assertions.
16488         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
16490 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
16492         Scroll right and left using wheel-right and wheel-left.
16494         These changes also make use of touchpad and trackpad (Bug#26347).
16496         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
16497         scrolling using the mouse wheel.
16499         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
16500         (mwheel-tilt-scroll-p, mwheel-flip-direction)
16501         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
16502         defcustoms.
16503         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
16504         events that calls wheel-left/right.
16506         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
16508 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
16510         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
16512 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
16514         Add new frame parameters and associated functions
16516         Add new frame parameters `undecorated', `override-redirect',
16517         `parent-frame', `skip-taskbar', `no-focus-on-map',
16518         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
16519         `mouse-wheel-frame', `min-width', `min-height'.  Add new
16520         functions `frame-restack' and `frame-list-z-order'.
16522         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
16523         type.
16524         * lisp/frame.el (handle-delete-frame): Handle child and
16525         `delete-before' frames.
16526         (other-frame): Stop looking for other frame after one round.
16527         (frame-list-z-order, frame-restack): New functions.
16528         (delete-other-frames): Handle child frames.
16529         * lisp/frameset.el (frameset-persistent-filter-alist)
16530         (frameset--record-relationships): Handle `delete-before',
16531         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
16532         latter from `frameset--record-minibuffer-relationships'.
16533         (frameset--restore-frame): Handle ‘parent-frame’ parameter
16534         specially.
16535         (frameset-restore): Handle `delete-before', `parent-frame' and
16536         `mouse-wheel-frame' parameters.
16537         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
16538         parameter.
16539         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
16540         (mouse-autoselect-window-select, handle-select-window): Major
16541         rewrite.  Try to not ignore errors.  Handle auto-selection of
16542         child frames and different values of `focus-follows-mouse'.
16543         * src/frame.c (frame_windows_min_size): Handle new `min-width'
16544         and `min-height' frame parameters.
16545         (make_frame): Initialize new frame structure members.
16546         (do_switch_frame): Don't reset internal_last_event_frame for
16547         descendant frames.
16548         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
16549         functions.
16550         (candidate_frame): Don't return `no-other-frame' frame.
16551         (other_frames): New function replacing other_visible_frames.
16552         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
16553         (Fmake_frame_invisible): Call other_frames.
16554         (store_frame_param): Check `delete-before' and `parent-frame'
16555         parameters for circular dependencies.
16556         (frame_parms, syms_of_frame): Add entries for and define new
16557         frame parameters.
16558         (focus_follows_mouse): New meaningful value `auto-raise'.
16559         * src/frame.h (z_group): New enumeration type.
16560         (frame): New slots parent_frame, undecorated, override_redirect,
16561         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
16562         (fset_parent_frame): New inlined function.
16563         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
16564         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
16565         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
16566         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
16567         (FRAME_Z_GROUP_BELOW): New macros.
16568         (frame_ancestor_p): Add declaration.
16569         * src/gtkutil.c (xg_create_frame_widgets): Handle
16570         `undecorated' and `override-redirect' frame parameters.
16571         (x_wm_set_size_hint): None for child frames.
16572         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
16573         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
16574         (xg_set_override_redirect): New functions.
16575         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
16576         Don't let scrollbars obscure child frames.
16577         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
16578         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
16579         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
16580         declarations.
16581         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
16582         frame parameters.
16583         (Fx_create_frame): Install `min-width' and `min-height' frame
16584         parameters.
16585         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
16586         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
16587         (x_real_positions): Handle child frames.
16588         (x_set_menu_bar_lines): Don't for child frames.
16589         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
16590         (x_set_no_focus_on_map, x_set_no_accept_focus)
16591         (x_set_z_group): New functions.
16592         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
16593         scroll bars over child frames.
16594         (w32_createwindow): Handle new frame parameters and child frames.
16595         (w32_wnd_proc): Let mouse clicks into a child frame activate
16596         the frame.  Try to handle the `no-accept-focus' parameter.  Do
16597         SetFocus when our window is brought to top or becomes the
16598         foreground window.
16599         (w32_window): Don't initialize menu bar for child frames.
16600         (Fx_create_frame): Handle new frame parameters.
16601         (x_create_tip_frame): Set explicit_parent slot.
16602         (w32_dialog_in_progress): New function.
16603         (Fx_file_dialog): Handle `z-group-above' frames.
16604         (w32_frame_list_z_order, Fw32_frame_list_z_order)
16605         (w32_frame_restack, Fw32_frame_restack): New functions.
16606         (w32_frame_parm_handlers): Add entries for new frame
16607         parameters.
16608         * src/w32font.c (Fx_select_font): Handle `z-group-above'
16609         frames during font selection dialogue.
16610         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
16611         event from F's w32 window.
16612         (w32_mouse_position): Handle child frames.
16613         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
16614         Don't draw scroll bars over child frames.
16615         (w32_read_socket): Always erase background of child frames.
16616         When generating SELECT_WINDOW_EVENTs handle new value of
16617         `focus-follows-mouse' and handle `no-accept-focus' parameter.
16618         Handle `mouse-wheel-frame' parameter.
16619         (x_calc_absolute_position, x_set_offset, x_set_window_size):
16620         Handle child frames.
16621         (x_make_frame_visible): Handle child frames specially.  Handle
16622         `no-focus-on-map' parameter.
16623         * src/w32term.h (w32_dialog_in_progress): Add external
16624         declaration.
16625         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
16626         for child frames.
16627         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
16628         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
16629         non-Motif, non-GTK case.
16630         (x_real_pos_and_offsets): Handle child frames.
16631         (x_set_undecorated, x_set_parent_frame)
16632         (x_set_no_focus_on_map, x_set_no_accept_focus)
16633         (x_set_override_redirect): New functions.
16634         (x_set_menu_bar_lines): Not for child frames.
16635         (x_window): Handle `undecorated' and `override_redirect' cases.
16636         (Fx_create_frame): Handle new frame parameters.
16637         (frame_geometry): Handle child frames and outer border.
16638         (x_frame_list_z_order, Fx_frame_list_z_order)
16639         (x_frame_restack, Fx_frame_restack): New functions.
16640         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
16641         (x_frame_parm_handlers): Add entries for new frame parameters.
16642         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
16643         frames.
16644         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
16645         for child frames.
16646         (XTmouse_position): Handle child frames.
16647         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
16648         bars obscure child frames.
16649         (handle_one_xevent): Handle child frame positions.  If necessary
16650         set `skip-taskbar' and reassign proper `z-group' when we are
16651         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
16652         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
16653         Let mouse clicks into a child frame activate the frame.
16654         (x_calc_absolute_position, x_set_offset): Handle child frames
16655         specially.
16656         (x_set_skip_taskbar, x_set_z_group): New functions.
16657         (x_make_frame_visible): Handle child frames.
16658         (ATOM_REFS_INIT): Add entries for
16659         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
16660         Xatom_net_wm_state_below.
16661         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
16662         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
16663         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
16665 2017-04-11  Glenn Morris  <rgm@gnu.org>
16667         Update a package test for hydra
16669         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
16670         Also bind package-gnupghome-dir, see eg
16671         http://hydra.nixos.org/build/51462182 .
16673 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
16675         Frame movement, focus and hook related changes
16677         New hook `move-frame-functions'.  Run `focus-in-hook'
16678         after switching to frame that gets focus.  Don't run
16679         XMoveWindow for GTK.
16681         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
16682         functions.
16684         * src/frame.c (do_switch_frame): Simplify code.
16685         (Fhandle_switch_frame): Switch frame before running
16686         `handle-focus-in'.
16687         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
16688         (Vmove_frame_functions): New hook variable.
16689         * src/keyboard.c (kbd_buffer_get_event): Handle
16690         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
16691         (head_table): Add Qmove_frame entry.
16692         (syms_of_keyboard): Add Qmove_frame.
16693         (keys_of_keyboard): Define key for `move-frame'.
16694         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
16695         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
16696         * src/window.c (run_window_size_change_functions): Record size of
16697         FRAME's minibuffer window too.
16698         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
16699         (x_set_offset): For GTK call gtk_widget_move instead of
16700         XMoveWindow.
16702 2017-04-11  Werner LEMBERG  <wl@gnu.org>
16704         Avoid abort in ftfont.c due to faulty fonts
16706         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
16707         hinting, before aborting.  (Bug#25945)
16709 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
16711         Document 'line-pixel-height'
16713         * doc/lispref/display.texi (Size of Displayed Text): Document
16714         line-pixel-height.  Suggested by Tak Kunihiro
16715         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
16717 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
16719         Introduce customizable variable 'package-gnupghome-dir'
16721         * lisp/emacs-lisp/package.el (package-import-keyring)
16722         (package--check-signature-content, package-check-signature):
16723         Use new variable package-gnupghome-dir to control which GnuPG
16724         homedir to use.
16725         * doc/emacs/package.texi: Mention package-gnupghome-dir.
16726         * etc/NEWS: Mention package-gnupghome-dir.
16728 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
16730         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
16732         This activates a change that was installed a few weeks ago but whose
16733         ChangeLog was inadvertently dropped during its commit.  The proper
16734         ChangeLog is included below as part of the present commit.
16736         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
16737         is set avoid calling x_gtk_parse_geometry (Bug#25851).
16738         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
16739         PPosition, USPosition and USSize flags if requested.
16740         * src/xterm.c (x_set_offset): With GTK when
16741         x_gtk_use_window_move is set, leave it entirely to
16742         gtk_window_move to position the window and skip any
16743         post-adjustments (Bug#25851 and Bug#25943).
16744         (x_gtk_use_window_move): New variable.
16746 2017-04-10  Alan Mackenzie  <acm@muc.de>
16748         Fix a loop in C Mode caused by inadequate analysis of comments.
16750         After M-;, and the insertion of the opening "/*", the CC Mode after-change
16751         function got confused, since the new comment opener matched the end of a
16752         subsequent comment, but moving back over that comment did not come back to the
16753         starting point.  Fix this.
16755         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
16756         point is left if no end-of-macro is found before it.
16757         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
16758         non-nil except where we have an unclosed block comment at the end of a macro.
16759         This enables us to populate the cache more fully, at the cost of some run
16760         time.
16762 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
16764         Add PVSIZE function to return the size of a pseudovector.
16766         * src/lisp.h (PVSIZE): New function.
16768         * src/chartab.c (copy_char_table):
16769         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
16770         * src/doc.c (Fdocumentation, store_function_docstring):
16771         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
16772         * src/fns.c (Flength, Fcopy_sequence):
16773         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
16774         * src/lread.c (substitute_object_recurse):
16775         * src/print.c (print_object):
16776           Use it.
16778 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
16780         Add Tramp tests
16782         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
16784         * test/lisp/net/tramp-tests.el
16785         (tramp-test01-file-name-syntax-simplified)
16786         (tramp-test01-file-name-syntax-separate)
16787         (tramp-test02-file-name-dissect-simplified)
16788         (tramp-test02-file-name-dissect-separate): New tests.
16790 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
16792         Make sure that `shell' makes BUFFER current
16794         * lisp/shell.el (shell): Restrict scope of recently added
16795         `with-current-buffer' to make sure that BUFFER is current when
16796         `shell' returns.
16798 2017-04-10  Jim Blandy  <jimb@red-bean.com>
16800         Default to PCRE syntax when reading .hgignore
16802         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
16803         Default to the PCRE syntax (bug#26249).
16805 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
16807         Document Tramp changes
16809         * doc/misc/tramp.texi (Change file name syntax): New node.
16811         * etc/NEWS: Mention `tramp-change-syntax'.
16813         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
16814         External packages uses it.
16815         (tramp-syntax): Set also `tramp-file-name-regexp'.
16817 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16819         Merge from gnulib (Bug#26398)
16821         This incorporates:
16822         2017-04-08 getopt: prefer - to _ in new file names
16823         2017-04-08 getopt: port recent getopt changes to macOS
16824         * .gitignore: Add lib/getopt-cdefs.h.
16825         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
16826         * lib/getopt-core.h: Rename from lib/getopt_core.h.
16827         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
16828         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
16829         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
16830         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
16831         Copy from Gnulib.
16832         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16834 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
16836         Write updated loaddefs to a temporary file and rename into place.
16838         In a parallel build, byte compilation can be running at the same times
16839         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
16840         loaddefs.el is read at startup and must always be in a usable state.
16842         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
16843         loaddefs.el.new and then rename it to loaddefs.el.
16845 2017-04-09  Glenn Morris  <rgm@gnu.org>
16847         In the manual, mention pops and imaps
16849         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
16850         Mention pops and imaps protocols.
16852 2017-04-09  Glenn Morris  <rgm@gnu.org>
16854         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
16856 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
16858         Fix rmail handling of movemail protocols (bug#18278)
16860         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
16861         (rmail-parse-url): Return protocol in second list element.
16862         Only use passwords with remote mailboxes.
16863         (rmail-insert-inbox-text): Handle non-simple local
16864         mailboxes (maildir, MH, etc.).
16866 2017-04-09  Glenn Morris  <rgm@gnu.org>
16868         Fix typos in manual re movemail local mailboxes
16870         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
16871         Fix examples of local mailbox urls.
16873 2017-04-08  Glenn Morris  <rgm@gnu.org>
16875         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
16877 2017-04-08  Glenn Morris  <rgm@gnu.org>
16879         Remove references to OS/2 in code, doc, and comments
16881         * lisp/gnus/nnheader.el (nnheader-read-timeout)
16882         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
16883         * lisp/emulation/viper-util.el (viper-color-defined-p):
16884         * lisp/net/pop3.el (pop3-read-timeout):
16885         * lisp/net/imap.el (imap-read-timeout):
16886         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
16887         * lisp/emulation/viper-ex.el (viper-glob-function):
16888         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
16889         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
16890         * doc/emacs/msdos-xtra.texi (MS-DOS):
16891         * doc/misc/gnus.texi (Various Various):
16892         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
16894 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
16896         Tune Tramp syntax
16898         * lisp/net/tramp-cmds.el (tramp-change-syntax):
16899         Use `tramp-syntax-values'.
16901         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
16903         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
16904         (tramp-syntax-values): New defun.
16905         (tramp-prefix-format, tramp-method-regexp)
16906         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
16907         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
16908         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
16909         and changed values.
16910         (tramp-completion-file-name-regexp-default): Rename from
16911         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
16912         (tramp-completion-file-name-regexp-simplified): Rename from
16913         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
16914         (tramp-initial-completion-file-name-regexp):
16915         Use `tramp-completion-file-name-regexp-default'.
16916         (tramp-run-real-handler): Do not autoload any longer.
16918 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
16920         Replace more nested ifs with cond
16922         This is a continuation of d526047 "Replace more nested ifs with cond".
16923         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
16924         when and cond where appropriate.
16926 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
16928         Adjust the edebug spec of if-let*
16930         This was fixed in Bug#24748, but now looking more closely, using gate in
16931         the spec seems correct.  See (info "(elisp) Backtracking").
16932         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
16934 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
16936         Replace some uses of cl-member-if with apply
16938         From the mhtml-mode series.  Some of the uses of cl-lib are not
16939         necessary.
16940         * lisp/align.el: Don't require cl-lib.
16941         (align-region): Use apply instead of cl-member-if.
16942         * lisp/emulation/viper.el: Don't require cl-lib.
16943         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
16944         cl-member-if.
16946 2017-04-08  Philipp Stephani  <phst@google.com>
16948         Validate SPEC of `dolist', cf. Bug#25477.
16950         * lisp/subr.el (dolist): Test type and length of SPEC.
16951         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
16952         Add unit test.
16954 2017-04-08  Philipp Stephani  <phst@google.com>
16956         Add unit test for Bug#26378
16958         * test/lisp/vc/ediff-diff-tests.el
16959         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
16961 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
16963         Fix circular read syntax for records.
16965         * src/lread.c (substitute_object_recurse): Work with records.
16967         * test/src/lread-tests.el (lread-record-1): New test.
16969 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16971         Deprecate copy-record in favor of copy-sequence
16973         Since copy-sequence seems to be needed anyway for records, have it
16974         work on records, and remove copy-record as being superfluous.
16975         * doc/lispref/records.texi (Records, Record Functions):
16976         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
16977         * lisp/emacs-lisp/eieio.el (make-instance, clone):
16978         * test/src/alloc-tests.el (record-3):
16979         Use copy-sequence, not copy-record, to copy records.
16980         * doc/lispref/sequences.texi (Sequence Functions)
16981         (Array Functions): Document that aref and copy-sequence
16982         work on records.
16983         * etc/NEWS: Omit copy-record.
16984         * src/alloc.c (Fcopy_record): Remove.
16985         * src/data.c (Faref): Document that arg can be a record.
16986         * src/fns.c (Fcopy_sequence): Copy records, too.
16988 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16990         Fix dependency checking in src/Makefile.in
16992         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
16993         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
16994         Otherwise, some dependencies will be missed.
16996 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16998         Minor tuneup of write-region change
17000         * src/fileio.c (write_region): Use SCHARS, not Flength,
17001         on a value known to be a string.
17003 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
17005         Adjust write-region so file name is at the beginning again
17007         * lisp/epa-file.el (epa-file-write-region):
17008         * lisp/gnus/mm-util.el (mm-append-to-file):
17009         * lisp/jka-compr.el (jka-compr-write-region):
17010         * lisp/net/ange-ftp.el (ange-ftp-write-region):
17011         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17012         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17013         * src/fileio.c (write_region): Put file name at the beginning and move
17014         number of characters to the end of the message.
17016 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
17018         Check that file argument is a string
17020         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
17021           passed to `file-local-copy' is a string (Bug#26378).  Also fix
17022           the existing comment for this function, and convert it to its
17023           doc-string.
17025 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
17027         Fix handling of non-integer START param to write-region
17029         The previous patch for Bug#354 incorrectly assumed that START would
17030         always be an integer.
17032         * lisp/epa-file.el (epa-file-write-region):
17033         * lisp/jka-compr.el (jka-compr-write-region):
17034         * lisp/net/ange-ftp.el (ange-ftp-write-region):
17035         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17036         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17037         * src/fileio.c (write_region): Handle nil and string values of START.
17039 2017-04-07  Glenn Morris  <rgm@gnu.org>
17041         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
17043 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
17045         Add Tramp versions to `customize-package-emacs-version-alist'
17047         * lisp/net/trampver.el (customize-package-emacs-version-alist):
17048         Add Tramp versions to `customize-package-emacs-version-alist'.
17050 2017-04-07  Tom Tromey  <tom@tromey.com>
17052         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
17054 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
17056         * doc/lispref/records.texi (Record Functions): fix typo.
17058 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17060         More casefiddle minor fixes
17062         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
17063         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
17064         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
17066 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
17068         Output number of characters added to file (Bug#354)
17070         * src/fileio.c (write_region):
17071         * lisp/epa-file.el (epa-file-write-region):
17072         * lisp/jka-compr.el (jka-compr-write-region):
17073         * lisp/net/ange-ftp.el (ange-ftp-write-region):
17074         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17075         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17076         * lisp/gnus/mm-utils.el (mm-append-to-file): Functions now output
17077         characters written in addition to file name.
17078         * doc/lispref/files.texi: Added documentation to write-region and
17079         append-to-file describing their output.
17081 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
17083         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
17085         The recent changes to src/casefiddle.c cause build failure as seen
17086         below:
17088             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
17089                 --batch --load loadup bootstrap
17090             [Thread debugging using libthread_db enabled]
17091             Using host libthread_db library "/usr/lib/libthread_db.so.1".
17092             Loading loadup.el (source)...
17093             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
17094                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
17095                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
17096                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
17097                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
17098                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
17099             Loading emacs-lisp/byte-run (source)...
17100             Loading emacs-lisp/backquote (source)...
17101             Loading subr (source)...
17102             Loading version (source)...
17103             Loading widget (source)...
17104             Loading custom (source)...
17105             Loading emacs-lisp/map-ynp (source)...
17106             Loading international/mule (source)...
17107             Loading international/mule-conf (source)...
17109             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
17111             Breakpoint 1, terminate_due_to_signal at emacs.c:363
17112             363   signal (sig, SIG_DFL);
17113             (gdb) bt
17114             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
17115             #1  0x000000000060ec33 in die at alloc.c:7352
17116             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
17117             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
17118             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
17119             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
17120             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
17121             #7  0x00000000006325ac in eval_sub at eval.c:2219
17122             #8  0x0000000000632368 in eval_sub at eval.c:2184
17123             #9  0x000000000063446c in apply_lambda at eval.c:2875
17124             #10 0x00000000006329af in eval_sub at eval.c:2294
17125             #11 0x000000000062d462 in Fprogn at eval.c:449
17126             #12 0x000000000062d4cf in prog_ignore at eval.c:461
17127             #13 0x000000000062f19c in Fwhile at eval.c:982
17128             #14 0x00000000006321f4 in eval_sub at eval.c:2172
17129             #15 0x000000000062d462 in Fprogn at eval.c:449
17130             #16 0x000000000062f0c4 in Flet at eval.c:963
17131             #17 0x00000000006321f4 in eval_sub at eval.c:2172
17132             #18 0x0000000000632963 in eval_sub at eval.c:2290
17133             #19 0x000000000062d462 in Fprogn at eval.c:449
17134             #20 0x000000000062f0c4 in Flet at eval.c:963
17135             #21 0x00000000006321f4 in eval_sub at eval.c:2172
17136             #22 0x0000000000668caa in readevalloop at lread.c:1927
17137             #23 0x0000000000667253 in Fload at lread.c:1332
17138             #24 0x0000000000632683 in eval_sub at eval.c:2233
17139             #25 0x0000000000668caa in readevalloop at lread.c:1927
17140             #26 0x0000000000667253 in Fload at lread.c:1332
17141             #27 0x0000000000632683 in eval_sub at eval.c:2233
17142             #28 0x0000000000631be5 in Feval at eval.c:2041
17143             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
17144             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
17145             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
17146             #32 0x000000000062f51e in internal_catch at eval.c:1091
17147             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
17148             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
17149             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
17150             #36 0x000000000057b55b in main at emacs.c:1687
17152             Lisp Backtrace:
17153             "capitalize" (0xffffcf70)
17154             "format" (0xffffd130)
17155             "define-charset" (0xffffd370)
17156             "while" (0xffffd560)
17157             "let" (0xffffd7c0)
17158             "dolist" (0xffffd910)
17159             "let" (0xffffdb70)
17160             "load" (0xffffdfe0)
17161             "load" (0xffffe4a0)
17163         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
17164         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
17165         Qspecial_titlecase.
17166         (prepare_casing_context): Use aforementioned symbols.
17168 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17170         Merge from gnulib
17172         This merges some getopt fixes from Zack Weinberg, and affects only
17173         non-GNUish platforms.  It incorporates:
17174         2017-04-06 getopt-gnu: omit some duplicate code
17175         2017-04-06 getopt-posix: use angle-bracket include
17176         2017-04-06 getopt: annotate files with relationship to glibc
17177         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
17178         2017-04-06 getopt: better handling of ambiguous options
17179         2017-04-06 getopt: refactor long-option handling
17180         2017-04-06 getopt: tidy up _getopt_initialize a bit
17181         2017-04-06 getopt: merge from glibc: repetition reduction
17182         2017-04-06 getopt: clean up error reporting
17183         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
17184         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
17185         2017-04-06 getopt: harmonize comments with glibc
17186         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
17187         2017-04-06 getopt: tabify, in preparation for merge with glibc
17188         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
17189         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
17190         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
17191         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
17192         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
17193         Copy from gnulib.
17194         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
17195         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
17196         New files, taken from gnulib.
17197         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
17198         Regenerate.
17200 2017-04-07  Hong Xu  <hong@topbug.net>
17202         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
17203         doc (Bug#25193).
17205 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
17207         Mention that processes start in default-directory (Bug#18515)
17209         * doc/lispref/processes.texi (Synchronous Processes):
17210         (Asynchronous Processes):
17211         * lisp/subr.el (start-process):
17212         * src/callproc.c (call-process): Mention that the subprocess starts in
17213         `default-directory' when local, suggest `start-file-process' and
17214         `process-file' otherwise.
17216 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
17218         * src/xdisp.c (vmessage, message): Clarify commentary.
17220 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17222         Minor casefiddle.c cleanups
17224         * src/casefiddle.c: Redo recent changes to match GNU style,
17225         and prefer C99-style decls within blocks.
17226         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
17227         we are merely using the Unicode name, and make it a constant
17228         rather than a macro.  All uses changed.
17229         (SMALL_SIGMA): Remove; unused.
17230         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
17231         and make it a constant rather than a macro.  All uses changed.
17232         (do_casify_multibyte_string): Use ‘verify’ rather than an
17233         unportable static_assertion local.
17235 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17237         * lisp/international/README: Update to match current list.
17239 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
17241         Fix 'make clean' in lib subdirectory
17243         * lib/Makefile.in (clean): Remove *-t files.
17244         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
17245         This removes files like lib/getopt.h that should be removed
17246         even if this configuration did not need to build them.
17247         (maintainer-clean): Remove TAGS here, not in distclean,
17248         to be consistent with ../src/Makefile.in.
17250 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
17252         Add new Tramp syntax
17254         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
17256         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
17257         Add :set function.
17258         (tramp-prefix-port-format): Simplify.
17259         (tramp-file-name-regexp-separate): Remove.
17260         (tramp-initial-file-name-regexp)
17261         (tramp-completion-file-name-regexp-old-style)
17262         (tramp-initial-completion-file-name-regexp): New defconst.
17263         (tramp-prefix-format, tramp-prefix-regexp)
17264         (tramp-method-regexp, tramp-postfix-method-format)
17265         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
17266         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
17267         (tramp-postfix-ipv6-regexp)
17268         (tramp-postfix-host-format, tramp-postfix-host-regexp)
17269         (tramp-remote-file-name-spec-regexp)
17270         (tramp-file-name-structure, tramp-file-name-regexp)
17271         (tramp-completion-file-name-regexp)
17272         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
17273         (tramp-tramp-file-p, tramp-find-method)
17274         (tramp-dissect-file-name, tramp-make-tramp-file-name)
17275         (tramp-completion-make-tramp-file-name)
17276         (tramp-rfn-eshadow-update-overlay)
17277         (tramp-register-autoload-file-name-handlers)
17278         (tramp-register-file-name-handlers)
17279         (tramp-unload-file-name-handlers)
17280         (tramp-completion-handle-file-name-all-completions)
17281         (tramp-completion-dissect-file-name, tramp-clear-passwd):
17282         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
17283         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
17284         (tramp-compute-multi-hops): Use them.
17286 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17288         Implement special sigma casing rule  (bug#24603)
17290         In Greek, a sigma character has two lower case forms which depend on
17291         their position in the word.  Implement logic determining it.
17293         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
17294         assume inword is true when flag is CASE_UP and false when flag is
17295         CASE_DOWN.  For final sigma detection we need this information tracked
17296         reliably;.
17297         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
17298         Unicode code point of different forms of sigma letter.
17299         (case_character): Implement support for final sigma casing.
17300         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
17301         changes to case_character.
17303         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
17304         cases for final sigma.
17306 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17308         Support casing characters which map into multiple code points  (bug#24603)
17310         Implement unconditional special casing rules defined in Unicode standard.
17312         Among other things, they deal with cases when a single code point is
17313         replaced by multiple ones because single character does not exist (e.g.
17314         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
17315         into SS).
17317         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
17318         standard distribution.
17319         * admin/unidata/README: Mention SpecialCasing.txt.
17321         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
17322         unidata-gen-table-special-casing--do-load): New functions generating
17323         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
17324         character Unicode properties built from the SpecialCasing.txt Unicode
17325         data file.
17327         * src/casefiddle.c (struct casing_str_buf): New structure for
17328         representing short strings used to handle one-to-many character
17329         mappings.
17331         (case_character_imlp): New function which can handle one-to-many
17332         character mappings.
17333         (case_character, case_single_character): Wrappers for the above
17334         functions.  The former may map one character to multiple (or no)
17335         code points while the latter does what the former used to do (i.e.
17336         handles one-to-one mappings only).
17338         (do_casify_natnum, do_casify_unibyte_string,
17339         do_casify_unibyte_region): Use case_single_character.
17340         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
17341         features of case_character.
17342         * (do_casify_region): Updated to reflact do_casify_multibyte_string
17343         changes.
17345         (casify_word): Handle situation when one character-length of a word
17346         can change affecting where end of the word is.
17348         (upcase, capitalize, upcase-initials): Update documentation to mention
17349         limitations when working on characters.
17351         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
17352         Add test cases for the newly introduced character properties.
17353         (casefiddle-tests-casing): Update test cases which are now passing.
17355         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
17356         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
17357         and ‘downcase’.
17358         (char-fold--test-match-exactly): Use the new functions.  This is needed
17359         because otherwise fi and similar characters are turned into their multi-
17360         -character representation.
17362         * doc/lispref/strings.texi: Describe issue with casing characters versus
17363         strings.
17364         * doc/lispref/nonascii.texi: Describe the new character properties.
17366 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17368         Split up casify_region function  (bug#24603)
17370         No functional changes at this time but splitting casify_region into
17371         a function dealing with multibyte and another dealing with unibyte
17372         buffers will make future code changes slightly easier.
17374         * src/casefiddle.c (casify_region): Move most of the code into two
17375         new functions:
17376         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
17378 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17380         Add support for title-casing letters  (bug#24603)
17382         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
17383         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
17384         property table if capitalisation has been requested.
17385         (case_character): Make use of the titlecase_char_table to title-case
17386         initial characters when capitalising.
17388         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
17389         casefiddle-tests-casing): Update test cases which are now passing.
17391 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17393         Introduce case_character function
17395         Move single-character casing logic into a separate function so that
17396         it is collected in a single place.  This will make future changes to
17397         the logic easier.  This commit introduces no functionality changes.
17399         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
17400         sturcture for saving casing context and function to initialise it.
17401         (case_character): New function which cases character base on provided
17402         context.
17403         (do_casify_integer, do_casify_multibyte_string,
17404         do_casify_unibyte_string, casify_object, casify_region): Convert to
17405         use casing_context and case_character.
17407 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17409         Split casify_object into multiple functions
17411         casify_object had three major cases to cover and those were mostly
17412         independent of each other.  Move those branches to separate function
17413         so it’s easier to comprehend each individual case.
17415         While at it, use somewhat more descriptive ch and cased variable names
17416         rather than c and c1.
17418         This commit introduces no functional changes.
17420         * src/casefiddle.c (casify_object): Split into…
17421         (do_casify_integer, do_casify_multibyte_string,
17422         do_casify_unibyte_string): …new functions.
17424 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
17426         Update documentation for type semantics of records.
17428         * doc/lispref/objects.texi (Record Type): improve description of what
17429         `type-of' returns for records.
17430         (Type Descriptors): new section.
17431         * doc/lispref/elisp.texi: reference it.
17432         * doc/lispref/records.texi (Records): reference it.  Document
17433         behaviour when type slot is a record.
17435         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
17437 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
17439         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
17441 2017-04-06  Tom Tromey  <tom@tromey.com>
17443         require cl-lib to fix fallout from mhtml series
17445         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
17446         lisp/emulation/viper.el: Require cl-lib.
17448 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
17450         In CANNOT_DUMP builds, allow editing of files named "dump".
17452         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
17453         calling dump-emacs only if dump-emacs is defined; otherwise, don't
17454         treat those command-line argument specially.
17456 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
17458         In CANNOT_DUMP builds, don't prepare for unexec.
17460         Having a command-line argument of "dump" or "bootstrap" would trigger
17461         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
17462         we should get signal handlers installed regardless of whatever funny
17463         file names we decide to edit.
17465         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
17466         alterations to initialization that prepares the process for unexec.
17468 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
17470         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
17472         During a bootstrap, loading rmail.el invokes movemail to determine its
17473         flavor, but call-process doesn't work if exec-path is nil.
17475         * lisp/loadup.el: Only clear exec-path if dumping.
17477 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
17479         Fix CANNOT_DUMP build on Darwin/macOS.
17481         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
17482         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
17483         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
17485 2017-04-05  Tom Tromey  <tom@tromey.com>
17487         add two more mhtml tests
17489         * test/manual/indent/html-multi-2.html: New file.
17490         * test/manual/indent/html-multi-3.html: New file.
17492 2017-04-05  Tom Tromey  <tom@tromey.com>
17494         enable mhtml-mode by default
17496         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
17497         html-mode.
17498         (magic-fallback-mode-alist): Likewise.
17499         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
17501 2017-04-05  Tom Tromey  <tom@tromey.com>
17503         add mhtml-mode.el
17505         * etc/NEWS: Update.
17506         * lisp/textmodes/mhtml-mode.el: New file.
17507         * test/manual/indent/html-multi.html: New file.
17508         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
17509         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
17511 2017-04-05  Tom Tromey  <tom@tromey.com>
17513         change sgml-mode to help multi-html mode
17515         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
17516         defconst.
17517         (sgml-syntax-propertize): Use it.
17518         (sgml--find-<>-backward): New function.
17519         (sgml-parse-tag-backward): Use it.
17521 2017-04-05  Tom Tromey  <tom@tromey.com>
17523         make js.el respect prog-first-column
17525         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
17527 2017-04-05  Tom Tromey  <tom@tromey.com>
17529         make smie.el respect prog-first-column
17531         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
17533 2017-04-05  Tom Tromey  <tom@tromey.com>
17535         change viper to use derived-mode-p
17537         * lisp/subr.el (provided-mode-derived-p): New function.
17538         (derived-mode-p): Use it.
17539         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
17540         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
17541         (set-viper-state-in-major-mode): Use derived-mode-p.
17543 2017-04-05  Tom Tromey  <tom@tromey.com>
17545         change align to use derived-mode-p
17547         * lisp/align.el (align-region): Use derived-mode-p.
17549 2017-04-05  Tom Tromey  <tom@tromey.com>
17551         change org to use derived-mode-p
17553         * lisp/org/org-list.el (org-list-insert-radio-list): Use
17554         derived-mode-p.
17555         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
17556         derived-mode-p.
17558 2017-04-05  Tom Tromey  <tom@tromey.com>
17560         change semantic to use derived-mode-p
17562         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
17564 2017-04-05  Tom Tromey  <tom@tromey.com>
17566         change calc to use derived-mode-p
17568         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
17569         (calc-embedded-make-info): Use derived-mode-p.
17571 2017-04-05  Tom Tromey  <tom@tromey.com>
17573         change auto-insert to use derived-mode-p
17575         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
17577 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
17579         * lisp/info.el (Info-search): Fix typo in April 1 change.
17581 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
17583         Minor cleanups related to type-of
17585         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
17586         * src/data.c (syms_of_data):
17587         * src/frame.c (syms_of_frame): Put all the primitive type names
17588         together, under the "Types that type-of returns" comment.
17590 2017-04-05  Glenn Morris  <rgm@gnu.org>
17592         * doc/lispref/package.texi (Package Archives): Mention https.
17594 2017-04-05  Glenn Morris  <rgm@gnu.org>
17596         Advertise https for homepage of gnu.org packages
17598         * lisp/emacs-lisp/package.el (describe-package-1):
17599         Use https, if supported, for the homepage of packages on gnu.org.
17601 2017-04-05  Glenn Morris  <rgm@gnu.org>
17603         Default to https for elpa.gnu.org if gnutls available
17605         * lisp/emacs-lisp/package.el (package-archives):
17606         Default to https for elpa.gnu.org if gnutls is available.  Ref:
17607         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00130.html
17609 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
17611         Minor simplifications and doc for records
17613         * doc/lispref/records.texi (Records): Mention size limit.
17614         * etc/NEWS: Mention records.
17615         * src/alloc.c (allocate_pseudovector, allocate_record):
17616         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
17617         (allocate_record): Check arg range here, not in callers, as this
17618         simplifies the code.  Use allocate_vectorlike instead of
17619         allocate_vector, to avoid duplicate runtime tests.
17620         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
17621         the doc string, as it is not visible to the user.
17622         (Fmake_record, record, Fcopy_record):
17623         Prefer make_lisp_ptr to XSETVECTOR.
17624         (record): Broaden memcpy to copy the type, too.
17626 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
17628         Fix recent changes in record data type
17630         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
17631         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
17633 2017-04-04  Philipp Stephani  <phst@google.com>
17635         Make subprocess functions resolve the default directory
17637         `call-process' doesn't respect file name handlers in
17638         `default-directory', so `file-name-non-special' has to resolve them
17639         for `process-file', `start-file-process', and
17640         `shell-command' (Bug#25949).
17642         * lisp/files.el (file-name-non-special): Also resolve default
17643         directory for 'process-file', 'start-file-process', and
17644         'shell-command'.
17645         * test/lisp/files-tests.el
17646         (files-tests--file-name-non-special--subprocess): Add unit test.
17648 2017-04-04  Philipp Stephani  <phst@google.com>
17650         Make ediff handle remote and quoted file names
17652         Quoted file names need to be unquoted before passed to
17653         subprocesses (Bug#25950).
17655         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
17656         file names.
17657         * test/lisp/vc/ediff-diff-tests.el
17658         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
17660 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
17662         Backward compatibility with pre-existing struct instances.
17664         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
17665         (cl-old-struct-compat-mode): New minor mode.
17667         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
17668         cl-struct-define to signal use of record objects.
17670         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
17671         cl-struct-define): Enable legacy defstruct compatibility.
17673         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
17674         old-struct): New tests.
17676         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
17677         `old-struct-compat'.
17679 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
17681         Make the URL library use records.
17683         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
17684         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
17685         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
17687         * lisp/url/url-http.el (url-http): Check for type `url' instead of
17688         `vector'.
17690 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
17692         Make EIEIO use records.
17694         * lisp/emacs-lisp/eieio-compat.el
17695         (eieio--generic-static-object-generalizer): Adjust to new tags.
17697         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
17698         directly as tag.
17699         (eieio--object-class): Adjust to new tag representation.
17700         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
17701         (eieio-defclass-internal): Use `make-record'.
17702         (eieio--generic-generalizer): Adjust generalizer code accordingly.
17704         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
17706         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
17707         Add `recordp'.
17709         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
17711 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
17713         Make cl-defstruct use records.
17715         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
17716         (cl--describe-class-slots): Use the new `type-of'.
17718         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
17719         (cl--generic-struct-specializers): Adjust to new tag.
17721         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
17722         Use the type symbol as the tag.  Use copy-record to copy structs.
17723         (cl--defstruct-predicate): New function.
17724         (cl--pcase-mutually-exclusive-p): Use it.
17725         (cl-struct-sequence-type): Can now return `record'.
17727         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
17728         code to new format.
17729         (cl--struct-register-child): Work with records.
17730         (cl-struct-define): Don't touch the tag's symbol-value and
17731         symbol-function slots when we use the type as tag.
17733         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
17735         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
17736         New test.
17738         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
17740 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
17742         Add record objects with user-defined types.
17744         * src/alloc.c (allocate_record): New function.
17745         (Fmake_record, Frecord, Fcopy_record): New functions.
17746         (syms_of_alloc): defsubr them.
17747         (purecopy): Work with records.
17749         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
17750         name if record's type holds class.
17751         (Frecordp): New function.
17752         (syms_of_data): defsubr it.  Define `Qrecordp'.
17753         (Faref, Faset): Work with records.
17755         * src/fns.c (Flength): Work with records.
17757         * src/lisp.h (prec_type): Add PVEC_RECORD.
17758         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
17760         * src/lread.c (read1): Add syntax for records.
17762         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
17763         (print_object): Add syntax for records.
17765         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
17766         New test.
17768         * test/src/alloc-tests.el (record-1, record-2, record-3):
17769         New tests.
17771         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
17772         doc/lispref/records.texi: Add documentation for records.
17774 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
17776         Fix a test in python-test.el
17778         Fix a test that breaks the test suite when it is run within a
17779         virtual environment.
17780         See following link for details:
17781         https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00857.html
17782         * test/lisp/progmodes/python-tests.el
17783         (python-shell-calculate-process-environment-7): Bind
17784         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
17785         bind it to '/env'.
17787 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
17789         Throw a `search-failed' derived error in Info search
17791         The original fix for Bug#6106 switched from signalling `search-failed'
17792         to `user-error'.  However, this breaks incremental searching over
17793         multiple nodes because the isearch code doesn't expect a `user-error'.
17795         * src/search.c (syms_of_search): New error, `user-search-failed',
17796         with `user-error' and `search-failed' as parents.
17797         * doc/lispref/errors.texi (Standard Errors): Document it.
17798         * etc/NEWS: Announce it.
17799         * lisp/info.el (Info-search): Use it instead of `user-error' so that
17800         isearch will handle failed searches correctly.
17802 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
17804         Add Tramp test
17806         * doc/misc/tramp.texi (Remote processes): Fix typo.
17808         * lisp/shell.el (shell): Fix typo.
17810         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
17812         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
17813         New test.
17814         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
17815         (tramp-test31-vc-registered)
17816         (tramp-test32-make-auto-save-file-name)
17817         (tramp-test33-make-nearby-temp-file)
17818         (tramp-test34-special-characters)
17819         (tramp-test34-special-characters-with-stat)
17820         (tramp-test34-special-characters-with-perl)
17821         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
17822         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
17823         (tramp-test35-utf8-with-ls)
17824         (tramp-test36-asynchronous-requests)
17825         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
17827 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
17829         * lisp/ses.el: Silence byte-compiler warnings.
17831         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
17832         byte-compiler warnings.
17834 2017-04-02  Glenn Morris  <rgm@gnu.org>
17836         Belated fixes for admin.el's M-x make-manuals-dist
17838         * admin/admin.el (make-manuals-dist-output-variables): Additions.
17839         (make-manuals-dist--1): Also copy docstyle.texi.
17841 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
17843         Fix bugs in simplified test dependencies
17845         Problem reported by Glenn Morris in:
17846         http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00017.html
17847         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
17848         (TESTS): Omit unnecessary patsubst.
17849         (test_template): Redo dependency heuristic, hopefully
17850         correctly this time.  It's the .log file that depends,
17851         not the phony test target.  Declare the phonies to be PHONY.
17852         Resurrect the exception for the *-tests subdirectory.
17853         Adjust to the fact that leading "./" is omitted now.
17855 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
17857         Fix typo in docstring
17859         * lisp/help.el: Fix typo.
17861 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
17863         Apply connecion-local variables for shells
17865         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
17866         variables.  Don't mention Emacs 23 anymore.
17867         (Frequently Asked Questions): Precise Emacs and MS Windows version.
17869         * lisp/files-x.el (connection-local-normalize-criteria):
17870         Suppress nil properties.
17871         (connection-local-set-profiles, with-connection-local-profiles):
17872         Adapt docstring.
17874         * lisp/shell.el (shell): Apply connecion-local variables.
17876 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
17878         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
17880         This prevents variables in signatures such as `sub add ($a, $b)' from
17881         being treated as punctuation.
17882         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
17883         Strictly match only prototype characters as punctuation.  (Bug#26037)
17885 2017-04-01  Tom Tromey  <tom@tromey.com>
17887         fix two js-mode syntax propertization bugs
17889         Bug#26070:
17890         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
17891         zero-or-one to regular expression.
17892         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
17893         literal up to END.
17894         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
17895         (js-mode-propertize-bug-2): New tests.
17897 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
17899         Simplify test dependency generation
17901         Generate default dependencies by using GNU extensions to ‘make’
17902         rather than via a hacky auxiliary program and script.
17903         * .gitignore: Remove test/make-test-deps.mk.
17904         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
17905         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
17906         (test_template): Infer dependency directly instead of via
17907         make-test-deps.mk.
17908         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
17909         (clean): No need to clean make-test-deps.mk.
17910         (make-test-deps.mk): Remove rule.
17911         * test/make-test-deps.emacs-lisp: Remove.
17913 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17915         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
17917         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
17918         test suite.
17919         (cl-lib-symbol-macrolet-2): New test.
17921 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
17923         Use only posix options in a ediff-ptch test
17925         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
17926         Use just "-b" patch option.  Don't assume a particular suffix for
17927         the backup files.
17929 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
17931         Initial implementation of HTTP Digest qop for url
17933         This also refactors digest authentication functions in url-auth.el.
17935         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
17936         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
17937         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
17938         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
17939         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
17940         to simplify code and aid in unit testing.
17941         (url-digest-auth-build-response): Hook up new functionality, or fall
17942         back to previous.
17943         (url-digest-auth-make-request-digest-qop):
17944         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
17945         (url-digest-auth-name-value-string): Add new helper functions.
17946         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
17947         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
17948         (url-auth-test-digest-request-digest): Add a few tests as now more
17949         features are testable via intermediate functions.
17950         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
17951         the new implementation.  Parts of these were accidentally already
17952         merged in the past.
17954 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
17956         Tweak ediff-ptch test in previous commit a bit more
17958         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
17959         Apply patches without requiring a shell.  Add some comments.
17961 2017-03-31  Glenn Morris  <rgm@gnu.org>
17963         Tweak an ediff-ptch test
17965         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
17966         Add skip conditions.  Avoid going through shell where not needed.
17968 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
17970         * lisp/net/tramp-smb.el (tramp-smb-errors):
17972         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
17974 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
17976         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
17978 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
17980         dired-mark-suffix: New command
17982         Now dired-mark-extension prepends '.' to extension when not present.
17983         Add command dired-mark-suffix to preserve the previous
17984         behaviour (Bug#25942).
17985         * lisp/dired-x.el (dired-mark-suffix): New command;
17986         mark files ending in a given suffix.
17987         (dired--mark-suffix-interactive-spec): New defun.
17988         (dired-mark-extension, dired-mark-suffix): Use it.
17989         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
17990         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
17992 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
17994         default-directory: Remark that it must be a directory name
17996         * src/buffer.c (default-directory): Update docstring (Bug#26272).
17998 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
18000         Delete confuse statement in manual
18002         * doc/misc/cl.texi (For Clauses): Delete confuse statement
18003         and its example (Bug#23550).
18005 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
18007         Use find -delete if available
18009         This shortens the ‘make’ output and should avoid some
18010         repetitive scanning of directories during a build.
18011         * configure.ac (FIND_DELETE): New var.
18012         * lisp/Makefile.in (compile-always, bootstrap-clean):
18013         * test/Makefile.in (clean, bootstrap-clean): Use it.
18014         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
18016 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
18018         Remove gnus-boundp
18020         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
18021         bound-and-true-p.
18022         * lisp/gnus/gnus-util (gnus-boundp): Remove.
18024 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
18026         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
18028         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
18029         end of line after deleting horizontal whitespace.
18031 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
18033         * src/inotify.c (add_watch): Add comment.
18035 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
18037         Minor filenotify.el fixes
18039         * lisp/filenotify.el: Require subr-x.
18040         (file-notify-callback): Use equal, not eq.
18042 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
18044         Improve packaging documentation
18046         * doc/lispref/package.texi (Packaging Basics):
18047         * doc/lispref/tips.texi (Library Headers): Clarify some header
18048         formats, relation between file headers and package
18049         attributes (Bug#13281).
18051 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
18053         Fix a small incompatibility in ibuffer
18055         Translate nil values from column functions to the empty string, so that
18056         subsequent calls to string-width don't signal an error (Bug#26317).
18057         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
18058         nil, treat it like the empty string.
18060 2017-03-30  Alan Mackenzie  <acm@muc.de>
18062         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
18064         Also implement the "asymmetric space" rule for fontifying otherwise
18065         ambiguous
18066         declarations/expressions.
18068         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
18069         c-new-BEG or c-new-END when there is no need.
18070         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
18071         space" rule.
18073         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
18074         extracted from c-font-lock-declarations.  Add to this function processing to
18075         make `context' 'decl for lines contained within parens when these are also
18076         declarations.
18077         (c-font-lock-declarations): Call the newly extracted function above in place
18078         of inline code.
18080         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
18081         c-literal-start.
18083         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
18085         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
18086         "asymmetric fontification" rule, including the variable
18087         c-asymmetric-fontification-flag.
18089 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18091         Some inotify cleanup
18093         This catches some problems with integer overflow and races
18094         that I noticed in inotify.c after reviewing the changes
18095         installed to fix Bug#26126.
18096         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
18097         * src/inotify.c (aspect_to_inotifymask):
18098         Check for cycles and for improper lists.
18099         (make_lispy_mask, lispy_mask_match_p): Remove.
18100         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
18101         (inotifyevent_to_event, add_watch):
18102         Don’t assume watch descriptors and cookies fit in fixnums.
18103         (add_watch): Use assoc_no_quit, not Fassoc.
18104         Avoid integer overflow in (very!) long-running processes where
18105         the Emacs watch ID could overflow.  Avoid some duplicate code.
18106         (find_descriptor): New function.
18107         (remove_descriptor): First arg is now the returned value from
18108         find_descriptor, rather than the descriptor.  This way, the
18109         value can be removed without calling Fdelete, which might quit.
18110         Wait until the end (when watch_list is consistent) before signaling
18111         any errors.
18112         (remove_watch, inotify_callback):
18113         Use find_descriptor to avoid the need for Fdelete.
18114         (inotify_callback): Use simpler tests for ioctl failure.
18115         Free temporary buffer if signaled, and put it on the stack if small.
18116         Use ssize_t to index through read results, to avoid a cast.
18117         (valid_watch_descriptor): New function, with a tighter check.
18118         (Finotify_rm_watch, Finotify_valid_p): Use it.
18119         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
18120         of Fassoc.  Do not assume the first assoc succeeds.
18121         * test/src/inotify-tests.el (inotify-valid-p-simple):
18122         Add inotify-valid-p tests, some of which dump core without
18123         the fixes noted above.
18125 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
18127         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
18129 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
18131         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
18133 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18135         Fix assoc_no_quit so that it does not quit
18137         The problem was that it called Fequal, which can quit.
18138         * src/fns.c (enum equal_kind):
18139         New enum, to be used in place of a boolean.
18140         (equal_no_quit): New function.
18141         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
18142         (assoc_no_quit): Use it to avoid quitting, the main point here.
18143         (internal_equal): Generalize bool to enum equal_kind arg, so that
18144         there are now 3 possibilities instead of 2.  Do not signal an
18145         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
18146         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
18147         changed.
18149 2017-03-29  Alan Mackenzie  <acm@muc.de>
18151         Amend gitmerge to recognize the injunction "don't merge".
18153         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
18154         well as "do not".
18156 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
18158         Add one more CSS pseudo-class
18160         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
18161         `focus-within'.
18163 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
18165         Update list of CSS pseudo-classes
18167         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
18168         pseudo-classes.
18170 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
18172         Adjust some search failure errors in info.el
18174         * lisp/info.el (Info-select-node): The search for beginning of node is
18175         an internal detail, and is not normally expected to fail, so it should
18176         not be a user error.
18177         (Info-complete-menu-item): Failing to find a menu indicates the user
18178         searched for a menu when there isn't one, so change to `use-error'.
18180 2017-03-28  Alan Mackenzie  <acm@muc.de>
18182         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
18184 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
18186         Don’t mishandle (format "%i" -1.0)
18188         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
18190 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
18192         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
18194 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
18196         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
18198 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
18200         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
18202         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
18203         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
18204         with (user-error "Search failed: "...).
18206 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
18208         Fix obsolete ‘test/automated’ references
18210         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
18211         (bootstrap-clean, maintainer-clean):
18212         Clean ‘test’, not ‘test/automated’.  Test for existence of
18213         subdirectory only for ‘test’, not for directories that should
18214         always exist.
18215         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
18216         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
18217         * lisp/man.el (Man-parse-man-k):
18218         * lisp/url/url-domsuf.el, make-dist:
18219         * test/file-organization.org:
18220         Fix obsolete references to test/automated.
18222 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
18224         shr-image-fetched: Work for narrowed Gnus article
18226         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
18228         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
18230 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
18232         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
18234 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
18236         Expand manual section on quitting windows
18238         * doc/lispref/windows.texi (Quitting Windows): Provide more
18239           information about the elements of the quit-restore window parameter,
18240           and how they affect the behavior of quit-restore-window.
18242 2017-03-26  Philipp Stephani  <phst@google.com>
18244         Add check for expected backtrace in module calls.
18246         * test/manual/cedet/tests/test.el
18247         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
18248         expected backtrace.
18250 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
18252         Fix redisplay glitches due to recent change in redisplay_internal
18254         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
18255         See http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00695.html
18256         for the problems caused by the original fix.
18258 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
18260         Fix Bug#26258
18262         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
18263         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
18264         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
18265         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
18266         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
18268         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
18269         (tramp-register-autoload-file-name-handlers)
18270         (tramp-register-file-name-handlers): Do not handle
18271         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
18272         the handlers are responsible for.
18273         (tramp-register-foreign-file-name-handler): New defun.
18275 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
18277         Fix docstring of dabbrev-abbrev-char-regexp
18279         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
18280         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
18281         previous character doesn't match, we search backwards for one that
18282         does, not throw an error.  Replace Lisp example with C based one to
18283         make it clear that "symbol" means a sequence of word and symbol
18284         constituent characters, not a Lisp symbol (Bug#358).
18286 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
18288         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
18290 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
18292         Minor fixes for inotify.c and filenotify.el
18294         * lisp/filenotify.el (file-notify--watch-absolute-filename):
18295         Add docstring.
18296         (file-notify-callback): Simplify.
18298         * src/inotify.c (Finotify_add_watch): Adapt docstring.
18300 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
18302         Fix issues regarding inotify file-notification
18304         Remove special code handling the inotify back-end.
18305         * lisp/filenotify.el (file-notify--watch): New struct
18306         representing a file-watch.
18307         (file-notify-descriptors): Use the new struct as hash-value.
18308         (file-notify-handle-event): Check that event is a cons.
18309         (file-notify--rm-descriptor, file-notify--event-watched-file)
18310         (file-notify--event-file-name, file-notify--event-file1-name)
18311         (file-notify-callback, file-notify-add-watch)
18312         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
18313         Remove special code handling inotify descriptors.  Remove code
18314         handling multiple clients per descriptor.
18315         (file-notify--descriptor): Remove unused function.
18317         Let inotify-add-watch return a unique descriptor on every
18318         call, like every other back-end does (Bug#26126).  Prevent
18319         multiple clients from interfering with each other, when
18320         watching a shared descriptor.
18321         * src/inotify.c (watch_list): Extend the format by including a
18322         id and the provided mask.
18323         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
18324         (make_watch_descriptor): Removed.
18325         (make_lispy_mask, lispy_mask_match_p): New functions.
18326         (inotifyevent_to_event): Match event against the mask provided
18327         by the client.
18328         (add_watch, remove_descriptor, remove_watch): New functions
18329         for managing the watch_list.
18330         (inotify_callback): Use the new functions.
18331         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
18332         flags from documentation.  Add check for validity of provided
18333         descriptor.  Use the new functions.  Use the default mask.
18334         (INOTIFY_DEBUG): Add new debug conditional.
18335         (inotify-watch-list, inotify-allocated-p): New debug functions.
18336         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
18338         * test/lisp/filenotify-tests.el:
18339         (file-notify-test02-rm-watch): Remove expected failure for inotify.
18341 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
18343         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
18345 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
18347         Stop edebug getting stuck on backquote (Bug#23651)
18349         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
18350         reading backquote or comma.
18352 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
18354         Expand manual section on quitting windows
18356         * doc/lispref/windows.texi (Quitting Windows): Provide more
18357           information about the elements of the quit-restore window parameter,
18358           and how they affect the behavior of quit-restore-window.
18360 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
18362         Support in ispell.el multiple dictionaries loaded by Hunspell
18364         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
18365         Support Hunspell configurations that load more than one dictionary
18366         by default.  Doc fix.  (Bug#25830)
18368 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
18370         Simplify Tramp autoloading.
18372         * lisp/net/tramp.el (tramp-completion-file-name-handler):
18373         Simplify autoloading.  Give it the `operations' property.
18374         (tramp-completion-handle-expand-file-name): Remove.
18376 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
18378         Fix a segfault due to failure to realize some faces
18380         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
18381         while redisplaying its windows, redisplay all of its windows
18382         again.  (Bug#26097)
18383         (init_iterator): When freeing all realized faces on all frames,
18384         reset the 'face_change' flag of the frame whose window we are
18385         about to iterate.
18387 2017-03-25  Philipp Stephani  <phst@google.com>
18389         Use a named function for 'safe-local-variable
18391         This improves the help screen for `version-control' (Bug#25431).
18393         * lisp/files.el (version-control-safe-local-p): New function.
18394         (version-control): Use it.
18396 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
18398         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
18400 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
18402         Make it easier to abort a series of tests with C-g
18404         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
18405         interactively is true and a test was aborted then ask if the remaining
18406         tests should be aborted too.
18407         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
18408         interactively arg.
18410 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18412         Don’t require chown/chgrp for game installation
18414         Problem reported by Joseph Mingrone in:
18415         http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00622.html
18416         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
18417         chgrp fails with update-game-score and the game directory.
18418         Instead, expect the installer to fix this up afterwards.
18420 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18422         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
18424         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
18425         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
18427 2017-03-23  Philipp Stephani  <phst@google.com>
18429         Protect against an infloop in python-mode
18431         There appears to be an edge case caused by using `syntax-ppss' in a
18432         narrowed buffer during JIT lock inside of Python triple-quote strings.
18433         Unfortunately it is impossible to reproduce without manually
18434         destroying the syntactic information in the Python buffer, but it has
18435         been observed in practice.  In that case it can happen that the syntax
18436         caches get sufficiently out of whack so that there appear to be
18437         overlapping strings in the buffer.  As Python has no nested strings,
18438         this situation is impossible and leads to an infloop in
18439         `python-nav-end-of-statement'.  Protect against this by checking
18440         whether the search for the end of the current string makes progress.
18442         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
18443         against infloop.
18444         * lisp/progmodes/python-tests.el
18445         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
18447 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
18449         * doc/lispref/os.texi (File Notifications):
18451         Strengthen the recommendation to use filenotify.el.
18453 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
18455         Merge from gnulib
18457         This incorporates:
18458         2017-03-22 getopt: merge from glibc
18459         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
18460         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
18461         * lib/gnulib.mk.in: Regenerate.
18463 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
18465         Use lexical-bind in Tramp
18467         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
18469         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
18470         rather than `add-to-list'.
18471         (tramp-adb-get-device): Remove unused variable.
18473         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
18474         variable.
18476         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
18477         (tramp-find-file-name-coding-system-alist): Use `push' rather
18478         than `add-to-list'.
18480         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
18481         Require 'dired.  Move declarations up.
18482         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
18483         and `temporary-file-directory' calls with `with-no-warnings'.
18484         (tramp-test35-asynchronous-requests): Mark unused variable.
18486 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
18487             Noam Postavsky  <npostavs@gmail.com>
18489         Do not include comment start chars in ffap string
18491         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
18492         ensure that the returned string does not contain the comment start
18493         characters (especially for major modes that have '//' as comment start
18494         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
18495         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
18496         C-f" on a "//foo" comment will initiate an attempt to access a path
18497         "//foo" (Bug#24057).
18499 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
18501         c:/Temp/gtk-window-move/ChangeLog.txt
18503 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
18505         Fix filenotify.el issue for kqueue
18507         * lisp/filenotify.el (file-notify-add-watch): Use directory
18508         for remote file name handlers.
18510         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
18511         Create/delete temporary file only for "kqueue".
18512         (file-notify-test02-rm-watch): Create/delete temporary files.
18514 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
18516         Extend `file-notify-test02-rm-watch'
18518         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
18519         Expect it failed for inotify.  Divide tests into different
18520         `unwind-protect' clauses.  Check, that removing watch
18521         descriptors out of order do not harm.  (Bug#26126)
18523 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
18525         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
18527 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
18529         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
18531 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18533         Improve configure --with-pop etc. diagnostics
18535         * configure.ac: Improve diagnostics re --with-pop and
18536         --with-mailutils (Bug#26102).
18538 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
18540         Revert "Make --without-pop the default."
18542         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
18544 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18546         Don’t remove dependency files when configuring
18548         Problem reported by Tom Tromey in:
18549         http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00533.html
18550         * configure.ac: Don’t remove */*.o and */deps/* when
18551         --enable-autodepend is in effect.
18553 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18555         Make --without-pop the default.
18557         Suggested by Angelo Graziosi in:
18558         http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
18559         * configure.ac: Change the default from --with-pop to
18560         --without-pop.  Adjust diagnostics to match.
18562 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18564         Streamline dependency-file generation
18566         * configure.ac (AUTODEPEND_PARENTS): New var.
18567         mkdir the dependency directories here, to simplify ‘make’.
18568         Remove dependency files just before outputting Makefiles, so that
18569         they are preserved if ‘configure’ exits early due to some other problem.
18570         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
18571         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
18572         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
18573         number of processes spun off by ‘make’.
18574         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
18575         (distclean): Remove $(DEPDIR) itself.
18576         * lwlib/Makefile.in (all): Move to front, so that depdir includes
18577         do not alter default action.
18579 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18581         Port and simplify example sh script
18583         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
18584         don’t use ‘tail -1’, which is not portable.
18586 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
18588         Narrow scope of modification hook renabling in org-src fontification
18590         Modification hooks should be enabled while modifying text in the
18591         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
18592         org-src fontify buffers" the hooks were enabled also for modifications
18593         to the original org buffer.  This causes fontification errors when
18594         combined with certain packages, as reported in
18595         http://lists.gnu.org/archive/html/emacs-orgmode/2017-03/msg00420.html.
18597         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
18598         of inhibit-modification-hooks let-binding.
18600 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
18602         epatch: Save right backups in Git multipatches
18604         Multipatches on N Git files save wrong backups for
18605         N-1 files; only the last one has a correct backup (Bug#26084).
18606         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
18607         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
18608         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
18609         Rename from ibuffer-test-bug25010.
18610         (ediff-ptch-test-bug26084): New test.
18612 2017-03-21  Michael R. Mauger  <michael@mauger.com>
18614             * lisp/progmodes/sql.el: Version 3.6
18616             (sql-login-params): Added :must-match for completition of
18617             `server' and `database' login parameters.
18618             (sql-sqlite-login-params, sql-postgres-login-params): Set
18619             :must-match to `confirm'.
18620             (sql-get-login-ext): Use :must-match value to control
18621             `read-file-name' or `completing-read'.
18622             (sql-connect): Added optional BUF-NAME parameter; Reworked
18623             connection variable processing; Pass buffer name to
18624             `sql-product-interactive'.
18625             (sql-product-interactive): Pass buffer name along.
18626             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
18627             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
18628             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
18629             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
18630             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
18631             (sql-comint-vertica): Add optional BUF-NAME, pass to
18632             `sql-comint'.
18633             (sql-oracle--list-oracle-name): New function.
18634             (sql-oracle-list-all): Use it.
18635             (sql-oracle-completion-object): Enhanced.
18637 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18639         Solve ses-recalculate-cell updating only current line bug.
18641         * lisp/ses.el (ses-recalculate-cell): Add optional argument
18642         ses--curcell to avoid overwriting ses--curcell when function is
18643         called from ses-recalculate-all.  Update docstring accordingly.
18644         (ses-recalculate-all): Call ses-recalculate-cell with argument
18645         ses--curcell to avoid its overwriting.
18647 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18649         Fix problem with out-of-date dependencies
18651         Problem reported by Robert Marshall in:
18652         http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00501.html
18653         Although this problem has been with us for a while, the recent
18654         change from Automake to GNU Make exposed it again.
18655         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
18656         leftover dependency and object files, since the previous sources'
18657         dependencies may disagree with the current ones.  Reconfiguring
18658         typically needs to force a rebuild anyway.
18660 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
18662         Simpler filter implementation
18664         * lisp/play/dunnet.el (dun-endgame-question): Get or set
18665         dun-endgame-questions one time only.  Use dolist and an index to
18666         prune the list.
18668 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
18670         * lisp/button.el (forward-button): Use user-error instead.
18672 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18674         Merge from gnulib
18676         This gets Emacs working again with HP-UX Itanium cc.
18677         It incorporates:
18678         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
18679         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
18680         2017-03-17 stat-time, timespec: Support header files in C++ mode
18681         2017-03-17 stdalign: Make it work with HP-UX cc
18682         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
18683         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
18684         2017-03-14 gnulib-tool: don't produce tests with only snippets
18685         2017-03-14 limits-h: Make it work with HP-UX cc.
18686         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
18687         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
18688         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
18689         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
18690         Copy from gnulib.
18692 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18694         * ChangeLog.2: Merge from emacs-25.
18696 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18698         Fixups after merge from emacs-25
18700         * etc/NEWS: Remove stray entry.
18701         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
18702         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
18703         Make it nondecreasing.
18705 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18707         Merge from origin/emacs-25
18709         d71e071 Improve documentation of interactive "r".
18711 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18713         Merge from origin/emacs-25
18715         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
18716         1925dd9 Fix duplicate wording in Emacs manual
18717         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
18718         2d671fd Fix wording in Emacs manual
18719         a8766a2 Document how to customize input methods
18720         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
18721         aceac95 Fix warning message about native completion (Bug#25984)
18722         a314c1f Clarify documentation of 'raise' and 'height' display specs
18723         f366f6e Mention problems with GPaste in PROBLEMS
18724         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
18725         6406618 Fix doc strings in info.el
18726         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
18727         eed9677 Fix doc string of 'posn-at-point'
18728         0d5957e Documentation fix in elisp reference manual
18730 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18732         Merge from origin/emacs-25
18734         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
18735         2b774fa Mention "editor" in Emacs man page header
18736         ae60d0c Document problems with nerd-fonts
18737         2fdb5a9 ; Details about pinning Emacs to w32 task bar
18738         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
18739         4c51ef4 Clarify what is the "cursor"
18740         8303c32 ; * etc/NEWS: Copyedits.
18741         3f7493e ; Fix a typo in comment
18742         c54cf8d Improve commentary in lisp.h
18743         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
18744         0ba9932 Disable native completion for ipython (Bug#25067)
18745         38fc456 Fix a typo in ada-mode manual
18746         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
18747         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
18749         # Conflicts:
18750         #       etc/NEWS
18751         #       etc/PROBLEMS
18753 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18755         Merge from origin/emacs-25
18757         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
18759 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18761         Merge from origin/emacs-25
18763         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
18765 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18767         Merge from origin/emacs-25
18769         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
18770         7e02a47 Index byte-compile-debug
18771         7c1e598 Document `byte-compile-debug' in the ELisp manual
18772         4d81eb4 Document variable `byte-compile-debug'
18773         72ef710 Fix call to debugger on assertion failure
18774         ae8264c Call modification hooks in org-src fontify buffers
18775         b3139da ; Fix last change in doc/lispref/strings.texi
18776         c331f39 Improve documentation of 'format' conversions
18777         9f52f67 Remove stale functions from ert manual
18778         c416b14 Fix a typo in Eshell manual
18779         06695a0 ; Fix a typo in ediff-merg.el
18780         954e9e9 Improve documentation of hooks related to saving buffers
18781         9fcab85 Improve documentation of auto-save-visited-file-name
18782         2236c53 fix typo in mailcap-mime-extensions
18783         85a3e4e Fix typos in flymake.el
18784         a1ef10e More NEWS checking for admin.el's set-version
18786         # Conflicts:
18787         #       lisp/emacs-lisp/bytecomp.el
18789 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18791         Merge from origin/emacs-25
18793         5569e64 ; Spelling fixes
18794         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
18795         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
18796         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
18797         42eae54 Improve documentation of dabbrevs
18798         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
18799         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
18801         # Conflicts:
18802         #       lisp/textmodes/rst.el
18804 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18806         Merge from origin/emacs-25
18808         0e35405 Improve documentation of coding-systems
18809         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
18810         16fb50d Fix an error message in python.el
18811         a2a2073 Clarify major mode switching
18812         fc38671 Add helpful comment to compile-command's docstring
18813         ee65d85 Fix ':version' of 'select-enable-primary'
18815 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
18817         Fix bug in generator function with pcase (Bug#26068)
18819         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
18820         to symbol-name.
18822 2017-03-19  Alan Mackenzie  <acm@muc.de>
18824         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
18826         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
18827         invocation of c-on-identifier with a check we're not at the _end_ of an
18828         identifier.
18830         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
18831         perl versions of texi2dvi haven't implemented it.
18832         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
18833         in Pike Mode.
18834         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
18835         (FAQ): Add a question about "excessive" indentation of the contents of a C++
18836         lambda function, and how to get rid of it.
18838 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
18840         Remove unused vars in cl-extra.el and tramp.el.
18842         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
18844         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
18845         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
18846         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
18848 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
18850         Improve describe-symbol's layout of slots when describing types
18852         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
18853         (cl--describe-class-slots): Use it.
18855 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
18857         Fix Bug#26156
18859         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
18860         <expand-file-name>: Remove handler.  (Bug#26156)
18862 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
18864         * lisp/obarray.el (obarray-size): Avoid compiler warning.
18866 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
18868         Fix last change in lib/Makefile.in
18870         * lib/Makefile.in (srcdir): Define, as including
18871         $(srcdir)/../nt/gnulib-cfg.mk needs that.
18873 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
18875         * configure.ac: Fix typo in diagnostic.
18877 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
18879         Port out-of-source builds to windows-nt
18881         Problem reported by Angelo Graziosi in:
18882         http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
18883         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
18884         to handle out-of-source builds if windows-nt.
18886 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
18888         MS-Windows followup for switch from Automake
18890         * nt/INSTALL:
18891         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
18893 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
18895         Improve documentation of interactive "r".
18897         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
18898         must be set for "r" to work.
18900 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
18902         Fixups for GNU Make switchover
18904         This fixes some minor problems introduced in the recent switch to GNU
18905         Make, discovered by further testing.  Without some of these changes
18906         'make -j' would sometimes have race conditions caused by missing
18907         dependencies.  (Bug#26100)
18908         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
18909         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
18910         src/config.in, since the former's timestamp now represents
18911         the latter's.
18912         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
18913         with other autogen.sh invocations.
18914         ($(srcdir)/src/stamp-h.in):
18915         Remove rule, as this file is no longer created.
18916         * Makefile.in (top_distclean):
18917         * src/Makefile.in (bootstrap-clean):
18918         No need to remove stamp-h1, as that was an Automake byproduct
18919         and Automake is no longer in use.
18920         * lib/Makefile.in, src/Makefile.in:
18921         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
18922         (../config.status, Makefile): Simplify by limiting dependencies
18923         to files we care about and files in the repository, and by
18924         using just one file to represent the timestamps on multiple
18925         targets updated by the same rule.
18926         * autogen.sh: Do not create or use src/stamp-h.in.
18927         Instead, have 'find' test the two output files directly.
18929 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
18931         Switch from Automake to GNU Make
18933         Emacs assumes GNU Make, and GNU Make has much of the functionality of
18934         Automake built-in.  The Emacs build process uses Automake primarily
18935         because Emacs uses some Gnulib code and Gnulib formerly required
18936         Automake.  Now that Gnulib no longer requires Automake, Emacs can
18937         stop using Automake and this should simplify Emacs maintenance
18938         in the future (Bug#26100).  Although this patch may look long, most of
18939         it is generated automatically: the changes to build-aux/config.guess,
18940         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
18941         all done by admin/merge-gnulib.
18942         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
18943         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
18944         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
18945         as they are no longer built by autogen.sh.
18946         Add lib/gnulib.mk, as it is now built by 'configure'.
18947         Remove nt/gnulib.mk, as it is no longer built by 'make'.
18948         * INSTALL.REPO, README, admin/make-tarball.txt:
18949         Remove mention of Automake.
18950         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
18951         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
18952         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
18953         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
18954         Remove.
18955         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
18956         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
18957         ($(srcdir)/src/config.in):
18958         Use autogen.sh instead of doing it by hand.
18959         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
18960         New vars, to simplify processing of avoided modules.
18961         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
18962         Add --gnu-make, and change makefile name to gnulib.mk.in.
18963         Copy config.guess, config.sub, and install-sh too, since
18964         Automake no longer does that for us.
18965         * admin/notes/copyright:
18966         * admin/update_autogen (genfiles):
18967         Update list of files.
18968         Remove hack for nt/gnulib.mk, a file that is no longer needed.
18969         * autogen.sh (progs): Remove Automake.
18970         (automake_min): Remove.
18971         Build aclocal.m4 so that autoreconf need not use aclocal.
18972         * build-aux/config.guess, build-aux/config.sub:
18973         * build-aux/install-sh:
18974         New files, copied from Gnulib.  These are now updated by
18975         admin/merge-gnulib instead by autogen.sh.
18976         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
18977         Remove.
18978         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
18979         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
18980         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
18981         (--disable-silent-rules): New option, since Automake no longer
18982         does this for us.
18983         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
18984         with AM_SUBST_NOTMAKE.
18985         (AC_PROG_INSTALL): Add call.
18986         (MAKEINFO): Do not bother with the 'missing' program.
18987         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
18988         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
18989         (SUBDIR_MAKEFILES): Remove duplication.
18990         * lib/Makefile.am: Remove, replacing with:
18991         * lib/Makefile.in: New file, with the old Makefile.am contents
18992         and with the following changes:
18993         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
18994         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
18995         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
18996         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
18997         Remove.
18998         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
18999         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
19000         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
19001         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
19002         New macros and rules, since Automake no longer does them.
19003         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
19004         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
19005         Include dependency files if AUTO_DEPEND.
19006         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
19007         New macros.
19008         (bootstrap-clean): Depend on distclean, not maintainer-clean,
19009         and remove gnulib.mk.
19010         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
19011         New macros and rules, copied from ../Makefile.in.
19012         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
19013         (.c.o, e-%.o): New generic rules.
19014         * lib/gnulib.mk: Remove.
19015         * lib/gnulib.mk.in: New file, which is built by autogen.sh
19016         and contains much of what used to be in lib/gnulib.mk.
19017         * m4/gnulib-common.m4: Copy from gnulib.
19018         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
19019         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
19020         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
19021         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
19022         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
19023         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
19024         * nt/gnulib-cfg.mk: New file, which supersedes ...
19025         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
19026         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
19027         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
19028         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
19029         Defer to parent Makefile.
19031 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19033         Don't suggest Mailutils on MS-Windows
19035         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
19036         hasn't been ported.
19038 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
19040         Fix bug: Range-check integer ‘alpha’ frame parm value
19042         Typo introduced 2013-04-01, "Prefer < to >
19043         in range checks such as 0 <= i && i < N".
19045         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
19047 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
19049         Fix bug: Range-check integer ‘alpha’ frame parm value
19051         Typo introduced 2013-04-01, "Prefer < to >
19052         in range checks such as 0 <= i && i < N".
19054         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
19056 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
19058         Fix Bug#26127
19060         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
19061         there is a function which could be called.  (Bug#26127)
19063         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
19064         Clear also `file-notify-descriptors'.
19065         (file-notify--test-make-temp-name): Move up.
19066         (file-notify-test02-rm-watch): New test.
19067         (file-notify-test03-events, file-notify-test04-autorevert)
19068         (file-notify-test05-file-validity)
19069         (file-notify-test06-dir-validity)
19070         (file-notify-test07-many-events, file-notify-test08-backup)
19071         (file-notify-test09-watched-file-in-watched-dir)
19072         (file-notify-test10-sufficient-resources): Rename.
19074 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19076         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
19078 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19080         Emacs 'movemail' is now a configure-time option
19082         The new configure option --with-mailutils lets the builder say
19083         that Emacs should assume that GNU Mailutils is installed, instead
19084         of continuing to build and install its own limited and insecure
19085         substitute for 'movemail'.
19086         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
19087         * configure.ac: Add --with-mailutils option.
19088         (with_mailutils): New variable.
19089         Do not bother configuring 'movemail' when not building it.
19090         Warn about issues relating to --with-mailutils.
19091         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
19092         (Movemail, Remote Mailboxes): Document port numbers in
19093         POP and IMAP URLs.
19094         * lib-src/Makefile.in (with_mailutils): New macro.
19095         (UTILITIES): Use it.
19097 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19099         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
19101         * lisp/obarray.el (obarray-size): New function.
19103         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
19104         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
19105         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
19106         Use obarrayp.
19108         * test/lisp/obarray-tests.el (obarray-make-default-test)
19109         (obarray-make-with-size-test): Use it.
19111 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
19113         Document remote file name syntax change
19115         * doc/emacs/files.texi (Remote Files, Quoted File Names):
19116         * doc/misc/org.texi (dir): Change examples to use a method.
19118         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
19119         `Testing' menu entry.
19120         (History): Fix typos.  Mention syntax change.
19121         (Configuration, Default Host, File name Syntax)
19122         (File name completion, Frequently Asked Questions):
19123         Change examples to use a method.
19124         (External methods, Default Host, Multi-hops, Remote processes):
19125         Fix typos.
19126         (Default Method): Mention pseudo method "-".
19127         (External packages): Rewrite intention of `non-essential'.
19129         * etc/NEWS: Mark recent Tramp entries as documented.
19131 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19133         (semantic-lex-type-invalid): Fix nested backquote.
19135         * lisp/cedet/semantic/lex.el: Use lexical-binding.
19136         (semantic-lex-type-invalid): Fix nested backquote.
19137         (semantic-lex-map-symbols, semantic-lex-type-symbol)
19138         (semantic-lex-keyword-symbol): Use obarrayp.
19140 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
19142         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
19144 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
19146         Write a named function
19148         * lisp/comint.el (comint-nonblank-p): New function.
19149         (comint-input-filter): Use it.
19151 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
19153         Replace more nested ifs with cond
19155         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
19156         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
19157         (dun-drop-check, dun-swim, dun-break): Use when and cond where
19158         appropriate.
19159         (dun-examine): Fix indentation.
19160         (dun-doverb): Use when.
19161         (dun-read-line): Refactor.
19163 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
19165         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
19167         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
19168         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
19169         causes the regex engine to backtrack a lot when searching for
19170         "\\s-+$" (Bug#26079).
19172         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
19173         syntax, search for "\\s-$" and then skip backward over trailing
19174         whitespace.
19176 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
19178         Merge from gnulib
19180         This incorporates:
19181         2017-03-14 snippets: move unadjusted snippet sources to lib
19182         2017-03-14 gnulib-tool: fix typo in comment output
19183         2017-03-14 snippets: work around GNU Make 3.82 VPATH
19184         2017-03-13 gnulib-tool: minor --gnu-make fixups
19185         2017-03-12 gnulib-tool: new option --gnu-make
19186         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
19187         lib/warn-on-use.h.  Change exception from
19188         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
19189         * admin/authors.el (authors-renamed-files-regexps):
19190         * admin/notes/copyright, make-dist:
19191         The snippet files moved from build-aux/snippet to lib.
19192         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
19193         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
19194         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
19195         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
19196         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
19198 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
19200         Fix duplicate wording in Emacs manual
19202         * doc/emacs/programs.texi (Which Function): Delete duplicate
19203         wording.  (Bug#26098)
19205 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
19207         Reenable lost Tramp test case
19209         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
19210         Reenable lost test case.
19212 2017-03-14  Alan Third  <alan@idiocy.org>
19214         Revert "Remove NSEvent loop from ns_select (bug#25265)"
19216         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
19218 2017-03-14  Alan Third  <alan@idiocy.org>
19220         Revert "Add missing timeout value in ns_select"
19222         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
19224 2017-03-14  Alan Third  <alan@idiocy.org>
19226         Remove old macOS compatibility code
19228         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
19229         macOS versions below 10.6 as they are not supported in Emacs 25+.
19231 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
19233         Tune `tramp-completion-file-name-regexp-unified'
19235         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
19236         Extend this regexp to match also "/".
19238 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
19240         Show ancestor buffer in 3way merges
19242         Add an option ediff-show-ancestor', to control if the ancestor buffer
19243         must be shown in 3way merges (Bug#25493); set it non-nil by default.
19244         Add a toggle to change this option interactively; the original
19245         value of the option is restored on exit.
19247         Update the window setup so that the ancestor buffer is
19248         shown in 3way merges when ediff-show-ancestor is non-nil.
19250         Any operation on ediff windows must take in account the
19251         ancestor window as well, when this is shown.
19253         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
19254         (ediff--show-ancestor-orig): New defvar.
19255         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
19256         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
19257         Display ancestor buffer if ediff-show-ancestor is non-nil.
19258         (ediff-keep-window-config): Expect ancestor window in
19259         ediff-window-config-saved.
19260         (ediff-window-alist): Add entry for the ancestor window.
19261         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
19262         ediff-window-config-saved contains ancestor window.
19263         (ediff-show-ancestor): Delete this command.
19264         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
19265         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
19266         don't cheat it to think that is performing a comparison, that trick is not
19267         necessary anymore: simply call 'ediff-setup-diff-regions-function'
19268         with file-A, file-B and the file ancestor.
19269         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
19270         (ediff--check-ancestor-exists): New defun.
19271         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
19272         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
19273         (ediff-scroll-vertically, ediff-scroll-horizontally)
19274         (ediff-operate-on-windows): Consider the ancestor as well.
19275         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
19276         List ediff-toggle-show-ancestor.
19277         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
19279 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
19281         diff-mode: Improve default faces for buffer ancestor
19283         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
19284         (ediff-fine-diff-Ancestor): Use defaults consistent with
19285         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
19287 2017-03-14  Hong Xu  <hong@topbug.net>
19289         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
19291 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
19293         Fix make-dist typo
19295         * make-dist: Fix typo introduced in the Bug#25895 fix.
19297 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
19299         Fix wording in Emacs manual
19301         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
19302         (Bug#26086)
19304 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
19306         etc/NEWS: Remote file names require a method.
19308 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
19310         Require method in remote file name syntax
19312         * lisp/minibuffer.el (completion--nth-completion):
19313         Do not bind `non-essential'.
19315         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
19316         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
19317         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
19318         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
19319         `tramp-check-proper-method-and-host'.
19321         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
19322         (tramp-maybe-open-connection): Do not use argument for
19323         ´tramp-completion-mode-p'.
19325         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
19326         (tramp-prefix-format, tramp-postfix-method-format)
19327         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
19328         (tramp-prefix-port-format, tramp-postfix-host-format)
19329         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
19330         Use `eq' instead of `eqal'.
19331         (tramp-method-regexp, tramp-domain-regexp)
19332         (tramp-remote-file-name-spec-regexp)
19333         (tramp-file-name-regexp-unified)
19334         (tramp-completion-file-name-regexp-unified)
19335         (tramp-completion-file-name-regexp-separate): Adapt regexp.
19336         (tramp-completion-file-name-handler-alist)
19337         (tramp-run-real-handler): Autoload them.
19338         (tramp-find-method): Handle `tramp-default-method-marker'.
19339         (tramp-check-proper-method-and-host)
19340         (tramp-completion-run-real-handler): Remove them.
19341         (tramp-error-with-buffer, tramp-connectable-p): Do not use
19342         argument for ´tramp-completion-mode-p'.
19343         (tramp-find-foreign-file-name-handler): Remove COMPLETION
19344         argument.  Do not apply heuristic for completion.
19345         (tramp-file-name-handler): Do not modify `non-essential'.
19346         (tramp-completion-file-name-handler): Change implementation.
19347         (tramp-autoload-file-name-handler)
19348         (tramp-completion-handle-file-name-all-completions):
19349         Call `tramp-run-real-handler'.
19350         (tramp-completion-mode-p): Do not autoload.  Remove argument.
19351         Do not apply heuristic for completion.
19352         (tramp-completion-dissect-file-name): Simplify implementation.
19353         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
19355         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
19356         (tramp-test02-file-name-dissect)
19357         (tramp-test03-file-name-defaults)
19358         (tramp-test06-directory-file-name): Adapt to the new syntax.
19359         (tramp-test11-copy-file, tramp-test12-rename-file)
19360         (tramp--test-check-files): Deactivate temporarily tests with
19361         quoted file names.
19362         (tramp-test16-directory-files, tramp-test17-insert-directory):
19363         Adapt tests.
19364         (tramp-test24-file-name-completion): Do not check for
19365         completion mode.
19366         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
19367         two tests.
19369 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
19371         Fix bidi paragraph direction when inserting text at newline
19373         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
19374         paragraph cache when inserting immediately after a newline.
19375         (Bug#26083)
19377 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
19379         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
19381 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
19383         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
19385         (cl-print-object) <compiled-function>: Print the docstring and
19386         interactive form.  Obey cl-print-compiled.
19388 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
19390         Fix indent-sexp when called from inside a string (Bug#21343)
19392         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
19393         state from `syntax-ppss'.
19395 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
19397         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
19399         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
19400         (indent-subsexp, indent-sexp-in-string): New tests.
19402 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
19404         Use switch on pseudovector types; plus cleanups along the way
19406         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
19407         (PSEUDOVECTOR_TYPEP): Change type of `code'.
19409         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
19410         (mark_object): Use PSEUDOVECTOR_TYPE.
19412         * src/data.c (Ftype_of): Use switch on pvec type.
19414         * src/print.c (print_object): Use switch on pvec type.
19416         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
19417         Add recently added types.
19419 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
19421         Install update-game-score only on request
19423         Most distributions do not install update-game-score properly
19424         due to setuid/setgid complications, so install it only when
19425         the installer specifies a user or group (Bug#25895).
19426         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
19427         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
19428         New vars.
19429         (epaths-force): Use PATH_GAME.
19430         (uninstall): Remove snake-scores and tetris-scores only if shared.
19431         * configure.ac: Default --with-gameuser to 'no'.
19432         (UPDATE_MANIFEST): Remove.
19433         * etc/NEWS: Mention this.
19434         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
19435         (use_gamedir): New macro.
19436         (UTILITIES): Remove update-game-score unless use_gamedir.
19437         (SCRIPTS): Remove $(UPDATE_MANIFEST).
19438         ($(DESTDIR)${archlibdir}): Install game directory program and data
19439         only if use_gamedir.
19440         * lib-src/update-game-score.exe.manifest: Remove, as
19441         update-game-score is no longer installed on MS-Windows.
19442         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
19443         Use auxiliary program only if setuid or setgid.
19444         * make-dist: Do not distribute update-game-score.exe.manifest.
19445         * src/callproc.c (init_callproc):
19446         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
19447         (syms_of_callproc): Remove unnecessary initialization of
19448         Vshared_game_score_directory.
19450 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
19452         Add `touch-action' to list of CSS properties
19454         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
19455         property.
19457 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
19459         Teach etags to process ENUM_BF correctly
19461         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
19462         (hash): Regenerated values for asso_values[] array.
19463         (in_word_set): Update values of TOTAL_KEYWORDS and
19464         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
19465         (in_enum_bf): New file-global variable.
19466         (consider_token): Skip ENUM_BF if not in a macro definition.
19467         (C_entries): Reset the in_enum_bf flag when past its closing
19468         parenthesis.
19470         * test/manual/etags/ETAGS.good_1:
19471         * test/manual/etags/ETAGS.good_2:
19472         * test/manual/etags/ETAGS.good_3:
19473         * test/manual/etags/ETAGS.good_4:
19474         * test/manual/etags/ETAGS.good_5:
19475         * test/manual/etags/ETAGS.good_6:
19476         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
19478 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
19480         Use path/to/file instead of path/to.file in tramp.texi
19482         * doc/misc/tramp.texi (Configuration, File name Syntax):
19483         Use path/to/file instead of path/to.file.
19485 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
19487         Remove some stray gnulib files
19489         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
19490         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
19491         the --avoid=unsetenv option avoided most of it anyway.
19492         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
19493         * lib/gnulib.mk: Regenerate.
19495 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
19497         Merge from gnulib
19499         This incorporates:
19500         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
19501         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
19503 2017-03-12  Glenn Morris  <rgm@gnu.org>
19505         Remove trivial duplication in epg-config
19507         * lisp/epg-config.el (epg-config--program-alist):
19508         Use epg-gpg-minimum-version.
19510 2017-03-12  Glenn Morris  <rgm@gnu.org>
19512         Small epg-find-configuration improvement
19514         * lisp/epg-config.el (epg-find-configuration):
19515         Handle epg-gpg-program customized but not saved.  (Bug#25947)
19517 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
19519         Improve last change
19521         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
19522         Use ppss to check escaping and add help-echo.
19524 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
19526         Highlight useless backslashes in Elisp strings
19528         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
19529         Put warning face on backslashes that have no effect.
19531 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
19533         Document how to customize input methods
19535         * doc/emacs/mule.texi (Input Methods): Document how to customize
19536         input methods.
19538 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
19540         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
19542 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
19544         Fix generation of nt/gnulib.mk on macOS
19546         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
19547         to Sed, as that is not portable with non-GNU Sed variants.
19548         (Bug#26043)
19550 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
19552         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
19554         * src/xdisp.c (handle_single_display_spec): If position to be
19555         restored after processing the display property comes from an
19556         overlay, protect against that overlay's end point being outside of
19557         the narrowed region.
19558         Reported by Filipe Silva <filipe.silva@gmail.com> in
19559         http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00176.html.
19561 2017-03-10  Glenn Morris  <rgm@gnu.org>
19563         Small improvement for epa-display-error (bug#24553)
19565         * lisp/epa.el (epa-display-error): Report the actual program in use.
19567 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
19569         Tweak X toolkit code to pacify modern GCC
19571         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
19572         Don’t include <stdlib.h>, since this code now calls emacs_abort
19573         rather than abort.
19574         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
19575         (wm_delete_window):
19576         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
19577         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
19578         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
19579         (separator_height, XlwMenuInitialize):
19580         Use emacs_abort, not abort.  Without this change, some calls
19581         to ‘abort’ were invalid, as stdlib.h was not always included.
19582         * src/widget.c (resources, emacsFrameClassRec):
19583         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
19584         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
19585         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
19586         (x_term_init) [USE_X_TOOLKIT]:
19587         Cast string constants to char * to pacify --enable-gcc-warnings.
19589 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
19591         * doc/misc/tramp.texi (Android shell setup): Require adb program
19593 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
19595         Adapt tramp-tests.el
19597         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
19598         (tramp-test24-file-name-completion): Call
19599         `tramp-completion-mode-p' with argument.
19601 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
19603         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
19605         * doc/lispref/processes.texi (Bindat Examples):
19606         Mention two examples in intro blurb; rewrite first example.
19608 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
19610         Simplify checks for xdg-open and xdg-email
19612         browse-url's xdg-open detection was too picky on some GNU/Linux
19613         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
19614         if it is executable, as nowadays this is more likely to be correct than
19615         trying to use heuristics from a few years ago.  Don't test for nohup: it
19616         is ineffective nowadays, as xdg-open's child uses the default action for
19617         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
19618         allow for Wayland here, as "emacs -nw" might be running in a non-X
19619         Wayland terminal.
19620         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
19621         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
19622         Simplify to a test for DISPLAY and whether the helper program is
19623         executable.  Allow WAYLAND_DISPLAY as an option.
19625 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
19627         Byte compile cond clauses without any bodies correctly.
19629         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
19630         cond clause has no body, push t on to the stack.
19632 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
19634         Fix bug#23006
19636         * lisp/minibuffer.el (completion--nth-completion):
19637         Let-bind `non-essential'.
19639         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
19640         (tramp-completion-mode-p): Optional parameter VEC.  Replace
19641         check for `last-input-event' by analysing VEC argument.
19642         (tramp-error-with-buffer, tramp-file-name-handler)
19643         (tramp-connectable-p, tramp-handle-file-name-as-directory):
19644         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
19646 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
19648         etc/NEWS: Add entry for new `switch' bytecode.
19650 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19652         * src/data.c (arithcompare): Add comments.
19654 2017-03-08  Glenn Morris  <rgm@gnu.org>
19656         Update a cl-print test
19658         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
19659         Update for recent change in cl-print-object function output.
19661 2017-03-08  Sam Steingold  <sds@gnu.org>
19663         Replace change-log-date-face -> change-log-date
19665         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
19667 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
19669         Fix bug#26011
19671         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
19672         Check, whether file is too large.  (Bug#26011)
19674 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
19676         * data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
19677         (Fmax, Fmin): Restore documentation.
19679         * data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
19680         comparisons that are written backward.
19682 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
19684         [doc elisp] Add some index entries for "old" advice mechanism
19686         * doc/lispref/functions.texi (Porting old advice):
19687         Add one @cindex and two @findex entries.
19689 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19691         * etc/NEWS: Adjust to match previous patch.
19693 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19695         min and max should not return markers
19697         Problem reported by Glenn Morris in:
19698         http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00147.html
19699         * src/data.c (minmax_driver): Convert any marker result to an
19700         integer, since some callers assume this.
19701         * test/src/data-tests.el (data-tests-max, data-tests-min):
19702         Test for this.
19704 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
19706         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
19708 2017-03-08  Alan Third  <alan@idiocy.org>
19710         Add missing timeout value in ns_select
19712         * src/nsterm.m (ns_select): Set timeout to distant future when relying
19713         on fd_handler's timeout.
19715 2017-03-07  Glenn Morris  <rgm@gnu.org>
19717         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
19719 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19721         Remove isnan hack for Solaris 10 gcc 3.4.3
19723         This seems to have been a false alarm (Bug#26018).
19724         * src/data.c (isnan):
19725         * src/floatfns.c (isfinite, isnan):
19726         Use standard implementation if available.
19728 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
19730         Support browsing URLs with embedded spaces on MS-Windows
19732         * lisp/net/browse-url.el (browse-url-default-windows-browser):
19733         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
19734         support that in file:// URLs.  (Bug#26014)
19736 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19738         Define copysign on all platforms
19740         * configure.ac (copysign): Remove test.
19741         * src/floatfns.c (signbit): New macro, if not already defined.
19742         (Fcopysign): Use it instead of copysign.
19743         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
19745 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
19747         Revert "Replace ldefs-boot with a much smaller file"
19749         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
19751         This commit has been reverted because the new mechanism was too
19752         sensitive to changes in the lisp source, generation of new ldefs-boot
19753         files was platform specific and resulted in warnings about undefined
19754         variables.
19756         See also 11436e2890d.
19758 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
19760         Revert "Record autoloads till emacs dump"
19762         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
19764         This commit has been reverted because the new mechanism was too
19765         sensitive to changes in the lisp source, generation of new ldefs-boot
19766         files was platform specific and resulted in warnings about undefined
19767         variables.
19769         See also 11436e2890d.
19771 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
19773         Revert "Remove unused ldefs-boot.el"
19775         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
19777         This commit has been reverted because the new mechanism was too
19778         sensitive to changes in the lisp source, generation of new ldefs-boot
19779         files was platform specific and resulted in warnings about undefined
19780         variables.
19782         See also 11436e2890d.
19784 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
19786         Revert "Remove conditional includes from bootstrap"
19788         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
19790         This commit has been reverted because the new mechanism was too
19791         sensitive to changes in the lisp source, generation of new ldefs-boot
19792         files was platform specific and resulted in warnings about undefined
19793         variables.
19795         See also 11436e2890d.
19797 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
19799         Revert "Speed generation of ldefs-boot-auto"
19801         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
19803         This commit has been reverted because the new mechanism was too
19804         sensitive to changes in the lisp source, generation of new ldefs-boot
19805         files was platform specific and resulted in warnings about undefined
19806         variables.
19808         See also 11436e2890d.
19810 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
19812         Revert "Fix minor problems with loaddefs autogeneration"
19814         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
19816         This commit has been reverted because the new mechanism was too
19817         sensitive to changes in the lisp source, generation of new ldefs-boot
19818         files was platform specific and resulted in warnings about undefined
19819         variables.
19821 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
19823         Set default when asking for send-mail-function (Bug#25874).
19825         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
19826         option as default for `completing-read'.
19828 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19830         min and max now return one of their arguments
19832         * doc/lispref/numbers.texi (Comparison of Numbers):
19833         * etc/NEWS: Document this.
19834         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
19835         (minmax_driver): New function.
19836         (Fmax, Fmin): Use it instead of arith_driver.
19837         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
19839 2017-03-06  Alan Third  <alan@idiocy.org>
19841         Remove NSEvent loop from ns_select (bug#25265)
19843         * src/nsterm.m (ns_select): Remove event processing loop and replace
19844         with simple test for a new event.
19846 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
19848         A better fix for bug#25845
19850         * src/xdisp.c (font_for_underline_metrics): New function.
19851         * src/dispextern.h: Add its prototype.
19852         * src/xterm.c (x_draw_glyph_string):
19853         * src/w32term.c (x_draw_glyph_string):
19854         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
19855         having identical code 3 times in 3 different files.
19857 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
19859         Fix warning message about native completion (Bug#25984)
19861         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
19862         The relevant variable is `python-shell-completion-native-enable'.
19864 2017-03-06  Tom Tromey  <tom@tromey.com>
19866         Fix typos in EIEIO manual
19868         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
19870 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19872         Merge from gnulib
19874         This incorporates:
19875         2017-03-04 dtotimespec: simplify
19876         * lib/dtotimespec.c: Copy from gnulib.
19878 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19880         ffloor etc. now accept only floats
19882         * etc/NEWS: Say why.
19883         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
19884         Require arg to be float.
19885         * test/src/floatfns-tests.el (fround-fixnum): Check this.
19887 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
19889         Fix display of cursor on underlined text
19891         * src/nsterm.m (ns_draw_text_decoration):
19892         * src/xterm.c (x_draw_glyph_string):
19893         * src/w32term.c (x_draw_glyph_string): Compute the position and
19894         thickness of the underline by looking for the first glyph of the
19895         run of underlined glyphs that includes the glyph string we are
19896         drawing.  (Bug#25845)
19898 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
19900         Add more CL concept index items, print Concept Index
19902         * doc/misc/cl.texi: Print concept index.
19903         (Generalized Variables, Variable Bindings):
19904         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
19905         (Blocks and Exits, Iteration, Multiple Values): Add concept index
19906         items.
19908 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
19910         Add 'loop facility' to the CL concept index
19912         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
19913         index item.
19915 2017-03-05  martin rudalics  <rudalics@gmx.at>
19917         In `window--display-buffer' fix behavior reported in Bug#25946
19919         * lisp/window.el (window--display-buffer): Set the dedicated
19920         status of the window used and clear its history of previous
19921         buffers also for the case that the window already shows the
19922         buffer to be displayed.  (Bug#25946)
19924 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19926         Compare and round more carefully
19928         * etc/NEWS: Document this.
19929         * src/data.c (store_symval_forwarding):
19930         * src/sound.c (parse_sound):
19931         Do not botch NaN comparison.
19932         * src/data.c (cons_to_unsigned, cons_to_signed):
19933         Signal an error if a floating-point arg is not integral.
19934         * src/data.c (cons_to_unsigned, cons_to_signed):
19935         * src/fileio.c (file_offset):
19936         Use simpler overflow check.
19937         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
19938         Avoid rounding error in overflow check.
19939         (Fcar_less_than_car): Use arithcompare directly.
19940         * test/src/charset-tests.el: New file.
19942 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19944         Fewer rounding errors with (format "%f" fixnum)
19946         * etc/NEWS: Document this.
19947         * src/editfns.c (styled_format): When formatting integers via a
19948         floating-point format, use long double instead of double
19949         conversion, if long double’s extra precision might help.
19951 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19953         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
19955         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
19957 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
19959         Clarify documentation of 'raise' and 'height' display specs
19961         * doc/lispref/display.texi (Other Display Specs): Clarify the
19962         effect of 'height' display spec on the following 'raise'.
19963         (Bug#25824)
19965 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
19967         Fix header shown by Info 'L' command
19969         * lisp/info.el (Info-history-find-node): A better heading for the
19970         list of visited nodes.  (Bug#25876)
19972 2017-03-04  K. Handa  <handa@gnu.org>
19974         Add a section about incorrect Bengali rendering.
19976 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
19978         Fix minor problems with loaddefs autogeneration
19980         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
19981         and coding-system-for-write, to produce a UTF-8 file with Unix
19982         EOLs on MS-Windows.
19984         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
19986 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
19988         Fix issues with dedicated windows in shr.el
19990         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
19991         the window not dedicated, to avoid errors if it was, before
19992         setting its buffer temporarily.  (Bug#25828)
19994 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
19996         Mention problems with GPaste in PROBLEMS
19998         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
19999         GPaste, and its solution.  (Bug#25902)
20001 2017-03-04  Glenn Morris  <rgm@gnu.org>
20003         Avoid duplicate gud menu items with gdb-mi
20005         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
20006         entries in gdbmi mode.  (Bug#23923)
20008 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
20010         * src/editfns.c (styled_format): Omit unnecessary code.
20012 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
20014         logb now works correctly on large integers
20016         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
20017         * etc/NEWS: Document the change.
20018         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
20019         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
20020         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
20021         * src/floatfns.c: Include count-leading-zeros.h.
20022         (Flogb): Do not convert fixnum to float before taking the log,
20023         as the rounding error can cause the answer to be off by 1.
20024         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
20025         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
20027 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
20029         Merge from gnulib
20031         This incorporates:
20032         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
20033         2017-02-24 ftoastr: port to -Wdouble-promotion
20034         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
20036 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
20038         Avoid duplicating characters recorded in macros
20040         * src/keyboard.c (record_char): Don't store in macro definitions
20041         characters that came from executing a macro.  (Bug#25860)
20043 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
20045         Fix color component calculations in color.el
20047         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
20048         (color-rgb-to-hex): Accept an optional argument
20049         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
20050         notation either for 8 or 16 bits per component.  (Bug#25890)
20051         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
20052         color-rgb-to-hex with the optional argument of 2, to match color
20053         processing on the Web.
20055 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
20057         Use lexical binding in benchmark.el
20059         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
20060         (benchmark-elapse): Use 'declare'.
20061         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
20063 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
20065         Switch pp.el to lexical binding
20067         Additionally, do some minor code cleanup.
20069         * lisp/emacs-lisp/pp.el: Set lexical-binding.
20070         (pp-buffer): Use skip-syntax-forward.
20071         (pp-eval-expression): Use push.
20072         (pp-last-sexp): Use with-syntax-table.
20073         * test/lisp/emacs-lisp/pp-tests.el: New tests.
20075 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
20077         Fix completing-read call in reb-change-syntax
20079         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
20080         of completing-read.
20082 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
20084         sql-mode w/ sqlite: In-memory database
20086         Enable the usage of an in-memory database. Prior to this, sql-mode w/
20087         sqlite could only be used with file databases.
20088         * list/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
20089         file name provided by the user, but call sub-process sqlite with that,
20090         in which case it uses an in-memory database.
20092 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
20094         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
20096         `abbrev--before-point' does not adjust `pos' to account for when it
20097         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
20098         `abbrev-before-point' goes to restore point, it moves point one
20099         character too far forward.
20101         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
20103 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
20105         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
20107 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
20109         Restore XFLOATINT but with restricted args
20111         Turn instances of extract_float into XFLOAT_DATA when possible,
20112         and to a resurrected XFLOATINT when the arg is a number.
20113         The resurrected XFLOATINT is more like XFLOAT and XINT in
20114         that is valid only if its arg is a number.  This clarifies
20115         the ways in which floats can be extracted at the C level.
20116         * src/editfns.c (styled_format):
20117         * src/floatfns.c (extract_float, Fexpt):
20118         Use XFLOATINT rather than open-coding it.
20119         * src/fns.c (internal_equal):
20120         * src/image.c (imagemagick_load_image):
20121         * src/xdisp.c (resize_mini_window):
20122         Prefer XFLOAT_DATA to extract_float on values known to be floats.
20123         * src/frame.c (x_set_screen_gamma):
20124         * src/frame.h (NUMVAL):
20125         * src/image.c (x_edge_detection, compute_image_size):
20126         * src/lread.c (read_filtered_event):
20127         * src/window.c (Fset_window_vscroll):
20128         * src/xdisp.c (handle_single_display_spec, try_scrolling)
20129         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
20130         (on_hot_spot_p):
20131         Prefer XFLOATINT to extract_float on values known to be numbers.
20132         * src/lisp.h (XFLOATINT): Bring back this function, except
20133         it now assumes its argument is a number.
20135 2017-03-02  Glenn Morris  <rgm@gnu.org>
20137         Ert commands to error if no test at point (bug#25931)
20139         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
20140         Deactivate some items if no test at point.
20141         (ert--results-test-at-point-no-redefinition):
20142         Add option to signal an error rather than return nil.
20143         (ert-results-pop-to-backtrace-for-test-at-point)
20144         (ert-results-pop-to-messages-for-test-at-point)
20145         (ert-results-pop-to-should-forms-for-test-at-point)
20146         (ert-results-describe-test-at-point): Error if no test at point.
20148 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
20150         Remove XFLOATINT
20152         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
20153         All callers changed to use extract_float.
20154         * src/frame.h (NUMVAL): Now an inline function, not a macro.
20156 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
20158         Fix rounding errors in <, =, etc.
20160         * etc/NEWS: Document this.
20161         * src/bytecode.c (exec_byte_code):
20162         * src/data.c (arithcompare):
20163         Do not lose information when comparing floats to integers.
20164         * test/src/data-tests.el (data-tests-=, data-tests-<)
20165         (data-tests->, data-tests-<=, data-tests->=):
20166         Test this.
20168 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
20170         Fix display of mouse-highlight produced by overlapping overlays
20172         * src/xfaces.c (face_at_buffer_position): If called to find the
20173         mouse-face, only consider the highest-priority source for that
20174         face, and ignore the rest.  Previously, all the mouse-face
20175         definitions at POS were merged in that case.
20176         * src/xdisp.c (note_mouse_highlight): Record the overlay that
20177         specifies mouse-face _after_ clearing the info about the previous
20178         overlay, so as not to clear the information about the just-recorded
20179         overlay.  (Bug#25906)
20181 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
20183         Fix display of strike-through text in variable-height lines
20185         * src/nsterm.m (ns_draw_text_decoration):
20186         * src/xterm.c (x_draw_glyph_string):
20187         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
20188         strike-through y-coordinate for a glyph row which is taller than
20189         the strike-through text.  (Bug#25907)
20191 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
20193         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
20195         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
20196         don't call x_net_wm_state when the window is a scroll bar window.
20197         (Bug#24963, Bug#25887)
20199 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
20201         gnus-summary-select-article-buffer: Don't re-render existing article
20203         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
20204         Don't re-render existing article.
20206 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
20208         Don't add debbugs address to message body (bug#25896)
20210         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
20211         Don't add debbugs address to message body (bug#25896), and
20212         don't add it to message header either if it already exists.
20214 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
20216         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
20218         (semanticdb--ih): Declare.
20219         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
20220         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
20221         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
20223 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
20225         * lisp/help-fns.el (describe-variable): Use cl-print for the value
20227         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
20229 2017-03-02  Glenn Morris  <rgm@gnu.org>
20231         * test/lisp/net/puny.el: New file.
20233 2017-03-02  Glenn Morris  <rgm@gnu.org>
20235         Small puny.el fix
20237         * lisp/net/puny.el (puny-decode-string-internal):
20238         Handle strings with no ascii parts.  (Bug#23688)
20240 2017-03-02  Glenn Morris  <rgm@gnu.org>
20242         Small recover-this-file improvement
20244         * lisp/files.el (recover-this-file): Explicit error if not
20245         visiting a file.  (Bug#23671)
20247 2017-03-01  Glenn Morris  <rgm@gnu.org>
20249         Fix for coding-system completion (bug#23670)
20251         * lisp/international/mule.el (read-buffer-file-coding-system):
20252         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
20253         so that completion-pcm--pattern->regex can append "*?".
20255 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20257         Fix rounding error in ‘ceiling’ etc.
20259         Without this fix, (ceiling most-negative-fixnum -1.0) returns
20260         most-negative-fixnum instead of correctly signaling range-error,
20261         and similarly for floor, round, and truncate.
20262         * configure.ac (trunc): Add a check, since Gnulib’s doc says
20263         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
20264         also missing from some other older operating systems like Solaris
20265         9 which I know we don’t care about any more, so MSVC is the only
20266         reason to worry about ‘trunc’ here.
20267         * src/editfns.c (styled_format): Formatting a float with %c is now an
20268         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
20269         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
20270         only as a result of my misunderstanding old code that I introduced
20271         2011.  Although %d etc. is sometimes used on floats that represent
20272         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
20273         happen with characters.
20274         * src/floatfns.c (rounding_driver): Rework to do the right thing
20275         when the intermediate result equals 2.305843009213694e+18, i.e.,
20276         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
20277         Simplify so that only one section of code checks for overflow,
20278         rather than two.
20279         (double_identity): Remove.  All uses changed to ...
20280         (emacs_trunc): ... this new function.  Add replacement for
20281         platforms that lack ‘trunc’.
20282         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
20283         Make it clear that the arg cannot be floating point.
20284         * test/src/editfns-tests.el (format-c-float): New test.
20285         * test/src/floatfns-tests.el: New file, to test for this bug.
20287 2017-03-01  Glenn Morris  <rgm@gnu.org>
20289         Small help--loaded-p fix
20291         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
20292         with nil file name.  (Bug#25847)
20294 2017-03-01  Leo Liu  <sdl.web@gmail.com>
20296         * src/fns.c (Fbuffer_hash): Doc fix.
20298 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
20300         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
20302         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
20303         Instead, use a plain concat, which will create a string out of a list
20304         of characters.
20306 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
20308         Fix epg-tests with dummy-pinentry program (Bug#23619)
20310         * test/data/epg/dummy-pinentry: New file.
20311         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
20312         when a passphrase is required.  Add debug declaration.  Set
20313         GPG_AGENT_INFO non-destructively.
20315 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20317         Speed generation of ldefs-boot-auto
20319         Previously, generation of ldefs-boot-auto required at least one full
20320         bootstrap and, in extreme cases, two. Now, from build system, it
20321         requires the same time as taken to dump Emacs.
20323         * Makefile.in: Remove all calls, pass to src.
20324         * admin/ldefs-clean.el: Update for changed messages.
20325         * lisp/Makefile.in (compile-first-delete): Add.
20326         * lisp/ldefs-boot-auto.el: Update.
20327         * src/Makefile.in (generate-ldefs-boot): Add.
20329 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20331         Add error handling to magic-mode-alist
20333         * lisp/files.el (set-auto-mode): Add explicit error handling in two
20334           places.
20336 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20338         Remove conditional includes from bootstrap
20340         Previously, bootstrap-emacs includes optional functionality, depending
20341         on the platform which is not needed for bootstrap function.  As a
20342         result, bootstrap-emacs contains different functions in different
20343         circumstances.  If ldefs-boot-auto.el is generated, then loaded
20344         functions will not be added to ldefs-boot-auto.el, although they may be
20345         required during some builds.  With this change, bootstrap-emacs should
20346         always behave the same way and, therefore, require the same autoloads.
20348          * lisp/loadup.el: No longer load optional includes during bootstrap
20349            dumping.
20350          * lisp/ldefs-boot-auto.el: Regenerate.
20351          * lisp/ldefs-boot-manual.el: Add two autoloads.
20353 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20355         Do not use find-file non-interactively
20357          * lisp/international/titdic-cnv (miscdic-convert): Use
20358            insert-file-contents in place of find-file.
20360 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20362         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
20364         (update_overlay_arrows): Skip non-markers.
20366 2017-02-28  Ken Brown  <kbrown@cornell.edu>
20368         Try to avoid hang when logging out of MS-Windows
20370         * src/w32term.c (x_update_window_begin, x_update_window_end)
20371         (my_show_window, my_set_window_pos, my_set_focus)
20372         (my_set_foreground_window, my_destroy_window)
20373         (my_bring_window_to_top, x_iconify_frame): Replace calls to
20374         SendMessage by calls to SendMessageTimeout with a 6-second
20375         timeout.  (Bug#25875)
20377 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20379         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
20381 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20383         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
20385         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
20386         (Methods): Document cl-defmethod.
20387         Explain in more detail the order in which the various
20388         methods are executed.  Document the conditions under which a method
20389         is redefined.  Remove reference to `eieio-generic-call-arglst`.
20390         Don't document the precise return value of cl-next-method-p.
20391         (Static Methods): Adjust to use `subclass` specializer.
20392         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
20393         (Signal Handling, Signals): Adjust names and args for cl-generic; add
20394         cl-no-primary-method.
20395         (CLOS compatibility, Wish List): Adjust to new featureset.
20397 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20399         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
20401         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
20403 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20405         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
20407         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
20408         (sgml-syntax-propertize-inside): New fun.
20410 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20412         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
20414         ": ;" after completing a property.
20416 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
20418         Show Ibuffer and jump to line listing current buffer
20420         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
20422 2017-02-27  Juri Linkov  <juri@linkov.net>
20424         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
20426         before adding it to the list of files.
20428 2017-02-27  Juri Linkov  <juri@linkov.net>
20430         Put text properties on query-replace separator string instead of "\0"
20432         * lisp/replace.el (query-replace--split-string):
20433         Split at a substring instead of just character.
20434         (query-replace-read-from): Put text properties on the
20435         separator string instead of "\0".  (Bug#25482)
20437 2017-02-27  Juri Linkov  <juri@linkov.net>
20439         Add file name and its extension to suggestions in dired-mark-files-regexp
20441         * lisp/dired.el (dired-mark-files-regexp): Add file name
20442         and its extension to the list of suggested defaults.  (Bug#25578)
20444 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
20446         Prompt default extension in dired-mark-extension
20448         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
20449         based on extension of file at point.  (Bug#25578)
20451 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
20453         Prevent for consing in cl-mapc and cl-mapl
20455         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
20456         If non-nil, accumulate values in the result (Bug#25826).
20457         (cl-mapc): Do computations inside function instead of call cl-map.
20458         (cl-mapl): Do computations inside function instead of call cl-maplist.
20459         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
20460         Call cl--mapcar-many with non-nil 3rd argument.
20461         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
20462         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
20463         (cl-extra-test-maplist): New tests.
20465 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
20467         Choose the right target dir on dired operations
20469         Prevent from changing the input target dir
20470         when dired-dwim-target is non-nil (Bug#25609).
20471         * lisp/dired-aux.el (dired-do-create-files):
20472         If dired-dwim-target is non-nil, then bind 'default' to nil.
20473         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
20475 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20477         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
20479 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
20481         Don't record eshell/clear "command" in history (Bug#25838)
20483         `eshell/clear' is implemented by sending a series of blank lines,
20484         which is not a useful thing to have in the history.
20486         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
20487         `string-blank-p' which does check for newlines (even though newlines
20488         have comment-end syntax, not whitespace syntax class).
20489         * lisp/eshell/esh-mode.el (eshell/clear): Remove
20490         `eshell-add-to-history' from `eshell-input-filter-functions' while
20491         sending the blank lines.  This change is needed to solve the bug if
20492         the user customizes `eshell-input-filter' to something that doesn't
20493         filter newlines.
20495 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
20497         Remove a few unused C functions
20499         * src/eval.c (let_shadows_global_binding_p):
20500         * src/print.c (write_string):
20501         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
20502         Remove.
20503         * src/print.c (write_string): Rename from write_string_1.
20504         All uses changed.
20506 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
20508         Avoid segfault in overlay_arrows_changed_p
20510         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
20511         to avoid a segfault.
20513 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
20515         Don't call package--ensure-init-file if initialized during startup
20517         * lisp/emacs-lisp/package.el (package-initialize): Check
20518         `after-init-time' rather than `load-file-name' to decide if
20519         `package--ensure-init-file' should be called.  Depending on
20520         `load-file-name' will fail if the user calls `pacakge-initialize' in
20521         file which is loaded from the init file (Bug#24643, Bug#25819).
20523 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
20525         Fix display of before- and after-strings at invisible text
20527         * src/xdisp.c (next_overlay_string): Don't raise the
20528         ignore_overlay_strings_at_pos_p flag if the iterator is already
20529         set to continue at a buffer position different from the one
20530         where the overlay strings we just processed were loaded.  (Bug#25856)
20532 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
20534         Work on `tramp-completion-mode-p'
20536         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
20538         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
20539         (tramp-completion-mode-p): Reintroduce the check for 'tab.
20541 2017-02-25  Tom Tromey  <tom@tromey.com>
20543         Use font-lock-doc-face in js-mode
20545         Bug#25858:
20546         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
20547         defun.
20548         (js-mode): Use it.
20549         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
20550         test.
20552 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
20554         Don't use IP 0.0.0.0 for package test server (Bug#22582)
20556         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
20557         'server_address' when port number is given on the command line.  Print
20558         IP and port number as a URL, and flush it after printing.
20559         * test/lisp/emacs-lisp/package-tests.el:
20560         (package-test-update-archives-async): Grab the whole URL from server
20561         output.
20563 2017-02-25  Tom Tromey  <tom@tromey.com>
20565         Add more branch support to vc-dir
20567         Bug#25859:
20568         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
20569         * lisp/vc/vc.el (vc-revision-history): New defvar.
20570         (vc-read-revision): Use vc-revision-history.
20571         (vc-print-branch-log): New function.
20572         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
20573         bindings.
20574         * etc/NEWS: Mention new vc-dir bindings.
20576 2017-02-25  Alan Mackenzie  <acm@muc.de>
20578         Allow for the :: operator in C++ "enum class" declarations.
20580         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
20581         "::".
20583 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
20585         Fix bug#25854
20587         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
20588         Simplify error handling for huge inodes.
20589         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
20591 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
20593         Avoid leaving garbage on screen when using 'raise' display property
20595         * src/xdisp.c (display_line): Reset voffset value of the iterator
20596         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
20597         which then leaves stuff on screen that needs to be cleared by
20598         redisplay.  (Bug#25855)
20600 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
20602         Fix doc strings in info.el
20604         * lisp/info.el (Info-selection-hook, Info-mode-hook)
20605         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
20607 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
20609         Fix doc string of 'posn-at-point'
20611         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
20612         (Bug#25796)
20614 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
20616         New option -u / --suppress-output to emacsclient
20618         * lib-src/emacsclient.c (print_help_and_exit, longopts)
20619         (decode_options, main): Implement new option --suppress-output / -u to
20620         suppress printing of eval-results.
20621         * doc/emacs/misc.texi (emacsclient Options): Document the new
20622         "--suppress-output/-u" options.
20623         * etc/NEWS: Mention the new options.
20625 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
20627         Fix scrolling with partial line corner case (Bug#25792)
20629         Also fix up the scrolling tests so that they don't make so many
20630         assumptions about the current window configuration.
20632         * src/xdisp.c (try_window): Take partial line height into account when
20633         comparing cursor position against scroll margin.
20635         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
20636         HEIGHT argument, to allow setting up window with exact height and
20637         partial line.
20638         (scroll-tests-display-buffer-with-height): New display-buffer action
20639         function.
20640         (scroll-tests-scroll-margin-over-max):
20641         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
20642         `scroll-tests--scroll-margin-whole-window'.
20643         (scroll-tests-conservative-show-trailing-whitespace): New test.
20644         (scroll-tests-scroll-margin-negative): Fix line counting.
20645         (scroll-tests--point-in-middle-of-window-p): Set window height
20646         properly.
20648 2017-02-25  Tom Tromey  <tom@tromey.com>
20650         Fix indentation error in js.el
20652         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
20653         call in condition-case.
20654         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
20655         test.
20657 2017-02-24  Tom Tromey  <tom@tromey.com>
20659         add "async" and "await" keywords
20661         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
20663 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20665         Use cl-print for Edebug and EIEIO
20667         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
20668         (edebug-prin1, edebug-print): Remove.
20670         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
20671         (cl-print-object): Add a method for EIEIO objects.
20672         (eieio-edebug-prin1-to-string): Delete.
20673         (edebug-prin1-to-string): Don't advise any more.
20675         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
20676         Replace `object-print' -> `cl-prin1-to-string'.
20678 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20680         Fix left over uses of `call-next-method'
20682         * lisp/cedet/semantic/db-global.el (object-print):
20683         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
20685 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20687         Minor redisplay optimisations
20689         * src/frame.c (Ficonify_frame): No need to redisplay everything.
20691         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
20692         (redisplay_internal): Use it to avoid redisplaying everything.
20693         (try_window_id): Use it keep the same behavior as before.
20695 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20697         * lisp/emacs-lisp/cl-print.el: New file
20699         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
20700         (advice--make-docstring): Use it.
20702         * src/print.c (print_number_index): Don't declare here any more.
20703         (Fprint_preprocess): New function.
20705         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
20707 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
20709         Make calc's least common multiple positive (bug#25255)
20711         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
20712         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
20714 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
20716         Documentation fix in elisp reference manual
20718         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
20719         on 'declare' forms (Bug#25846).
20721 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
20723         Support read syntax for circular objects in Edebug (Bug#23660)
20725         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
20726         for edebug-read-function. Handle the read syntax for circular
20727         objects.
20728         (edebug-read-objects): New variable.
20729         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
20731         * src/lread.c (Fsubstitute_object_in_subtree): Make
20732         substitute_object_in_subtree into a Lisp primitive.
20734 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
20736         Add Conference to the list of valid bibtex entry types
20738         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
20739         Add Conference as a duplicate of InProceedings.  (Bug#25143)
20741 2017-02-23  Glenn Morris  <rgm@gnu.org>
20743         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
20745 2017-02-23  Glenn Morris  <rgm@gnu.org>
20747         Small dunnet score file improvements
20749         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
20750         (dun-do-logfile): Handle non-existing score file.
20752 2017-02-23  Glenn Morris  <rgm@gnu.org>
20754         * lisp/play/dunnet.el (dun-help): Doc fix.
20756 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
20758         Declare dun-line and dun-line-list
20760         Previously, there were free variables 'line' and 'line-list'.
20761         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
20762         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
20763         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
20764         (dun-batch-unix-interface): Use them.
20766 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
20768         Merge from gnulib
20770         This incorporates:
20771         2017-02-16 xbinary-io: rename from xsetmode
20772         2017-02-15 xsetmode: new module
20773         * lib-src/etags.c (main):
20774         * lib-src/hexl.c (main):
20775         * src/emacs.c (main) [MSDOS]:
20776         Prefer set_binary_mode to the obsolescent SET_BINARY.
20777         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
20779 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
20781         hexl: handle large files and I/O errors
20783         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
20784         Do not include ctype.h, as the code no longer uses isdigit.
20785         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
20786         (DEFAULT_BASE, endian): Remove; was not really used.
20787         (usage): Remove; now done by ‘main’, as that’s simpler.
20788         (progname): Now static.
20789         (output_error, hexchar): New functions.
20790         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
20791         "-little-endian" options, as they did not work and were not used.
20792         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
20793         Use SET_BINARY only once on stdout.
20794         Do not assume file offsets fit in ‘long’.
20795         If an I/O error occurs, report it and exit with nonzero status.
20797 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
20799         Avoid quitting inside a critical section on MS-Windows
20801         * src/w32uniscribe.c (uniscribe_list_family):
20802         * src/w32font.c (w32font_list_family, w32font_text_extents)
20803         (w32font_list_internal, w32font_match_internal)
20804         (list_all_matching_fonts): Prevent quitting while these functions
20805         cons lists of fonts, to avoid leaving the critical section taken
20806         by the main thread, which will then cause any other thread
20807         attempting to enter the critical section to hang.  (Bug#25279)
20809 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
20811         Use revision-completion-table in vc-retrieve-tag
20813         * lisp/vc/vc.el (vc-retrieve-tag): Use the
20814         revision-completion-table command for completion (bug#25710).
20816 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
20818         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
20820         remove entries whose car can't be returned by type-of.
20821         (cl--generic-all-builtin-types): New var.
20822         (cl-generic-generalizers): Use it to avoid requiring
20823         extra entries in cl--generic-typeof-types.
20825 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
20827         Find macro binding for symbol-bound macros too (Bug#6848)
20829         There are 2 ways to bind a macro: with global-set-key or
20830         kmacro-bind-to-key.  The former binds a key to a symbol, while the
20831         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
20832         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
20833         case, but broke the symbol case.
20835         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
20836         MACRONAME.
20838 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
20840         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
20842 2017-02-22  Juri Linkov  <juri@linkov.net>
20844         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
20846 2017-02-22  Juri Linkov  <juri@linkov.net>
20848         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
20850         (isearch-lazy-highlight-update): Check it to decide whether to apply
20851         overlays only on the selected window.
20853         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
20854         (Bug#17453, bug#21092)
20856 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
20858         Minor weak hash table performance tweaks
20860         * src/fns.c (make_hash_table): Omit unnecessary assignment to
20861         h->next_weak when the hash table is not weak.
20862         (copy_hash_table): Put the copy next to the original in the
20863         weak_hash_tables list, as this should have better locality
20864         when scanning the weak hash tables.
20866 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
20868         Use float instead of Lisp_Object for rehash_size
20870         * src/alloc.c (purecopy_hash_table):
20871         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
20872         (Fhash_table_rehash_size):
20873         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
20874         The rehash_size member of struct Lisp_Hash_Table is now a
20875         float, not a Lisp_Object.
20876         * src/alloc.c (purecopy_hash_table): Assign members in order.
20877         * src/fns.c (make_hash_table): Use EMACS_INT for size and
20878         float for rehash_size, instead of Lisp_Object for both.
20879         All callers changed.
20880         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
20881         and 1 smaller.
20882         * src/print.c (print_object): Simplify by calling
20883         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
20884         Avoid unnecessary NILP.
20886 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
20888         Use ptrdiff_t instead of Lisp_Object for collision
20890         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
20891         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
20892         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
20893         integer (or Qnil if empty).  All callers changed.
20894         (larger_vecalloc): New static function.
20895         (larger_vector): Use it.
20896         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
20897         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
20898         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
20899         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
20900         * src/profiler.c (evict_lower_half, record_backtrace):
20901         -1, not nil, is now the convention for end of collision list.
20902         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
20903         of the free list.  Reallocate H->next last, in case other
20904         reallocations exhaust memory.
20905         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
20906         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
20907         ‘index’, which no longer contain nil.
20908         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
20910 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
20912         Hash table threshold is now float, not double
20914         Change default from 0.8 to 0.8125 so it fits in float without
20915         rounding glitches.
20916         * doc/lispref/hash.texi (Creating Hash):
20917         * doc/lispref/objects.texi (Hash Table Type):
20918         * etc/NEWS:
20919         Document change.
20920         * src/fns.c (make_hash_table, maybe_resize_hash_table)
20921         (Fmake_hash_table): Threshold is now float, not double.
20922         Be consistent about how this is rounded.
20923         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
20924         Change back to float, now that the other code rounds consistently.
20925         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
20927 2017-02-22  Juri Linkov  <juri@linkov.net>
20929         Avoid flicker in lazy-highlight by doing all updates without redisplay.
20931         * lisp/isearch.el (lazy-highlight-max-at-a-time):
20932         Change default value from 20 to nil to not trigger redisplay
20933         between updating iterations.
20934         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
20935         overlays when non-nil.
20936         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
20937         with non-nil second arg when the search string is not empty.
20938         Run timer with isearch-lazy-highlight-start instead of
20939         isearch-lazy-highlight-update.
20940         (isearch-lazy-highlight-start): New function. (Bug#25751)
20942 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
20944         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
20946         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
20948 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
20950         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
20952         which resulted in incomplete list of parents in one copy of the
20953         cl-structure-class class.
20955 2017-02-21  Glenn Morris  <rgm@gnu.org>
20957         Tweak recent custom-reevaluate-setting change
20959         * lisp/custom.el (custom-reevaluate-setting):
20960         Tweak previous change to avoid font-lock init issues.
20962 2017-02-21  Glenn Morris  <rgm@gnu.org>
20964         Ensure delayed-init custom variables get marked special
20966         * lisp/custom.el (custom-reevaluate-setting):
20967         If the variable has never been set, defvar it.  (Bug#25770)
20969 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
20971         Turn on lexical-binding in dunnet.el
20973         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
20974         byte compile warnings.
20976 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
20978         Make dunnet insertion functions n-ary
20980         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
20981         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
20982         any number of arguments.
20983         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
20984         (dun-take, dun-go, dun-move, dun-press, dun-score):
20985         (dun-compile-save-out, dun-do-logfile): Collect arguments from
20986         multiple insertion calls into less calls with more args.
20988 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
20990         message-goto-body-1: Fix regexp so as not to match multi-line
20992         * lisp/gnus/message.el (message-goto-body-1):
20993         Fix regexp so as not to match multi-line.
20995 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
20997         Simplify cl-get using `plist-member'
20999         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
21000         `plist-member' instead of explicit loop.
21001         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
21003 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21005         Verify xwidget USE_LSB_TAG assumption
21007         * src/xwidget.c (Fxwidget_webkit_execute_script):
21008         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
21010 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
21012         * src/insdel.c (make_gap): Improve comment.
21014 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21016         Do not use switch-to-buffer for working in a temp buffer
21018         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
21019         cf. Bug#22244.
21020         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
21021         with-temp-buffer instead.
21023 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21025         Make dun-room-shorts a defconst
21027         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
21028         initial value into the declaration.
21029         (dun-space-to-hyphen): Remove.
21031 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21033         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
21035         * src/xwidget.c (webkit_javascript_finished_cb)
21036         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
21037         integer.  This fix is just a hack; I’ll file a bug report about
21038         the underlying problem.
21040 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
21042         mm-decode.el: Simplify regexp used to search html meta tag
21044         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
21045         Simplify regexp used to search html meta tag.
21047 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
21049         mm-shr: Ignore coding-system `ascii'
21051         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
21053 2017-02-20  Tom Tromey  <tom@tromey.com>
21055         vc-log-outgoing fixes for git; add binding to vc-dir
21057         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
21058         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
21059         async execution.
21060         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
21061         log-incoming.
21062         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
21063         as remote-location argument.
21065 2017-02-20  Tom Tromey  <tom@tromey.com>
21067         Remove stale comments from vc-git and vc-hg
21069         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
21070         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
21072 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21074         Remove member clone
21076         * lisp/play/dunnet.el (dun-answer): Use member instead.
21077         (dun-members): Remove.
21079 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21081         Prefix global var
21083         * lisp/play/dunnet.el (room): Rename to dun-room.
21084         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
21085         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
21087 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21089         Replace nested ifs with cond
21091         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
21092         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
21093         and cond where appropriate.
21094         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
21095         (dun-take): Use null and dun-mprincl.
21096         (dun-inven-weight, dun-load-d): Reformat.
21097         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
21099 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
21101         Fix glitches in recent hash table changes
21103         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
21104         by using 0 rather than -1.
21105         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
21106         than a bitfield, for speed (the bitfield did not save space).
21107         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
21108         float, since the float caused unwanted rounding errors, e.g.,
21109         (hash-table-rehash-threshold (make-hash-table)) yielded
21110         0.800000011920929 instead of the correct 0.8.
21112 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
21114         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
21116 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
21118         Avoid aborts during loadup
21120         * src/emacs-module.c (syms_of_module):
21121         * src/image.c (xpm_make_color_table_h): Update calls to
21122         make_hash_table to adjust to a recent change in fns.c.
21123         * src/fns.c (make_hash_table):
21124         * src/lisp.h (make_hash_table): 4th arg is now of type double.
21126 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
21128         Rework connection local variables
21130         For connection local variables interface, `class' is renamed
21131         to `profile'.  All arguments `criteria' are a plist now.
21133         * doc/lispref/variables.texi (Connection Local Variables):
21134         Rewrite.
21136         * lisp/files-x.el (connection-local-profile-alist): Rename
21137         from `connection-local-class-alist'.  Adapt docstring.
21138         (connection-local-criteria-alist): Adapt docstring.
21139         (connection-local-normalize-criteria): New defun.
21140         (connection-local-get-profiles): Rename from
21141         `connection-local-get-classes'.  Rewrite.
21142         (connection-local-set-profiles): Rename from
21143         `connection-local-set-classes'.  Rewrite.
21144         (connection-local-get-profile-variables): Rename from
21145         `connection-local-get-class-variables'.  Rewrite.
21146         (connection-local-set-profile-variables): Rename from
21147         `connection-local-set-class-variables'.  Rewrite.
21148         (hack-connection-local-variables)
21149         (hack-connection-local-variables-apply)): Rewrite.
21150         (with-connection-local-profiles): Rename from
21151         `ith-connection-local-classes'.  Rewrite.
21153         * lisp/net/tramp.el (tramp-set-connection-local-variables):
21154         Compute criteria.
21156         * lisp/net/tramp-cmds.el (tramp-bug):
21157         Use `connection-local-profile-alist'.
21159         * test/lisp/files-x-tests.el (files-x-test--variables1)
21160         (files-x-test--variables2, files-x-test--variables3)
21161         (files-x-test--variables4, files-x-test--criteria1)
21162         (files-x-test--criteria2): Make them a defconst.
21163         (files-x-test--application)
21164         (files-x-test--another-application, files-x-test--protocol)
21165         (files-x-test--user, files-x-test--machine): New defconst.
21166         (files-x-test--criteria): New defvar.
21167         (files-x-test--criteria3): Remove.
21168         (files-x-test-connection-local-set-profile-variables):
21169         Rename from `files-x-test-connection-local-set-class-variables'.
21170         Rewrite.
21171         (files-x-test-connection-local-set-profiles): Rename from
21172         `files-x-test-connection-local-set-classes'.  Rewrite.
21173         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
21174         (files-x-test-with-connection-local-profiles): Rename from
21175         `files-x-test-with-connection-local-classes'.  Rewrite.
21177 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21179         Set up combination and random item location
21181         * lisp/play/dunnet.el (dun-combination): Make defconst.
21182         (tloc, tcomb): Remove.  Replace with a top-level form.
21184 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21186         Replace movement variables with an alist and accessor
21188         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
21189         (northwest, southwest, up, down, in, out): Remove.
21190         (dun-movement-alist): New constant.
21191         (dun-movement): New function.
21192         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
21193         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
21194         (dun-move, dun-special-move): Translate movement symbol to an
21195         enumeration.
21197 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21199         Change top-level setq forms to defvar or defconst
21201         Also collect some code onto fewer lines and reindent.
21202         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
21203         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
21204         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
21205         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
21206         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
21207         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
21208         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
21209         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
21210         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
21211         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
21212         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
21213         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
21214         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
21215         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
21216         declaration to use defvar or defconst.
21217         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
21218         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
21219         dun-verblist.  Those are now constants and the byte compiler doesn't
21220         allow defconsts in lambda lists.
21222 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21224         Move all dunnet globals up to the top
21226         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
21227         (dun-visited, dun-current-room, dun-exitf):
21228         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
21229         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
21230         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
21231         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
21232         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
21233         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
21234         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
21235         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
21236         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
21237         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
21238         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
21239         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
21240         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
21241         top of the file, before any uses.
21243 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
21245         Fix bug#25788
21247         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
21248         Do not load tramp.el just for "/".  (Bug#25788)
21250 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21252         Fix fringe bitmap initialization on MS-Windows
21254         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
21255         of fb->bits.  (Bug#25673)
21257 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
21259         Change type of `rehash_threshold' and `pure' fields in hash-tables
21261         * src/lisp.h (struct Lisp_Hash_Table): Change type of
21262         `rehash_threshold' and `pure' fields and move them after `count'.
21263         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
21264         (Fmake_hash_table, Fhash_table_rehash_threshold):
21265         * src/category.c (hash_get_category_set):
21266         * src/xterm.c (syms_of_xterm):
21267         * src/profiler.c (make_log):
21268         * src/print.c (print_object):
21269         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
21271 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
21273         Use 'char *FOO' instead of 'char* FOO'
21275 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21277         More json.el changes
21279         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
21280         (json-read-array): Just use = for char comparison.
21282 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
21284         * lisp/woman.el (woman): Fix docstring prefix arg description.
21286 2017-02-18  Alan Mackenzie  <acm@muc.de>
21288         Fix edebug-spec on c-lang-defvar.
21290         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
21291         optional documentation to be instrumented for edebug.
21293         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
21294         c-lang-defvar.
21295         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
21296         'dont-doc.
21298 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
21300         Lists used as plists now have to be an even length
21302         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
21303         (eww-process-text-input): Not here, either.
21305 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
21307         Unset `non-essential' in Tramp when not needed anymore
21309         * doc/misc/trampver.texi:
21310         * lisp/net/trampver.el: Change version to "2.3.2-pre".
21312         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
21313         Use `tramp-completion-mode-p'.
21315         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
21316         when file name doesn't match `tramp-completion-file-name-regexp'.
21318 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21320         Automatically regenerate emacs.1 and *.rc files
21322         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
21323         non-Makefile files produced by config.status.
21324         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
21325         their targets are regenerated when the source changes.
21327 2017-02-18  Alan Mackenzie  <acm@muc.de>
21329         Set the syntax table in AWK Mode.
21331         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
21332         It fixes bug #25722.
21334         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
21336 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21338         Mention "editor" in Emacs man page header
21340         * doc/man/emacs.1.in: Mention "editor" in the header line.
21341         (Bug#25771, Bug#25779)
21343 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
21345         Fix Turkish language environment setup
21347         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
21348         language setup.  (Bug#25763)
21350 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
21352         Support 24-bit direct colors on text terminals
21354         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
21355         foreground and background functions are present in terminal type
21356         definition.
21357         * src/tparam.h: Define prototype for tigetstr.
21359         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
21360         index to pixel value on 16.7M color terminals.
21361         (tty-color-24bit): New function to convert color palette index to
21362         pixel value on 16.7M color terminals.
21363         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
21364         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
21365         TTY colors on 16.7M color terminals.
21367         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
21368         enable direct color TTY mode.
21369         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
21371 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
21373         Remove unused TN_max_pairs field
21375         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
21376         describing maximum number of terminal background/foreground color pairs.
21377         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
21378         (init_tty): Remove references to TN_max_pairs.
21380 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21382         Improve documentation of query-replace-from-to-separator
21384         * doc/emacs/search.texi (Query Replace): Document the meaning of
21385         the nil value of query-replace-from-to-separator.  (Bug#25482)
21387 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21389         Document problems with nerd-fonts
21391         * etc/PROBLEMS (fonts): Describe the potential problems with
21392         nerd-fonts that cause slow display.  (Bug#25697)
21394 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21396         Improve commentary for a recent change in keyboard.c
21398         * src/keyboard.c (Fset__this_command_keys): Add a comment about
21399         the magic 248 value.  (Bug#25612)
21401 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21403         Avoid infloop in rect.el
21405         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
21406         with argument N whose absolute value is greater than 1.  (Bug#25773)
21408 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21410         Remove annoying warnings about let-binding
21412         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
21413         Remove warnings about making symbols local while let-bound.
21414         (Bug#25561)
21416 2017-02-18  Hong Xu  <hong@topbug.net>
21418         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
21420         * flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
21421         functionp instead of fboundp on
21422         flyspell-generic-check-word-predicate (Bug#25765).
21424 2017-02-18  Glenn Morris  <rgm@gnu.org>
21426         Remove the build number from emacs-version variable
21428         It's a largely internal detail that can confuse users.  (Bug#25590)
21429         * lisp/version.el (emacs-build-number): New constant.
21430         (emacs-version): Use emacs-build-number.
21431         * lisp/loadup.el (top-level): When dumping, increment
21432         emacs-build-number rather than emacs-version.
21433         * src/emacs.c (emacs-version): Doc fix.
21434         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
21435         Mention emacs-build-number.
21436         * lisp/gnus/gnus-util.el (gnus-emacs-version):
21437         * lisp/mail/emacsbug.el (report-emacs-bug):
21438         * admin/admin.el (set-version): Update for emacs-version change.
21440 2017-02-18  Glenn Morris  <rgm@gnu.org>
21442         Ensure that user-mail-address always has a value
21444         * lisp/startup.el (user-mail-address): Initialize in the normal way.
21445         (command-line): Reset user-mail-address if needed using
21446         standard custom machinery.
21447         * lisp/mail/feedmail.el (feedmail-fiddle-from):
21448         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
21449         * lisp/mail/rmailsum.el (rmail-header-summary):
21450         Simplify now that user-mail-address is always set.
21452 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
21454         Turn on lexical-binding in ruby-mode
21456         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
21457         (ruby-font-lock-syntax-table): Use make-syntax-table.
21458         (ruby-mode): 'define-derived-mode' writes the keys for us.
21460 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
21462         Turn on lexical-binding in elint.el
21464         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
21465         (elint-running, elint-current-pos): Move these dynamic vars to toward
21466         the top of the file.
21467         (elint-check-quote-form): Ignore unused argument.
21468         (elint-check-conditional-form): Remove unused binding.
21470 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
21472         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
21474 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
21476         Enable erc-accidental-paste-threshold-seconds by default
21478         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
21479         default to 0.2 (Bug#25709).
21481 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
21483         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
21485         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
21486         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
21487         one created with ‘make extraclean’), see
21488         <http://hydra.nixos.org/build/48774928>.
21490         The failure was caused by characters.el trying to read Unicode
21491         property tables which aren’t available so early in the build process.
21493         Wrap the part that requires Unicode property tables in a condition
21494         checking if those are available.  If they aren’t they case and syntax
21495         tables won’t be fully set but later on, the characters.el file will be
21496         evaluated again and this time with Unicode properties available so
21497         final Emacs ends up with the exact same case and syntax tables.
21499 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
21501         mm-add-meta-html-tag: Improve regexp
21503         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
21504         Improve regexp to search html meta tag.
21506 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
21508         mm-shr: Prefer charset specified in html meta tag
21510         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
21511         meta tag than mail-parse-charset in the case there is no charset spec
21512         in MIME header.
21514 2017-02-17  Glenn Morris  <rgm@gnu.org>
21516         Stop duplicating some custom-types in message.el
21518         * lisp/gnus/message.el (user-mail-address, user-full-name):
21519         No need to re-specify custom-type.
21521 2017-02-17  Glenn Morris  <rgm@gnu.org>
21523         Whitespace trivia in dunnet.el
21525         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
21526         (dun-rlogin-endgame): Whitespace trivia.
21528 2017-02-17  Glenn Morris  <rgm@gnu.org>
21530         Explicit error on changing case of negative integers
21532         * src/casefiddle.c (casify_object): Reject negative integers:
21533         Emacs characters are positive integers.  (Bug#25684)
21535 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
21537         Fix buffers update in vc-retrieve-tag
21539         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
21540         `repository', use the repository root and pass it to
21541         vc-resynch-buffer (bug#25714).
21543 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21545         * src/buffer.h: Fix indenting.
21547 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21549         Add sanity checks for Bswitch hash tables
21551         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
21552         Check that operand is a hash table and hashes to ints.
21554 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21556         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
21558 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
21560         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
21562         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
21563           redundant operations while calculating the correct jump addresses
21564           from TAGs in jump tables.
21566 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
21568         Minor changes in json.el
21570         * lisp/json.el (json-advance): Simpler docstring.
21571         (json-read-escaped-char): Use xdigit subform in rx expression.
21572         (json-read-string): Just use = for char comparison.
21574 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
21576         Don't expand body inside a let-binding when there are no bindings
21578         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
21579         is non-nil.
21581 2017-02-16  Glenn Morris  <rgm@gnu.org>
21583         Handle user-mail-address being the empty string
21585         * lisp/mail/feedmail.el (feedmail-fiddle-from):
21586         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
21587         * lisp/mail/rmailsum.el (rmail-header-summary):
21588         Belated update for 2002-09-29 startup.el change, 680ebfa, where
21589         the value of user-mail-address during initialization was changed
21590         from nil to the empty string.
21592 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
21594         Continue to fix bug#25607
21596         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
21597         (ido-file-name-all-completions-1): Do not bind `non-essential'.
21599         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
21600         Improve autoloaded version.
21601         (tramp-completion-file-name-handler): Remove old compat code.
21602         Check only for `tramp-completion-mode-p'.
21603         (tramp-completion-mode-p): Autoload.  Do not check any longer
21604         for `last-input-event'.
21605         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
21607 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
21609         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
21611         A compatibility digraph characters, such as Dž, are neither upper- nor
21612         lower-case.  At the moment however, those are reported as upper-case¹
21613         despite the fact that they change when upper-cased.
21615         Stop checking if a character is upper-case before trying to up-case it
21616         so that title-case characters are handled correctly.  This fixes one of
21617         the issues mentioned in bug#24603.
21619         ¹ Because they change when converted to lower-case.  Notice an asymmetry
21620           in that for a character to be considered lower-case it must not be
21621           upper-case (plus the usual condition of changing when upper-cased).
21623         * src/buffer.h (upcase1): Delete.
21624         (upcase): Change to upcase character unconditionally just like downcase
21625         does it.  This is what upcase1 was.
21627         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
21628         of upcase1 and don’t check !uppercasep(x) before calling upcase.
21630         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
21631         downcase(x) and see if it changed.
21633         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
21634         casefiddle-tests-casing): Update test cases which are now passing.
21636 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
21638         Generate upcase and downcase tables from Unicode data  (bug#24603)
21640         Use Unicode data to generate case tables instead of mostly repeating
21641         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
21642         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
21644         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
21645         changes to syntax table and case tables introduced by this commit.
21647         * lisp/international/characters.el: Remove case-pairs defined with
21648         explicit Lisp code and instead use Unicode character properties.
21650         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
21651         casefiddle-tests-casing): Update test cases which are now working
21652         as they should.
21654 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
21656         Add tests for casefiddle.c  (bug#24603)
21658         Fixes cases marked FIXME upcoming in followup commits.
21660         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
21661         casefiddle-tests-case-table, casefiddle-tests-casing-character,
21662         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
21663         casefiddle-tests-casing-byte8-with-changes): New tests.
21664         (casefiddle-tests--test-casing): New helper function for runnig
21665         some of the tests.
21667 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
21669         oldXMenu: add missing #include <string.h>
21671         Some of the files in oldXMenu use functions from string.h without
21672         including that header which results in compile warnings:
21674                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
21675                 ChgPane.c:46:20: warning: incompatible implicit declaration of
21676                         built-in function ‘strlen’
21677                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
21678                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
21679                         function ‘strlen’
21680                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
21681                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
21682                 InsPane.c:65:20: warning: incompatible implicit declaration of
21683                         built-in function ‘strlen’
21684                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
21685                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
21686                         function ‘strlen’
21687                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
21689         Add the necessary ‘#include <string.h>’.
21691         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
21692         oldXMenu/InsSel.c: add missing #include <string.h>
21694 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
21696         Fixup recent rmail patch
21698         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
21700 2017-02-15  Richard Stallman  <rms@gnu.org>
21702         Rmail fix
21704         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
21705         as element 4 of the value.
21706         (rmail-epa-decrypt): Take the text to insert from that element.
21708 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
21710         bytecomp-tests.el: Store all test forms in one constant.
21712         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
21713         in a single constant (byte-opt-testsuite-arith-data), add new forms
21714         which generate lapcode with adjacent/redundant tags.
21716 2017-02-15  Glenn Morris  <rgm@gnu.org>
21718         Small lispref edit
21720         * doc/lispref/os.texi (User Identification):
21721         Remove extraneous detail about user-mail-address.
21723 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
21725         Document fill-separate-heterogeneous-words-with-space (bug#25685)
21727         * doc/lispref/text.texi (Filling):
21728         Document fill-separate-heterogeneous-words-with-space (bug#25685).
21730 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
21732         Test comment-multi-line = nil auto fill case too
21734         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
21735         `comment-multi-line' both nil and non-nil.
21736         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
21737         boolean.
21738         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
21740 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
21742         Don't delete leading and trailing space from CJK word (bug#25685)
21744         * lisp/textmodes/fill.el (fill-delete-newlines):
21745         Don't delete leading and trailing space from CJK word.
21746         (fill-separate-heterogeneous-words-with-space):
21747         New user option that controls it (bug#25685).
21749 2017-02-15  Juri Linkov  <juri@linkov.net>
21751         ‘M-s w RET word C-s’ repeats incremental search.
21753         * lisp/isearch.el (isearch-new-nonincremental): New variable.
21754         (with-isearch-suspended): Bind isearch-new-nonincremental to
21755         isearch-nonincremental, and restore it afterwards.
21756         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
21757         Set isearch-new-nonincremental to nil.  (Bug#25562)
21759 2017-02-14  Tom Tromey  <tom@tromey.com>
21761         Make vc-git detect conflict state for vc-dir
21763         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
21764         (vc-git-dir-status-update-file): New function.
21765         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
21766         vc-git-dir-status-state; add 'ls-files-conflict state.
21767         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
21769 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
21771         byte-opt: Replace merged tags in jump tables too. (bug#25716)
21773         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
21774           adjacent tags, make sure that the old tag is replaced in all jump
21775           tables, if any. This fixes the bytecode VM jumping to the wrong
21776           address in compiled cond forms where the body of a clause was a loop
21777           of any sort.
21779 2017-02-14  Glenn Morris  <rgm@gnu.org>
21781         Remove overly broad element from default mail-dont-reply-to-names
21783         * lisp/mail/mail-utils.el (mail-dont-reply-to):
21784         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
21785         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
21786         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
21787         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
21789 2017-02-14  Juri Linkov  <juri@linkov.net>
21791         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
21793 2017-02-13  Arash Esbati  <arash@gnu.org>
21795         Match all characters in optional argument of \documentclass
21797         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
21798         characters in optional argument containing name of the main file.
21800 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
21802         Merge branch 'master' into feature/byte-switch
21804 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
21806         Fix non-ASCII text encoding (bug#25658)
21808         * lisp/gnus/mm-bodies.el (mm-encode-body):
21809         Fix non-ASCII text encoding (bug#25658).
21811 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
21813         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
21815 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
21817         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
21819 2017-02-13  Glenn Morris  <rgm@gnu.org>
21821         Fix recent bootstrap issue by moving string-to-list
21823         * lisp/international/mule-util.el (string-to-list, string-to-vector):
21824         Move from here...
21825         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
21826         The implementation is trivial and at least string-to-list
21827         has ended up being needed early during bootstrap.
21829 2017-02-13  Glenn Morris  <rgm@gnu.org>
21831         Doc fixes related to mail-host-address
21833         * lisp/startup.el (mail-host-address): Doc fix.
21834         * doc/lispref/os.texi (System Environment):
21835         Remove extraneous details of mail-host-address.
21837 2017-02-13  Glenn Morris  <rgm@gnu.org>
21839         Simplify time-stamp mail host usage
21841         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
21842         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
21844 2017-02-13  Glenn Morris  <rgm@gnu.org>
21846         Doc fix for vhdl-mode re mail-host-address
21848         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
21849         (mail-host-address): Do not add to vhdl-related custom group,
21850         since vhdl-template-replace-header-keywords doesn't use it.
21852 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
21854         Substitute leading $HOME/ in xdg-user-dirs
21856         * lisp/xdg.el (xdg--substitute-home-env): New function.
21857         (xdg--user-dirs-parse-line): Use it.
21858         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
21860 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
21862         * lisp/buff-menu.el: Turn on lexical-binding.
21864 2017-02-13  Juri Linkov  <juri@linkov.net>
21866         * lisp/replace.el (query-replace-from-to-separator): Move propertize
21868         and char-displayable-p test to query-replace-read-from.
21869         Add choice nil to disable this feature.
21870         (query-replace-read-from): Don't reevaluate custom setting.
21871         Use char-displayable-p to test the first non-whitespace character
21872         in query-replace-from-to-separator, use " -> " when fails.
21873         Add prompt for the case when separator is nil but
21874         query-replace-defaults is non-nil.
21875         Remove unused test for regexp-flag.
21876         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
21878 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
21880         Convert more uses of `looking-at' to `following-char'
21882         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
21883         (commit 91478f46238a) with more of the same.
21885         * lisp/bookmark.el (bookmark-send-edited-annotation):
21886           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
21887           with char comparisons using following-char.
21889 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21891         Fix typos in tests for lax-plist-get etc.
21893         Problem reported by Eli Zaretskii (Bug#25606#62).
21894         * test/src/fns-tests.el (test-cycle-lax-plist-get)
21895         (test-cycle-plist-put, test-cycle-lax-plist-put):
21896         Fix tests to match behavior.
21898 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
21900         Fix bug#25607
21902         * lisp/net/tramp.el (tramp-completion-file-name-handler):
21903         Improve autoloaded version.
21904         (tramp-autoload-file-name-handler): Avoid recursive load.
21905         (tramp-completion-handle-expand-file-name): Handle empty NAME.
21906         (Bug#25607)
21908 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
21910         Remove server-buffer-clients string from minor-mode-alist
21912         * lisp/server.el: Don't put an element for server-buffer-clients into
21913         minor-mode-alist. (Bug#20201)
21915 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
21917         Nix some useless uses of looking-at, looking-back
21919         * lisp/allout.el (allout-kill-topic):
21920         (allout-next-topic-pending-encryption):
21921         * lisp/bookmark.el (bookmark-kill-line):
21922         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
21923         * lisp/cus-theme.el (custom-theme-write-variables):
21924         (custom-theme-write-faces):
21925         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
21926         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
21927         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
21928         (checkdoc-interactive-ispell-loop):
21929         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
21930         (checkdoc-this-string-valid-engine):
21931         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
21932         * lisp/emulation/viper-cmd.el (viper-backward-indent):
21933         * lisp/image-dired.el (image-dired-delete-char):
21934         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
21935         looking-back with char comparisons using following-char, preceding-char.
21937 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
21939         Clarify what is the "cursor"
21941         * doc/lispref/windows.texi (Window Point): Clarify the notion of
21942         "cursor".
21944 2017-02-11  Tom Tromey  <tom@tromey.com>
21946         Recognize JS regexp literals more correctly
21948         Bug#25529
21949         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
21950         constant.
21951         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
21952         (js--syntax-propertize-regexp-syntax-table): Remove.
21953         (js-syntax-propertize): Update.
21954         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
21955         New test.
21957 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
21959         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
21961         This avoids using XUINT every time while comparing it with
21962         HASH_HASH (h, i), replacing it with EQ.
21964 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
21966         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
21968 2017-02-11  Tom Tromey  <tom@tromey.com>
21970         Fix bug in css--mdn-find-symbol
21972         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
21973         before skipping word characters.
21974         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
21975         regression test.
21977 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
21979         src/bytecode.c: Add optional sanity check for jump tables.
21981         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
21982           check that the jump table's size is equal to it's count.
21984 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
21986         Merge branch 'master' into feature/byte-switch
21988         * src/bytecode.c: Refactor to follow GNU coding standards
21990 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
21992         Fix handling of XBM images on MS-Windows
21994         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
21995         'nbytes' when inverting XBM data bits.  (Bug#25661)
21997 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
21999         Fix handling of PBM data
22001         * src/image.c (pbm_load): Handle PBM data with no blanks between
22002         individual pixel values correctly.  (Bug#25660)
22004 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
22006         Fix warnings in debug tracing code
22008         * src/xdisp.c (dump_glyph, dump_glyph_string):
22009         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
22010         specifiers to match signedness.
22012 2017-02-10  Sam Steingold  <sds@gnu.org>
22014         Extract grep-find-ignored-directories processing from rgrep-default-command
22016         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
22017         Some Emacs packages use `grep-find-ignored-directories' to ignore some
22018         directories, so will use this function instead of custom code.
22019         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
22021 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
22023         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
22025         * src/bytecode.c: (exec_byte_code) While linear searching the jump
22026           table, compare the value's hash table first to avoid calling
22027           h->test.cmpfn every time.
22029 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
22031         Fix a few integer-overflow glitches
22033         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
22034         * src/dispextern.h (struct composition_it.rule_idx):
22035         * src/keyboard.c (Fset__this_command_keys):
22036         * src/xwidget.c (webkit_js_to_lisp):
22037         Don’t assume object sizes fit in ‘int’.
22038         * src/xwidget.c (Fxwidget_resize):
22039         Don’t assume Emacs integers fit in ‘int’.
22041 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
22043         Fix a bug with displaying an image after a TAB
22045         * src/xdisp.c (display_line): Handle TAB at end of screen line
22046         specially only when we are displaying characters.  (Bug#25662)
22048 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
22050         Improve commentary in lisp.h
22052         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
22053         object is discouraged.
22055 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
22057         Move cyclic tests to fns-tests.el
22059         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
22060         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
22061         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
22062         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
22063         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
22064         (test-cycle-plist-get, test-cycle-lax-plist-get)
22065         (test-cycle-plist-member, test-cycle-plist-put)
22066         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
22067         New tests.
22068         * test/manual/cyclic-tests.el: File deleted.
22070 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
22072         Fix instrumenting code with propertized strings in Edebug
22074         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
22075         'read' to decide what is and isn't a syntax error.  (Bug#25068)
22077 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
22079         Improve fontification in bat-mode
22081         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
22082         word and symbol constituents when looking for variable names
22083         to fontify; also, correct the syntax table and mark the equal
22084         sign (=) character as punctuation.  Improve fontification
22085         accuracy of iteration/positional variables.
22086         (bat-mode): Set comment-start-skip.  (Bug#25541)
22088         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
22089         bat-mode.el.
22091 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
22093         Restore special setting of this-command-keys by M-x
22095         It was lost when execute-extended-command was reimplemented in Lisp.
22097         * src/keyboard.c (Fset__this_command_keys): New function.
22098         (syms_of_keyboard): Defsubr it.
22100         * lisp/simple.el (execute-extended-command): Set this-command-keys
22101         as novice.el expects.  (Bug#25612)
22103 2017-02-09  Juri Linkov  <juri@linkov.net>
22105         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
22107         to t to display "Pending" in the search prompt for lax
22108         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
22109         when 'bound' is non-nil.
22110         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
22111         at the beginning of regexp (bug#22589).
22113         * lisp/info.el (Info-isearch-search):
22114         Use isearch--lax-regexp-function-p.
22116         * doc/emacs/search.texi (Word Search, Symbol Search):
22117         Mention "Pending" prompt for lax word/symbol search.
22119 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
22121         src/bytecode.c (exec_byte_code): Remove unneeded assert.
22123         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
22125 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
22127         bytecode.c (exec_byte_code): don't check hash code in linear search.
22129         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
22130           not nil when linear scanning the jump table. Hash tables for are
22131           declared with :size as the exact number of cases, so each entry i
22132           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
22133           check.
22135 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
22137         Ibuffer: Update mode documentation
22139         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
22141 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
22143         Fix environment variable for xdg-data-dirs
22145         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
22147 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
22149         Ibuffer: Erase output buffer before shell commands
22151         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
22152         BEFORE and AFTER; they are forms to run before/after the operation.
22153         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
22154         New defun; if shell-command-dont-erase-buffer is nil, then
22155         erase shell command output buffer.
22156         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
22158 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
22160         Ibuffer: Don't truncate shell command output
22162         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
22163         (ibuffer-do-shell-command-pipe-replace)
22164         Use 'call-shell-region' (Bug#22679).
22165         (ibuffer-do-shell-command-file): Use call-process-shell-command.
22166         If FILE, the file that the buffer object is visiting,
22167         exists and the buffer is up-to-date, then use
22168         FILE instead of creating a temporary file (Bug#22679).
22170 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
22172         Improve byte-switch execution.
22174         * lisp/emacs-lisp/byte-opt.el,
22175           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
22176           (byte-compile-lapcode): Calculate the actual jump address while
22177           compiling, store it in the jump table.
22179         * src/bytecode.c: Jump to the looked up value directly, do a linear
22180           search when the number of elements is <= 5.
22182 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
22184         Make sure eshell pipelines don't drop data
22186         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
22187         handling output of the process, make sure to close the pipes only later,
22188         so that the next process in the pipeline recieves EOF only after getting
22189         all its input (Bug#25549).
22191 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
22193         Make mm-shr use mail-parse-charset by default
22195         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
22196         This helps an html message with no charset spec to be decoded.
22198 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
22200         describe-char: unambiguous name for inserting ASCII 7
22202         * lisp/descr-text.el (describe-char): Make the input
22203         suggestion for inserting ASCII character 7 by name use the
22204         unambiguous name "BELL (BEL)" (bug#25641).
22206 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
22208         Modify suppressing `vc-refresh-state' in filenotify-tests.el
22210         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
22211         Use an advice rather than an alias for suppressing `vc-refresh-state'.
22213 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
22215         Disable native completion for ipython (Bug#25067)
22217         * lisp/progmodes/python.el:
22218         (python-shell-completion-native-disabled-interpreters): Add "ipython".
22220 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
22222         Suppress undesired error messages in filenotify-tests.el
22224         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
22225         Suppress `vc-refresh-state', it produces undesired error messages.
22227 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
22229         Fix a typo in ada-mode manual
22231         * doc/misc/ada-mode.texi (Project file variables): Add a missing
22232         right bracket.  Reported by Jean-Christophe Helary
22233         <jean.christophe.helary@gmail.com>.
22235 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
22237         Ensure that Gnus bugs show up in the Emacs tracker
22239         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
22240         package spec.
22242 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
22244         Revert "Don't tag Gnus bugs with "gnus""
22246         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
22248         The debbugs syntax requires a package name
22250 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
22252         Add tests for checking byte-switch code.
22254         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
22255           test byte-switch bytecode.
22257 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
22259         Add xdg library
22261         * etc/NEWS: Mention new library.
22262         * lisp/xdg.el: New file.
22264 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
22266         Do not trick info/dir’s timestamp
22268         * Makefile.in (${srcdir}/info/dir): When making this file, do not
22269         do anything special about its timestamp.  Previously this rule
22270         used move-if-change, which meant that this file’s timestamp could
22271         end up being older than the files it depends on, and this caused
22272         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
22273         now that ‘make-dist’ invokes ‘make --question info’.
22275 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
22277         Make FOR_EACH_TAIL more like other FOR_EACH macros
22279         See comments by Stefan Monnier in:
22280         http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00181.html
22281         and by Eli Zaretskii in:
22282         http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00207.html
22283         * src/fns.c (internal_equal): Do not bypass check for depth
22284         overflow when tail-recursing via a dotted list tail or an overlay
22285         plist, to avoid a rare infloop.
22286         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
22287         arg, and update it at each iteration, rather than have callers
22288         access it.tail.  All callers changed.
22289         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
22290         the caller’s responsibility.  All callers changed.
22291         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
22292         (struct for_each_tail_internal.tail): Remove; no longer needed.
22293         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
22294         arg each time through the loop.  All callers changed.
22296 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
22298         Port to clang 3.8.0
22300         It does not allow a for-loop's control var to be an anonymous struct.
22301         * src/lisp.h (struct for_each_tail_internal): New type.
22302         (FOR_EACH_TAIL_INTERNAL): Use it.
22304 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
22306         Add cyclic-list tests
22308         * test/manual/cycle-tests.el: New file (Bug#25606).
22310 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
22312         FOR_EACH_TAIL now checks for quit
22314         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
22315         maybe_quit are unnecessary in practice, Eli was not convinced
22316         that the calls are unnecessary.
22317         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
22318         Call maybe_quit every so often.
22319         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
22321 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
22323         Signal list cycles in ‘length’ etc.
22325         Use macros like FOR_EACH_TAIL instead of maybe_quit to
22326         catch list cycles automatically instead of relying on the
22327         user becoming impatient and typing C-g (Bug#25606).
22328         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
22329         (Frassoc, Fdelete, Freverse):
22330         Use FOR_EACH_TAIL instead of maybe_quit.
22331         (Fnreverse): Use simple EQ to check for circular list instead
22332         of rarely_quit, as this suffices in this unusual case.
22333         (Fplist_put, Flax_plist_put, Flax_plist_put):
22334         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
22335         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
22336         of by-hand tail recursion that did not catch cycles.
22337         * src/fns.c (Fsafe_length, Fplist_get):
22338         * src/xdisp.c (display_mode_element):
22339         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
22340         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
22341         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
22342         fancier versions are no longer needed.
22343         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
22344         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
22345         mostly taken from FOR_EACH_TAIL.
22346         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
22348 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
22350         Simplify use of FOR_EACH_TAIL
22352         * src/data.c (circular_list): New function.
22353         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
22354         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
22355         to speed things up a bit on typical hosts with optimization.
22356         All uses changed (Bug#25605).
22358 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
22360         * lisp/textmodes/css-mode.el: Require subr-x at compile time
22362 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
22364         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
22366         * doc/lispref/nonascii.texi (Text Representations): Clarify that
22367         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
22368         'filepos-to-bufferpos' can lead to expensive and slow processing.
22370         * lisp/international/mule-util.el (filepos-to-bufferpos)
22371         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
22373 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22375         Merge remote-tracking branch 'origin/master' into feature/byte-switch
22377 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22379         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
22381         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
22382           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
22383           make sure that obj1/obj2 can be compared with `eq'.
22385 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22387         * byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
22389 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22391         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
22393         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
22394           Restore value of byte-compile-depth after emitting a jump to a tag
22395           in a jump table, or default/done tags.
22396           Set the depth of final tags for byte-switch to nil after emitting
22397           any jumps to them.
22399 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22401         byte-opt.el: Replace jump tables while decompiling correctly.
22403         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
22404           Don't make a copy of the constant vector, as it isn't used with
22405           the decompiled lapcode.
22406           Make sure that the correct lapcode pair/list is being modified while
22407           replacing the jump table.
22409 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22411         bytecomp.el: Don't store non-keyword symbols in jump-tables.
22413         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
22414           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
22415           table can only be used when comparing variables with constant values.
22417 2017-02-04  Tom Tromey  <tom@tromey.com>
22419         typo fix
22421         (css--colon-inside-selector-p): Fix typo in docstring.
22423 2017-02-04  Tom Tromey  <tom@tromey.com>
22425         Set comment-multi-line in js-mode
22427         Bug#6806:
22428         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
22429         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
22431 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
22433         * test/manual/indent/scss-mode.scss: Fix indentation
22435 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
22437         Fix indentation of multiline CSS property values
22439         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
22440         to properties higher precedence.
22441         (css--colon-inside-selector-p, css--colon-inside-funcall): New
22442         functions for helping SMIE during tokenization.
22443         (css-smie--forward-token, css-smie--backward-token): Distinguish
22444         colons belonging to properties from other colons.
22446         * test/manual/indent/css-mode.css: Add tests for the changes above.
22448         * test/manual/indent/scss-mode.scss: Ditto.
22450 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
22452         Add tests for lisp/kmacro.el
22454         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
22456 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
22458         Fix autorevert-tests on MS-Windows
22460         * test/lisp/autorevert-tests.el
22461         (auto-revert-test02-auto-revert-deleted-file): Don't check that
22462         auto-revert-use-notify was reset to nil on w32.
22464 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
22466         New macro 'ert-with-message-capture'
22468         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
22469         (Bug#25158)
22471         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
22472         (auto-revert-test00-auto-revert-mode)
22473         (auto-revert-test01-auto-revert-several-files)
22474         (auto-revert-test02-auto-revert-deleted-file)
22475         (auto-revert-test03-auto-revert-tail-mode)
22476         (auto-revert-test04-auto-revert-mode-dired):
22477         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
22478         ert-with-message-capture.
22480 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
22482         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
22484         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
22485         'declare' form.  (Bug#24722)
22487 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
22489         Fix a syntax error when evaluating pcase.el under Edebug
22491         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
22492         with an explicit 'put' form.  Suggested by Gemini Lasswell
22493         <gazally@runbox.com>.  (Bug#24717)
22495 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
22496             Eli Zaretskii  <eliz@gnu.org>
22498         Change edebug-max-depth from defconst to defcustom
22500         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
22501         (Bug#24713)
22503         * etc/NEWS: Mention edebug-max-depth.
22505         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
22506         edebug-max-depth and index it.  Add cross-references for
22507         max-lisp-eval-depth and max-specpdl-size.
22509 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
22511         Support options with embedded whitespace in 'dired-listing-switches'
22513         * lisp/dired.el (dired-listing-switches): Document how to quote
22514         options with embedded whitespace.
22516         * lisp/files.el (insert-directory): Use split-string-and-unquote
22517         to support dired-listing-switches that specify command-line
22518         options with embedded spaces.  (Bug#25485)
22520 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
22521             Noam Postavsky  <npostavs@users.sourceforge.net>
22523         Add tests for lisp/emacs-lisp/testcover.el
22525         * test/lisp/emacs-lisp/testcover-tests.el: New file.
22526         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
22528 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
22530         Document 'save-some-buffers-default-predicate'
22532         * doc/lispref/files.texi (Saving Buffers):
22533         * doc/emacs/files.texi (Save Commands): Document
22534         save-some-buffers-default-predicate.
22536 2017-02-04  Richard Stallman  <rms@gnu.org>
22538         New defcustom 'save-some-buffers-default-predicate'
22540         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
22541         (save-some-buffers): Use it when PRED is nil or omitted.
22543 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
22545         Rename to if-let* and when-let*
22547         Make the existing if-let and when-let aliases.
22548         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
22549         docstrings, incorporating that from let* and the existing if-let.
22550         (if-let, when-let, and-let*): Alias them.
22552 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
22554         Revert "Use maphash instead of cl-loop."
22556         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
22558 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
22560         Bump Emacs version to 25.2 RC1
22562         * README:
22563         * configure.ac:
22564         * msdos/sed2v2.inp:
22565         * nt/README.W32: Bump Emacs version.
22566         * lisp/ldefs-boot.el: Update.
22568 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
22570         * admin/make-tarball.txt: Add documentation regarding the release banner.
22572 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
22574         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
22576 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
22578         Re-port alloc.c to Solaris sparc and simplify
22580         alloc.c had bitrotted a bit, and used an undefined symbol
22581         stack_base when Emacs was built on Solaris sparc, leading to
22582         compilation failures.  Also, code related to __builtin_unwind_init
22583         was unnecessarily duplicated.  Fix the bitrot and remove some
22584         duplication.
22585         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
22586         is never defined.
22587         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
22588         Define a no-op dummy, to simplify use.
22589         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
22590         than in the caller, to simplify use.
22591         (stacktop_sentry): New type.
22592         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
22593         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
22594         (flush_stack_call_func, Fgarbage_collect): Use it.
22595         (init_alloc): Omit unnecessary initialization.
22596         After dumping, Emacs need not re-test setjmp.
22598 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
22600         Add tests for scrolling
22602         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
22604 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
22606         Fix scrolling with partial lines
22608         * src/xdisp.c (partial_line_height): New function.
22609         (try_scrolling):
22610         * src/window.c (window_scroll_pixel_based): Use it for calculating the
22611         pixel scroll margin correctly in a window with partial lines.
22613 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
22615         Make limit on scroll-margin variable
22617         * src/xdisp.c (maximum-scroll-margin): New variable.
22618         * lisp/cus-start.el: Make it customizable.
22619         * etc/NEWS: Mention it.
22620         * doc/emacs/display.texi (Auto Scrolling):
22621         * doc/lispref/windows.texi (Textual Scrolling): Document it.
22622         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
22623         division by 4 (Bug #5718).
22625 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
22627         Don't count mode line for scroll-margin limit
22629         * src/window.c (window_scroll_margin): Use window_box_height to avoid
22630         counting header line, scrollbars for scroll-margin limit (Bug #5718).
22632 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
22634         Refactor uses of scroll_margin to a function
22636         Its effective range needs to be clamped between 0 and (window height /
22637         4), so it's better to have this constraint in a single place.
22639         * src/window.c (window_scroll_margin): New function.
22640         (window_scroll_pixel_based, window_scroll_line_based):
22641         (Frecenter, Fmove_to_window_line):
22642         * src/xdisp.c (try_scrolling, try_cursor_movement):
22643         (redisplay_window, try_window, try_window_id): Use it.
22645 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
22647         (xref-collect-matches): Use '-E' together with '-e'
22649         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
22650         together with '-e', as suggested by Noam Postavsky
22651         (http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00780.html).
22653 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
22655         Pacify Oracle Studio 12.5
22657         * src/emacs.c (main): Do not silently convert char * to bool.
22659 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
22661         Fix lisp.h underparenthesization
22663         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
22664         Parenthesize compound literals that are function call args.
22665         Although this does not fix any bugs, it is the proper style for
22666         macro parenthesization as it means this code will continue to
22667         work even if make_lisp_ptr is changed to a macro.
22669 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
22671         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
22673         (doc-view-revert-buffer): Silence overflow warnings.
22675 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
22677         Merge from gnulib
22679         2017-01-30 Port to PGI 16.10 x86-64
22680         2017-01-20 time_rz: fix comment typo
22681         2017-01-14 strftime: %z is -00 if unknown
22682         This incorporates:
22683         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
22684         * lib/time-internal.h, lib/verify.h:
22685         Copy from gnulib.
22687 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
22689         Check if there are hunks before kill or refine a hunk
22691         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
22692         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
22694 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
22696         Ignore error after kill last file or hunk
22698         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
22699         Ignore error after kill last hunk (Bug#25570).
22700         (diff-file-kill): Idem.
22702 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
22704         Show current line highlighted in *Occur* buffer
22706         * lisp/replace.el (list-matching-lines-current-line-face)
22707         (list-matching-lines-jump-to-current-line): New user options.
22708         (occur--orig-line, occur--orig-line-str): New variables.
22709         (occur, occur-engine): Use them.
22710         (occur--final-pos): New variable.
22711         (occur-1): Use it.
22712         (occur-engine): Idem.
22713         Show the current line with 'list-matching-lines-current-line-face'.
22714         Set point on the first matching line after the current one.
22715         * etc/NEWS: Add entry for the new option.
22717 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
22719         Allow occur command to operate on the region
22721         See discussion in:
22722         https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01084.html
22723         * lisp/replace.el (occur--region-start, occur--region-end)
22724         (occur--matches-threshold): New variables.
22725         (occur-engine): Use them.
22726         (occur): Idem.
22727         Add optional arg REGION; if non-nil occur applies in that region.
22728         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
22729         * doc/emacs/search.texi (Other Repeating Search): Idem.
22731 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
22733         Treat list-buffers-directory as a string
22735         Another step in the long history of list-buffers-directory.  A thread
22736         branch discussing the meaning/use of the variable starts here
22737         https://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00684.html
22738         Also see (info "(elisp) Buffer File Name").
22739         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
22740         Info-* defvars.
22741         (Buffer-menu--pretty-file-name): Remove special case.  Use
22742         bound-and-true-p.
22743         (Buffer-menu-info-node-description): Remove.
22744         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
22745         list-buffers-directory as a string.
22746         * lisp/info.el (Info-node-description): New function.
22747         (Info-select-node): Use it.
22749 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
22751         Turn on lexical-binding in parse-time.el
22753         * lisp/calendar/parse-time.el: Turn on lexical-binding.
22754         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
22755         bindings.
22757 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
22759         Prevent creating thumbnails of all gif frames
22761         With the previous defaults, doing image-dired on a directory with an
22762         animated foo.gif would cause creation of foo.thumb-N.gif for each of
22763         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
22764         there additionally is no usable thumbnail after all the needless effort.
22765         image-dired never handled animation, regardless.
22766         * lisp/image-dired.el: Mention limitation.
22767         (image-dired-cmd-create-thumbnail-options):
22768         (image-dired-cmd-create-temp-image-options):
22769         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
22770         filename to indicate only converting the 0th frame.
22771         (image-dired-display-image-mode): Don't show a cursor.
22773 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
22775         Fix quitting bug when buffers are frozen
22777         Problem noted by Eli Zaretskii in:
22778         http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00721.html
22779         This patch also fixes some other issues in that report.
22780         * src/lisp.h (incr_rarely_quit): Remove.
22781         All callers changed to use rarely_quit directly.
22782         * src/search.c (freeze_buffer_relocation)
22783         (thaw_buffer_relocation): New functions.
22784         (looking_at_1, fast_looking_at, search_buffer):
22785         Use them to fix bug when quitting when buffers are frozen.
22786         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
22787         All uses changed.
22789 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
22791         Revamp quitting and fix infloops
22793         This fixes some infinite loops that cannot be quitted out of,
22794         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
22795         when byte-compiled and when run under X.  See:
22796         http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00577.html
22797         This also attempts to keep the performance improvements I recently
22798         added, as much as possible under the constraint that the infloops
22799         must be caught.  In some cases this fixes infloop bugs recently
22800         introduced when I removed immediate_quit.
22801         * src/alloc.c (Fmake_list):
22802         Use rarely_quit, not maybe_quit, for speed in the usual case.
22803         * src/bytecode.c (exec_byte_code):
22804         * src/editfns.c (Fcompare_buffer_substrings):
22805         * src/fns.c (Fnthcdr):
22806         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
22807         (Fbackward_prefix_chars):
22808         Use rarely_quit so that users can C-g out of long loops.
22809         * src/callproc.c (call_process_cleanup, call_process):
22810         * src/fileio.c (read_non_regular, Finsert_file_contents):
22811         * src/indent.c (compute_motion):
22812         * src/syntax.c (scan_words, Fforward_comment):
22813         Remove now-unnecessary maybe_quit calls.
22814         * src/callproc.c (call_process):
22815         * src/doc.c (get_doc_string, Fsnarf_documentation):
22816         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
22817         * src/lread.c (safe_to_load_version):
22818         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
22819         Use emacs_read_quit instead of emacs_read in places where
22820         C-g handling is safe.
22821         * src/eval.c (maybe_quit): Move comment here from lisp.h.
22822         * src/fileio.c (Fcopy_file, e_write):
22823         Use emacs_write_quit instead of emacs_write_sig in places where
22824         C-g handling is safe.
22825         * src/filelock.c (create_lock_file): Use emacs_write, not
22826         plain write, as emacs_write no longer has a problem.
22827         (read_lock_data): Use emacs_read, not read, as emacs_read
22828         no longer has a problem.
22829         * src/fns.c (rarely_quit): Move to lisp.h and rename to
22830         incr_rarely_quit.  All uses changed..
22831         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
22832         * src/indent.c (compute_motion):
22833         * src/syntax.c (find_defun_start, back_comment, forw_comment)
22834         (Fforward_comment, scan_lists, scan_sexps_forward):
22835         Use incr_rarely_quit so that users can C-g out of long loops.
22836         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
22837         inner loop, so that it catches C-g there too.
22838         * src/keyboard.c (tty_read_avail_input): Remove commented-out
22839         and now-obsolete code dealing with interrupts.
22840         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
22841         the latter moved here from fns.c and renamed from rarely_quit.
22842         (emacs_read_quit, emacs_write_quit): New decls.
22843         * src/search.c (find_newline, search_buffer, find_newline1):
22844         Add maybe_quit to catch C-g.
22845         * src/sysdep.c (get_child_status): Always invoke maybe_quit
22846         if interruptible, so that the caller need not bother.
22847         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
22848         New functions.
22849         (emacs_read): Rewrite in terms of emacs_nointr_read.
22850         Do not handle C-g or signals; that is now for emacs_read_quit.
22851         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
22852         with INTERRUPTIBLE three-way arg.  All uses changed.
22854 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
22856         Remove immediate_quit.
22858         The old code that sets and clears immediate_quit was
22859         ineffective except when Emacs is running in terminal mode, and
22860         has problematic race conditions anyway, so remove it.  This
22861         will introduce some hangs when Emacs runs in terminal mode,
22862         and these hangs should be fixed in followup patches.
22863         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
22865 2017-02-01  Alan Mackenzie  <acm@muc.de>
22867         Allow C++ nested brace-list-entries to be better indented.
22869         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
22870         nested brace lists when the opening element stands on the same line as both
22871         its introductory brace and an enclosing parameter list parenthesis.
22873         * list/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
22875         * list/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
22876         presence of exactly an identifier between an open parenthesis and an open
22877         brace as evidence of the brace starting a brace list.
22878         (c-looking-at-statement-block): New function, extracted from
22879         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
22880         when needed.
22881         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
22882         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
22883         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
22884         all added syntactic symbols to those having an anchor point on the same line.
22885         Add, in addition to the current additional symbols, c-brace-list-entry when
22886         needed; use c-looking-at-statement-block to determine the latter.
22887         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
22888         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
22889         getting, possibly, several accompanying syntactic entries.
22891         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
22892         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
22894         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
22895         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
22897         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
22898         brace-list-intro.
22899         (Brace List Symbols): Amend the example to show the new analysis of brace
22900         lists when the first element comes on the same line as the opening brace.
22901         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
22903 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
22905         Revert "DOn't use string-as-unibyte in Gnus"
22907         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
22909         Not all the cases where we had string-as-unibyte were characters,
22910         so this needs to be considered more thoroughly before being redone.
22912 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
22914         Use maphash instead of cl-loop.
22916         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
22917           instead of cl-loop
22919 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
22921         Fix a subtle problem in Tramp with timers
22923         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
22924         list.  Make it work when called inside a timer.  See
22925         <http://lists.gnu.org/archive/html/tramp-devel/2017-01/msg00010.html>.
22927 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
22929         Index byte-compile-debug
22931         * doc/lispref/compile.texi (Compilation Functions): Index
22932         byte-compile-debug.
22934 2017-01-31  Philipp Stephani  <phst@google.com>
22936         Document `byte-compile-debug' in the ELisp manual
22938         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
22940 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
22942         read-multiple-choice: explain dialog popups more
22944         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
22945         when a graphical popup is used and how it can be avoided.
22947 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
22949         auth-source-user-and-password: add forgotten user parameter
22951                 * lisp/auth-source.el (auth-source-user-and-password): Use
22952                   accidentally unused "user" parameter.
22953                   Reported by Oscar Najera <najera.oscar@gmail.com>.
22955 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
22957         Fix typo in a NEWS entry for CSS mode
22959 2017-01-31  Philipp Stephani  <phst@google.com>
22961         Document variable `byte-compile-debug'
22963         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
22965 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
22967         DOn't use string-as-unibyte in Gnus
22969         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
22970         string-as-unibyte.
22971         (nnmail-insert-xref): Ditto.
22973         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
22975         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
22977         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
22978         (gnus-browse-foreign-server): Ditto.
22979         (gnus-browse-foreign-server): Ditto.
22981         * lisp/gnus/gnus-start.el
22982         (gnus-update-active-hashtb-from-killed): Ditto.
22983         (gnus-read-newsrc-el-file): Ditto.
22985         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
22987         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
22988         (nnir-get-active): Ditto.
22990 2017-01-31  Juri Linkov  <juri@linkov.net>
22992         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
22994         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
22995         M-. in article buffers work for `foo' strings, and still allow
22996         C-s C-w to yank ' to the search ring (bug#22248).
22998 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
23000         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
23002 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
23004         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
23006 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23008         New test for diff-mode handling trailing --
23010         test/lisp/vc/diff-mode-tests.el: New test file
23012 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23014         Handle patch terminators produced by git and bzr patch export
23016         Patch by Juri Linkov posted in the #9597 bug report
23018         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
23019         terminator (Bug #9597, #5302)
23021 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23023         Revert two accidental commits
23025         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
23026         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
23028 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23030         stash
23032 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23034         comint-get-old-input-default: behavior follows docstring
23036         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
23037         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
23038         if point is on an output field.
23040 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
23042         Fix call to debugger on assertion failure
23044         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
23045         argument must be `error', and the second is a list of arguments for
23046         `signal'.
23048 2017-01-30  Tom Tromey  <tom@tromey.com>
23050         css-mode documentation lookup feature
23052         * etc/NEWS: Mention new feature.
23053         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
23054         (css--mdn-lookup-history): New defvar.
23055         (css-lookup-url-format): New defcustom.
23056         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
23057         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
23058         defuns.
23059         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
23060         test.
23062 2017-01-30  Glenn Morris  <rgm@gnu.org>
23064         edt-mapper: just loading a library should not run code
23066         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
23067         containing code previously at top-level.
23068         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
23069         run edt-mapper function.
23071 2017-01-30  Glenn Morris  <rgm@gnu.org>
23073         mh-compat.el: remove duplicate definition
23075         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
23076         Remove duplicate definition.
23078 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
23080         Add delq list arg check
23082         * src/fns.c (Fdelq): Check that list is a proper list.
23083         This is more compatible with what ‘delete’ does.
23085 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23087         * lisp/indent.el (indent-region-line-by-line): New function.
23089         Extracted from indent-region.
23090         (indent-region, indent-region-function): Use it.
23092 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23094         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
23096 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
23098         More fixes to prevent crashes on C-g
23100         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
23101         before returning, to avoid crashes in quit.  (Bug#25566)
23103 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
23105         Avoid crashes on C-g in TTY sessions
23107         * src/keyboard.c (handle_interrupt): Don't quit if
23108         waiting_for_input is set, as doing that is "unsafe": it will
23109         abort.  (Bug#25566)
23111 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
23113         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
23115         Merge remote-tracking branch 'origin/master' into feature/byte-switch
23117 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
23119         Fix hash tables not being purified correctly.
23121         * src/alloc.c
23122         (purecopy_hash_table) New function, makes a copy of the given hash
23123         table in pure storage.
23124         Add new struct `pinned_object' and `pinned_objects' linked list for
23125         pinning objects.
23126         (Fpurecopy) Allow purifying hash tables
23127         (purecopy) Pin hash tables that are either weak or not declared with
23128         `:purecopy t`, use purecopy_hash_table otherwise.
23129         (marked_pinned_objects) New function, marks all objects in pinned_objects.
23130         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
23131         * src/lisp.h Add new field `pure' to struct `Lisp_Hash_Table'.
23132         * src/fns.c: Add `purecopy' parameter to hash tables.
23133         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
23134         to make_hash_table.
23135         (make_hash_table): Add `pure' parameter, set h->pure to it.
23136         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
23137         CHECK_IMPURE.
23138         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
23139           hash tables.
23140         * src/print.c: (print_object) add the `purecopy' parameter while
23141           printing hash tables.
23142         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
23143           src/xterm.c: Use new (make_hash_table).
23145 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
23147         Escape dash in xref rgrep regexp
23149         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
23150         in REGEXP if it's the first character.
23152 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
23154         Say JavaScript, not Javascript
23156         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
23157         (js-js-error, js-eval, js-set-js-context)
23158         (js--get-js-context):
23159         Refer to the language consistently as JavaScript.
23161 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
23163         lisp/*.el: Fix some warnings
23165         * lisp/battery.el (dbus-get-property):
23166         * lisp/dired-aux.el (format-spec): Declare function.
23168         * lisp/net/zeroconf.el (zeroconf-list-service-names)
23169         (zeroconf-list-service-types, zeroconf-list-services):
23170         Mark unused lexical arg.
23172         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
23173         * lisp/progmodes/sql.el (sql-end-of-statement):
23174         Pass LIMIT to 'looking-back'.
23176 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
23178         Don't warn about obsolete defgenerics when defining them
23180         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
23181         should run after the definition code (Bug#25556).
23183 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
23185         Call modification hooks in org-src fontify buffers
23187         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
23188         `inhibit-modification-hooks' to nil, since this function can be called
23189         from jit-lock-function which binds that variable to t (Bug#25132).
23191 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
23193         Fix Bug#25524
23195         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
23196         Return position at the beginning off the hunk.
23197         (diff-file-junk-re): Add SVN keywords.
23199 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
23201         hl-line.el: Don't try to operate on a killed buffer
23203         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
23204         live buffers (bug#25522).
23206 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
23208         Use access-file in EWW to check before downloading a file
23210         * lisp/net/eww.el (eww-download): Check accessibility of
23211         eww-download-directory to prevent starting a download that will fail
23212         to write.
23213         * src/fileio.c (Faccess_file): Clarify the use of string argument in
23214         the docstring.
23216 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
23218         Subject: Check Bcc after the Messag hook has run
23220         * lisp/gnus/message.el (message-send): If the hook modifies
23221         the message (mml tags or headers), we should check bcc on the
23222         final message, not on the original.
23224 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
23226         Improve documentation of 'format' conversions
23228         * src/editfns.c (Fformat): More accurate description of %g and
23229         effects of the various flags on it.  More accurate description of
23230         integer conversions.
23232         * doc/lispref/strings.texi (Formatting Strings): More accurate
23233         description of %g and effects of the various flags on it.  More
23234         accurate description of integer conversions.  (Bug#25557)
23236 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
23238         test/*.el: Avoid byte-compiler warnings
23240         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
23242         * test/lisp/faces-tests.el (faces--test): New customization group.
23243         (faces--test1, faces--test2): Use it.
23245         * test/lisp/ffap-tests.el (ffap-tests-25243):
23246         Call 'mark-whole-buffer' interactively.
23248         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
23249         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
23250         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
23251         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
23253         * test/lisp/minibuffer-tests.el (completion-test1):
23254         Mark unused lexical arguments.
23256         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
23257         'with-no-warnings' to avoid them when the macro is invoked for effect.
23259         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
23260         Mark unused lexical arguments.
23262         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
23263         Mark unused lexical arguments.
23264         (let-alist-cons): Remove unused let binding.
23266         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
23267         (dbus-get-unique-name): Declare.
23269         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
23270         Call 'font-lock-fontify-buffer' interactively.
23272         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
23273         Mark unused lexical argument.
23275 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23277         Restore a test that was removed by a recent commit
23279         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
23280         errno value unless it's necessary.  (Bug#25419)
23282 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
23284         Fix a couple eww customization types
23286         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
23287         Change customization type to "directory".
23289 2017-01-27  Philipp Stephani  <phst@google.com>
23291         Don't require a shell when loading htmlfontify
23293         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
23294         detecting the etags version (Bug#25468).
23295         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
23296         test.
23298 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
23300         Slightly tune file-accessible-directory-p fix
23302         * src/fileio.c (Ffile_accessible_directory_p):
23303         Remove unnecessary test (Bug#25419).
23305 2017-01-27  Arash Esbati  <arash@gnu.org>
23307         Add \citetitle to biblatex cite format
23309         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
23310         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
23311         per user request
23312         http://lists.gnu.org/archive/html/auctex/2017-01/msg00049.html.
23314 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23316         Fix charsets and encodings from non-file MIME parts
23318         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
23319         encoding right for parts that do not originate from files.
23321 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23323         Fix 'describe-variable' for longish variable values
23325         * lisp/help-fns.el (describe-variable): Don't accidentally remove
23326         the last character of a variable's value.  (Bug#25545)
23328 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
23330         Remove stale functions from ert manual
23332         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
23333         Replace ert--mismatch references with its cl-lib replacement,
23334         cl-mismatch.
23336 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23338         Fix a typo in Eshell manual
23340         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
23341         Kolybabi <mak@kolybabi.com>.
23343 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23345         Ensure last line is at window bottom in shell buffers
23347         * lisp/shell.el (shell-mode): Use setq-local.  Set
23348         scroll-conservatively to 101 locally.  See the discussion at
23349         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00736.html
23350         for the reasons.
23352 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
23354         Support Bash Ctrl-Z indication of directory name in term.el
23356         * term.el (term-emulate-terminal): Do not display ?\032 escape
23357         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
23359 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23361         Don't report zero errno for inaccessible directory
23363         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
23364         a file handler reports a failure.  (Bug#25419)
23366 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23368         Fix filenotify-tests on MS-Windows
23370         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
23371         (file-notify-test05-dir-validity)
23372         (file-notify-test06-many-events)
23373         (file-notify-test08-watched-file-in-watched-dir): Manually remove
23374         the watch descriptor before calling file-notify--test-cleanup-p.
23375         (Bug#25539)
23377 2017-01-27  Hong Xu  <hong@topbug.net>
23379         python-mode: Fix detection for opening blocks.
23381                 * python.el (python-info-dedenter-opening-block-positions): There
23382                 can't be any back-indented lines between an opening block and the
23383                 current line.
23385                 * python-tests.el (python-indent-electric-colon-4): Add an indent
23386                 test case where there is one-more indented previous opening block.
23388 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23390         Fix Message check for bogus domain names
23392         * lisp/gnus/message.el (message-make-fqdn): Fix check for
23393         bogus system names (bug#24570).
23395 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
23397         Subject: Restore correct Gnus newsgroup name after sending message
23399         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
23400         gnus-newsgroup-name in the correct buffer (bug#24329).
23402 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23404         Mention the new Gnus sorting command
23406 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23408         Don't try to find charsets of non-text MIME parts
23410         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
23411         to try to determine the charset of non-text message parts, so
23412         skip that (bug#24190).  This will also remove messages like
23413         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
23414         if you include such files.
23416 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23418         Add new command gnus-article-sort-by-marks
23420         * doc/misc/gnus.texi (Summary Sorting): Mention
23421         gnus-summary-sort-by-marks.
23423         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
23424         function (bug#23393).
23425         (gnus-thread-sort-by-marks): Ditto.
23426         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
23427         (gnus-summary-mode-map): Add keystroke.
23428         (gnus-summary-make-menu-bar): Add to menu.
23430 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
23432         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
23434         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
23435         Ignore summary commands that aren't bound to
23436         gnus-article-read-summary-keys keys (bug#18257).
23438 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23440         Fix crossposting in non-primary groups
23442         * lisp/gnus/message.el
23443         (message-cross-post-followup-to-header): Gnus server prefixes
23444         shouldn't be included in the group names (bug#21661).
23445         (message-cross-post-followup-to): Ditto.
23447 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23449         Gnus doc clarification
23451         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
23452         that "unreachable" is the same as disabling it (bug#21630).
23454 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23456         Remove dead code from rfc2047
23458         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
23460         It's been disabled since 2005, when I made the change with the
23461         following comment.
23463         (rfc2047-encode-message-header): Disabled header folding -- not
23464         all headers can be folded, and this should be done by the message
23465         composition mode.  Probably.  I think.
23467 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23469         Fill too long mail headers
23471         * lisp/gnus/message.el (message--fold-long-headers): New
23472         function to fold too-long headers (bug#21608).
23473         (message-send-mail): Use it to fill headers longer than 998
23474         characters (which is the protocol limit).
23476 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23478         Make nndoc more resilient against corrupted files
23480         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
23481         out on invalid files, like invalid .gz files (bug#21538).
23482         This may hinder Gnus from starting up.
23484 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23486         Respect buffer-local message-fcc-handler-function
23488         * lisp/gnus/message.el (message-do-fcc): Copy the local
23489         variables from the Message buffer so that local settings of
23490         `message-fcc-handler-function' etc are respected (bug#21174).
23492 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23494         (message-do-fcc): Modernise the code slightly.
23496         * lisp/gnus/message.el (message-do-fcc): Modernise the code slightly.
23498 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23500         Avoid a regexp overflow in message-goto-body
23502         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
23503         complicated backtracking regexp, because they may overflow on
23504         large headers (bug#21160).
23506 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23508         Refactor message-goto-body
23510         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
23512 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23514         Fix typo in last checkin
23516         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
23517         nnimap-shell-program (bug#20651).
23519 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23521         Document nnimap-shell-program
23523         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
23524         nnimap-shell-program (bug#20651).
23526 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23528         Document :shell-command in `make-network-process'
23530         * doc/lispref/processes.texi (Network): Document :shell-command.
23532         * lisp/net/network-stream.el (open-network-stream): Document
23533         the :shell-command parameter (bug#20651).
23535 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23537         Gnus doc clarification
23539         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
23540         the gnus-prompt-before-saving variable (bug#20500).
23542 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23544         Fix the previous mml patch better
23546         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
23547         previous patch in a better way (bug#20480).
23549 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23551         Give a slight better error message in mml-minibuffer-read-file
23553         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
23554         better error message when the user enters nothing (bug#20480).
23556 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
23558         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
23560 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23562         Make eww buffers prettier in the buffer listing
23564         * lisp/net/eww.el (eww-render): Put the currently visited URL
23565         into the buffer listing (bug#23738).
23566         (eww-render): Ditto.
23568 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23570         Allow mml-attach-file to prompt less
23572         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
23573         prompt for type/description/disposition, but use defaults
23574         (bug#19202).
23576 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23578         Don't allow message-newline-and-reformat to be run outside the body
23580         * lisp/gnus/message.el (message-newline-and-reformat): Error
23581         out if run outside the body of a message (bug#18820).
23583 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
23585         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
23587         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
23588           byte-compile-constant instead of byte-compile-form to push nil.
23590 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
23592         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
23594 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
23596         Replace QUIT with maybe_quit
23598         There’s no longer need to have QUIT stand for a slug of C statements.
23599         Use the more-obvious function-call syntax instead.
23600         Also, use true and false when setting immediate_quit.
23601         These changes should not affect the generated machine code.
23602         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
23604 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
23606         A quicker check for quit
23608         On some microbenchmarks this lets Emacs run 60% faster on my
23609         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
23610         * src/atimer.c: Include keyboard.h, for pending_signals.
23611         * src/editfns.c (Fcompare_buffer_substrings):
23612         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
23613         (Fnconc, Fplist_member):
23614         Set and clear immediate_quit before and after loop instead of
23615         executing QUIT each time through the loop.  This is OK for loops
23616         that affect only locals.
23617         * src/eval.c (process_quit_flag): Now static.
23618         (maybe_quit): New function, containing QUIT’s old body.
23619         * src/fns.c (rarely_quit): New function.
23620         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
23621         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
23622         Use it instead of QUIT, for
23623         speed in tight loops that might modify non-locals.
23624         * src/keyboard.h (pending_signals, process_pending_signals):
23625         These belong to keyboard.c, so move them here ...
23626         * src/lisp.h: ... from here.
23627         (QUIT): Redefine in terms of the new maybe_quit function, which
23628         contains this macro’s old definiens.  This works well with branch
23629         prediction on processors with return stack buffers, e.g., x86
23630         other than the original Pentium.
23632 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
23634         Simplify make-list implementation
23636         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
23637         is not worth it these days.
23639 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
23641         Make use of cl-loop destructuring
23643         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
23644         destructuring.
23645         (with-js): Add declare forms.
23647 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23649         Revert "Bind C-c keys in the article buffer"
23651         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
23653         The commit somehow lead to problems in other parts of Emacs.
23655 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23657         Document how to quote MML tags
23659         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
23660         quote MML tags (bug#18881).
23662 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23664         Make address parsing more robust
23666         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
23667         bug out on addresses like
23668         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
23669         (bug#18572).
23671 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23673         Fix the %P (line number) thing in Gnus summary buffers
23675         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
23677         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
23678         "pick" mode line number on entry instead of relying in a hack (bug#18311).
23680 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23682         Fix wrong documentation on nnmairix keystrokes
23684         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
23685         nnmairix commands are on G G, not $ (bug#18260).
23687 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23689         Bind C-c keys in the article buffer
23691         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
23692         C-c keys so that they execute in the summary buffer
23693         (bug#18257).  This makes commands like `C-c C-f' work from the
23694         article buffer.
23696 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23698         Don't mark articles in Gnus as displayed when they aren't
23700         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
23701         mark any articles as selected if we're not selecting any
23702         articles (bug#18255).
23704 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
23706         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
23708         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
23710         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
23712         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
23714 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
23716         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
23718         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
23719           constant encountered precedes a byte-switch op, replace all the
23720           addresses in the jump table with tags.
23722 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
23724         Move cXXXr and cXXXXr to subr.el
23726         * etc/NEWS: Mention new core Elisp.
23727         * doc/lispref/lists.texi (List Elements): Document and index the new
23728         functions.
23729         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
23730         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
23731         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
23732         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
23733         (cddddr): New functions.
23734         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
23735         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
23736         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
23737         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
23738         (cl-cdddar, cl-cddddr): Alias to new subr functions.
23739         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
23740         elements.
23742 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23744         Only save .newsrc file if the native method is NNTP
23746         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
23747         the .newsrc file if the native select method is NNTP
23748         (bug#18198).  This avoids problems with invalid IMAP group
23749         names and the like in the .newsrc file.
23751 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23753         Only save .newsrc file if the native method is NNTP
23755         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
23756         the .newsrc file if the native select method is NNTP
23757         (bug#18198).  This avoids problems with invalid IMAP group
23758         names and the like in the .newsrc file.
23760 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23762         Gnus custom spec fix
23764         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
23765         spec to match the doc string (bug#17679).
23767 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23769         Clarify confusing Gnus error message
23771         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
23772         confusing error message (bug#17677).
23774 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23776         Make C-u C-x m work with Message as documented
23778         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
23779         parameter (bug#17175).
23781 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23783         Fix problem with auto-mode and dir-locals-collect-variables
23785         * lisp/files.el (dir-locals-collect-variables): When run from
23786         auto-mode, the file in question may not be an absolute path
23787         name (bug#24016).
23789         Example backtrace:
23791         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
23792           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
23793           hack-dir-local-variables()
23794           hack-local-variables(no-mode)
23795           run-mode-hooks(diff-mode-hook)
23796           diff-mode()
23797           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
23799 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23801         Attach text files correctly in Message
23803         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
23804         system has been used in attached text files, and don't try to
23805         do any encoding of these files (bug#13808).
23807 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23809         Build fix for older gnutls versions
23811         * src/gnutls.c (emacs_gnutls_handle_error):
23812         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
23813         gnutls-3.
23815 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
23817         ediff-difference-vector-alist: Drop duplicated definition
23819         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
23820         Drop duplicated definition.
23821         (ediff-difference-vector-A, ediff-difference-vector-B)
23822         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
23823         Move definition before 'ediff-difference-vector-alist'.
23825 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23827         Revert "nnimap.el: support additional expunge options"
23829         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
23831         The patch broke fetching new mail:
23833         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
23834           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
23835           (looking-at (format "%d .*\n" sequence))
23836           (not (looking-at (format "%d .*\n" sequence)))
23837           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
23839 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
23841         nnimap.el: support additional expunge options
23843         * lisp/gnus/nnimap.el (nnimap-close-group)
23844         (nnimap-request-expire-articles, nnimap-delete-article)
23845         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
23846         settings for nnimap-expunge (bug#20670).
23848 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23850         Don't tag Gnus bugs with "gnus"
23852         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
23854         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
23855         have its own package any more in the bug tracker.
23857 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
23859         Tweak TLS error messaging on closed connections
23861         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
23862         peer-closed-connection "The TLS connection was non-properly
23863         terminated" message to a lower level so that it isn't shown to
23864         the user by default.
23866 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
23868         Avoid having eww unexpectedly open external browsers
23870         * lisp/net/eww.el (eww-render): Instead of opening unsupported
23871         content types like audio/mpeg directly in an external browser
23872         (which can be very confusing especially when something
23873         redirects to a file like that), just display a simple
23874         interstitial that people can choose to click on or not
23875         (bug#22671).
23877 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
23879         When opening new eww buffers, use buffer names based on the host name
23881         * lisp/net/eww.el (eww-browse-url): When opening in a new
23882         window, use a buffer name based on the host name (bug#23738).
23883         (eww--dwim-expand-url): Refactored out into its own function
23884         for easier reuse.
23886 2017-01-24  David Engster  <deng@randomsample.de>
23888         xml: Fix parsing of default namespace with quoted names
23890         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
23891           parsing is done with quoted symbol names (bug#23440).
23892         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
23893           (xml-parse-test-default-namespace-qnames): Test for the above.
23895 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
23897         Fix rendering of some complex SVG images
23899         * lisp/net/shr.el (shr-parse-image-data): Don't transform
23900         SVG->DOM->XML unless we're blocking images, as this is apt to
23901         destroy the SVG (bug#24111).
23903 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
23905         Clarify the last clarification
23907         * lisp/net/shr.el (shr-width): Clarify the interaction with
23908         `shr-use-fonts' (bug#24928).
23910 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
23912         shr-width doc clarification
23914         * lisp/net/shr.el (shr-width): Clarify the interaction with
23915         `shr-use-fonts' (bug#24928).
23917 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
23919         Allow passing in max-width/height
23921         * lisp/net/shr.el (shr-rescale-image): Allow passing in
23922         max-width/height (bug#25287).
23924 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23926         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
23928         Require `cl' for `pushnew'.
23929         (vhdl-scan-project-contents, vhdl-compose-wire-components)
23930         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
23932 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
23934         Fix comment detection on open parens
23936         Characters having both open paren syntax and comment start syntax were
23937         being detected as open parens even when they should have been part a
23938         comment starter (Bug#24870).
23940         * src/syntax.c (in_2char_comment_start): New function, extracted from
23941         `scan_sexps_forward'.
23942         (scan_sexps_forward): Add check for a 2-char comment starter before the
23943         loop.  Inside the loop, do that check after incrementing the 'from'
23944         character index.  Move the single char comment syntax cases into the
23945         switch instead of special casing them before.
23946         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
23947         (parse-partial-sexp-continue-over-comment-marker): New tests.
23949 2017-01-23  Alan Mackenzie  <acm@muc.de>
23951         Give , and .@ doc strings.  Fixes bug #24561.
23953         Also make *Help* links to ``' possible.  Also make usable as such doc strings
23954         on the function-documentation property of a symbol.
23956         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
23957         function-documentation property.  Also give these symbols a reader-construct
23958         property.
23960         * lisp/help-fns.el (describe-function): Allow the function-documentation
23961         property to work.  Use princ rather than prin1 to print the function's name
23962         when it has a reader-construct property.
23963         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
23964         (describe-function-1): Adapt to process documentation on the
23965         function-documentation property.  Print "a reader construct" when appropriate.
23967         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
23968         ``'.
23970 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
23972         Improve uses of CHECK_LIST etc.
23974         * src/eval.c (FletX): Report an error for invalid constructs like
23975         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
23976         (lambda_arity): Use plain CHECK_CONS.
23977         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
23978         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
23979         concat does that for us.
23980         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
23981         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
23982         runtime check out of the loop.
23983         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
23984         (Fassq, Fassoc, Frassq, Frassoc):
23985         Simplify and use CHECK_LIST_END instead of CAR.
23986         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
23987         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
23988         * src/fontset.c (Fnew_fontset):
23989         * src/frame.c (Fmodify_frame_parameters):
23990         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
23991         more-complete check.
23992         * src/gfilenotify.c (Fgfile_add_watch):
23993         Omit unnecessary CHECK_LIST, since Fmember does that for us.
23994         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
23995         Remove; no longer used.
23996         (CHECK_LIST_END): New inline function.
23998 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
24000         Prevent to use tabulated-list--near-rows unbound
24002         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
24003         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
24005 2017-01-22  Juri Linkov  <juri@linkov.net>
24007         * lisp/simple.el (region-bounds): New function.
24009         (region-noncontiguous-p): Use it.
24010         http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00044.html
24012 2017-01-21  Alan Mackenzie  <acm@muc.de>
24014         Fix low-level handling of (big) C macros.
24016         In particular, ensure that a comment detected by its syntax is not a CPP
24017         construct marked with generic comment delimiter syntax-table text
24018         properties.
24020         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
24021         c-macro-cache-syntactic to nil when the cached macro changes.
24022         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
24023         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
24024         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
24025         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
24026         (c-determine-limit): When checking a parse syntax for a comment, check that
24027         we're not in a CPP construct marked by syntax-table generic comment delimiter
24028         text property.
24029         (c-state-pp-to-literal): Change from a defsubst to a defun.
24031         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
24032         parse syntax as described above under cc-engine.el.
24034 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
24036         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
24038 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
24040         Don't wait for frame to become visible
24042         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
24043         frame to become visible.  We have to deal with invisible frames anyway,
24044         the loop could sometimes before the frame turned visible, and for some
24045         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
24046         busy loop (Bug#24091).
24048 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
24050         diff-hunk-kill independent of point inside headers
24052         Make diff-apply-hunk and diff-hunk-kill independent of the point
24053         position in a diff header (Bug#17544).
24054         This change allows to apply hunks in order.  It also makes possible to
24055         press M-k repeatedly to kill hunks in the order they appear in the buffer.
24056         See discussion on #Bug25105.
24057         * lisp/vc/diff-mode.el (diff-file-junk-re):
24058         Move definition before it's used.
24059         (diff--at-diff-header-p): New predicate; return non-nil when point
24060         is inside a hunk header, a file header, or within a line
24061         matching diff-file-junk-re.
24062         (diff-beginning-of-hunk): Use it.
24063         Check if the point is inside a diff header, in the middle of a hunk,
24064         or before the first hunk.
24065         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
24066         before apply the hunk.
24067         (diff-hunk-kill, diff-file-kill):
24068         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
24069         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
24071 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
24073         Improve documentation of hooks related to saving buffers
24075         * lisp/files.el (write-file-functions, write-contents-functions)
24076         (before-save-hook, after-save-hook): Note that these are only used
24077         by save-buffer.
24079         * doc/lispref/backups.texi (Auto-Saving):
24080         * doc/lispref/files.texi (Saving Buffers): Mention that
24081         save-related hooks are not run by auto-saving.  (Bug#25460)
24083 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
24085         Improve documentation of auto-save-visited-file-name
24087         * doc/emacs/files.texi (Auto Save Files): Mention subtle
24088         differences between saving the buffer and auto-saving with
24089         auto-save-visited-file-name set non-nil.  (Bug#25478)
24091 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
24093         Fix free var FOO-mode-{syntax,abbrev}-table warnings
24095         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
24096         defvar the syntax and abbrev tables so that the compiler will know that
24097         they are dynamically bound variables (Bug#25446).
24099 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24101         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
24103         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
24104           eval obj2 to avoid quoted forms being stored as is.
24106 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24108         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
24110 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24112         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
24114         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
24115         default-case for last cond clause.
24117 2017-01-19  Philipp Stephani  <phst@google.com>
24119         Check that variable lists are actually lists
24121         'let' and 'let*' document that their first argument has to be a list,
24122         but don't check for that; instead, they allow (and silently ignore)
24123         other types.  Introduce an explicit type check.
24125         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
24126         list.
24127         * test/src/eval-tests.el: Add unit tests.
24129 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24131         Add type checking for Bswitch, when enabled at compile time.
24133         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
24134           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
24136 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24138         Use byte-switch for all symbols.
24140         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
24141           t for all symbols (instead for just keywords)
24143 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
24145         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
24147         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
24148         (diff-refine-hunk): Use it instead of trying to match multiple lines
24149         with a single lines.
24151 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
24153         Remove lock file when auto-saving into the visited file
24155         * src/fileio.c (write_region): When auto-saving into the visited
24156         file, unlock the file whenever we mark the buffer unmodified.
24157         (Bug#25470)
24159 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
24161         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
24163         Fgethash type checks the provided table object, which is unnecessary
24164         for compiled bytecode.
24166 2017-01-18  Tom Tromey  <tom@tromey.com>
24168         fix typo in mailcap-mime-extensions
24170         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
24171         not "test/x-patch".  (Bug#25472)
24173 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
24175         Fix typos in flymake.el
24177         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
24178         Spelling fixes in the doc string.
24180 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
24182         Fix a bug with signaling a thread that waits for condvar
24184         * src/thread.c (lisp_mutex_lock_for_thread): New function,
24185         with all the guts of lisp_mutex_lock.
24186         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
24187         (condition_wait_callback): Don't call post_acquire_global_lock
24188         before locking the mutex, as that could cause a signaled thread to
24189         exit prematurely, because the condvar's mutex is recorded to be
24190         not owned by any thread, and with-mutex wants to unlock it as part
24191         of unwinding the stack in response to the signal.
24193 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
24195         Rudimentary error handling for non-main threads
24197         * src/thread.c (last_thread_error): New static variable.
24198         (syms_of_threads): Staticpro it.
24199         (record_thread_error, Fthread_last_error): New functions.
24200         (syms_of_threads): Defsubr Fthread_last_error.
24202         * doc/lispref/threads.texi (Basic Thread Functions): Document
24203         thread-last-error.
24205         * test/src/thread-tests.el (thread-errors, thread-signal-early)
24206         (threads-condvar-wait): Test the values returned by
24207         thread-last-error.
24209 2017-01-17  Tom Tromey  <tom@tromey.com>
24211         Add info-lookup help for gdb-script-mode
24213         Bug#25464:
24214         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
24215         function.
24216         Add help for gdb-script-mode.
24218 2017-01-17  Tom Tromey  <tom@tromey.com>
24220         Treat ":root" as a css-selector
24222         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
24223         ":root" as selector.
24225 2017-01-17  Tom Tromey  <tom@tromey.com>
24227         Fix JS regexp literal syntax propertization in expressions
24229         Bug#25465:
24230         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
24231         literal after "!", "&", and "|".
24232         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
24234 2017-01-17  Glenn Morris  <rgm@gnu.org>
24236         More NEWS checking for admin.el's set-version
24238         * admin/admin.el (set-version): Warn if temporary NEWS markup
24239         still present in release candidates.
24241 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
24243         Mark unused arguments and remove unused variables
24245         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
24246         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
24247         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
24248         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
24249         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
24250         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
24251         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
24252         (dungeon-nil): Mark arguments as unused.
24253         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
24254         (dun-restore): Remove unused variable.
24256 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
24258         Fix auto-save-file-name problem in Tramp on MS Windows
24260         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
24261         rather than an ange-ftp regexp.
24263         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24264         Fix a problem when running on MS Windows.
24266         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
24267         Adapt test.
24269 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
24271         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
24273         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24274         Fix a problem when running on MS Windows.
24276 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
24278         Merge from origin/emacs-25
24280         42614fa Update remaining copyright years with admin.el M-x set-copyright
24281         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
24283 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
24285         Nix some uses of eval
24287         * lisp/play/dunnet.el: Fix triple negative.
24288         (dun-doverb): Use funcall instead of eval.
24289         (dun-echo): Just call dun-mprinc.
24290         (dun-save-val): Just bind value without eval.
24292 2017-01-17  Tom Tromey  <tom@tromey.com>
24294         Fix comment in css-mode.el
24296         * lisp/textmodes/css-mode.el: Remove obsolete comment.
24298 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
24300         update branch
24302 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
24304         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
24306 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
24308         Improve ffap-gopher-at-point handling of long lines
24310         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
24311         setting to nil is now supported.
24312         (ffap--gopher-var-on-line): New function.
24313         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
24314         which could overflow the regexp stack on long lines (Bug#25391).  Use
24315         `let-alist' instead of calling `set' on local variables.
24316         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
24318 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
24320         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
24322         * byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
24323           finding the tag in a jump table.
24325 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
24327         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
24329 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
24331         Add new 'switch' byte-code.
24333         'switch' takes two arguments from the stack: the variable to test, and
24334         a jump table (implemented as a hash-table with the appropriate :test
24335         function). By looking up the value of the variable in the hash table,
24336         the interpreter can jump to the label pointed to by the value, if any.
24337         This implementation can only be used for `cond' forms of the type
24338         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
24339         variable `x` is same for all clauses.
24341         * lisp/emacs-lisp/bytecomp.el:
24343           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
24344             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
24345             (byte-compile-cond-jump-table), byte-compile-jump-tables.
24347           * Add defcustom `byte-compile-cond-use-jump-table'.
24349           * (byte-compile-cond): Use them.
24351           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
24353         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
24354           some peephole optimizations to prevent them from messing up any code
24355           involving `byte-switch`.
24357         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
24359 2017-01-14  Alan Third  <alan@idiocy.org>
24361         Fix NS main thread check (bug#25265)
24363         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
24364         isMainThread.
24366 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
24368         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
24370         `:sqli-comint-func' does not have to be a symbol.
24372 2017-01-14  Alan Mackenzie  <acm@muc.de>
24374         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
24376         * list/progmodes/c-engine.el (c-parse-state-get-strategy): When HERE is below
24377         its previous value, we chose strategy 'forward, and the new HERE is in a
24378         (different) macro, ensure the returned START-POINT is not above the start of
24379         the macro.
24381 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
24383         Include "Date:" in mail messages filed by 'sendmail-send-it'
24385         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
24386         into the filed message.  In the outgoing message, sendmail will
24387         add the date, but the composed message body doesn't have it.
24388         (Bug#25436)
24390 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
24392         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
24394 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
24396         Remove leftover references to log-view-message-face
24398         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
24400         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
24402         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
24404 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
24406         Record autoloads till emacs dump
24408         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
24409         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
24411         Previously, autoloads were collected till loaddefs.el was generated as
24412         part of the build. However, bootstrap-emacs does not load
24413         loaddefs (rather it is dumped), hence we must record autoloads until the
24414         full emacs binary is dumped.
24416 2017-01-13  Tom Tromey  <tom@tromey.com>
24418         Add chained indentation to js-mode
24420         Bug#20896
24421         * lisp/progmodes/js.el (js-chain-indent): New variable.
24422         (js--skip-term-backward, js--skip-terms-backward)
24423         (js--chained-expression-p): New functions.
24424         (js--proper-indentation): Call js--chained-expression-p.
24425         * test/manual/indent/js-chain.js: New file.
24426         * test/manual/indent/js.js: Add (non-)chained indentation test.
24428 2017-01-13  Tom Tromey  <tom@tromey.com>
24430         Fix js-mode indentation bug
24432         Bug#15582:
24433         * lisp/progmodes/js.el (js--find-newline-backward): New function.
24434         (js--continued-expression-p): Use it.
24435         * test/manual/indent/js.js: Add new test.
24437 2017-01-13  Tom Tromey  <tom@tromey.com>
24439         Fix definition of EMACS in test/manual/indent/Makefile
24441         * test/manual/indent/Makefile (EMACS): Add one more "..".
24443 2017-01-13  Tom Tromey  <tom@tromey.com>
24445         Add .jsx to auto-mode-alist
24447         Bug#25389:
24448         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
24450 2017-01-13  Tom Tromey  <tom@tromey.com>
24452         Fix two js-mode filling bugs
24454         Bug#19399 and Bug#22431:
24455         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
24456         c-block-comment-start-regexp.
24457         * test/lisp/progmodes/js-tests.el: New file.
24459 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
24461         Fix last change
24463         * test/src/thread-tests.el (threads-condvar-wait): Revert
24464         previous change.  Make sure no other threads from previous
24465         tests are running, to avoid interfering with our thread counts.
24467 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
24469         Fix the new condvar test
24471         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
24472         time we sleep in the main thread to let the other thread
24473         process notifications.
24475 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
24477         Minor improvements in the new condvar test
24479         * test/src/thread-tests.el (threads-test-condvar-wait): Use
24480         with-mutex instead of emulating it inline.
24481         (threads-condvar-wait): Improve comments.  Check that the new
24482         thread is alive before waiting for it to become blocked on the
24483         conditional variable.
24485 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
24487         Fix a bug in waiting for condition variable
24489         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
24490         (lisp_mutex_unlock_for_wait, condition_wait_callback)
24491         (condition_notify_callback): Improve commentary.
24492         (condition_wait_callback): Call post_acquire_global_lock before
24493         attempting to lock the mutex, to make sure the lock's owner is
24494         recorded correctly.
24496         * test/src/thread-tests.el (threads-condvar-wait): New test.
24498 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
24500         Improve documentation of dabbrevs
24502         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
24503         to "Dabbrev Customization".
24504         (Dabbrev Customization): More details about the default value of
24505         dabbrev-abbrev-char-regexp and use cases when it might not be good
24506         enough.  (Bug#25432)
24508 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
24510         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
24512 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
24514         mm-uu.el: Don't dissect patch part
24516         This fixes a bug that the patch part is broken in the article
24517         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
24519         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
24520         Don't dissect patch part.
24522 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
24524         Fix extracting async def type and name in python mode imenu
24526         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
24527         New function.
24528         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
24529         extract async or simple def type and name at current
24530         position (Bug#24820).
24531         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
24532         (python-imenu-create-flat-index-1): Add async def's.
24534 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
24536         Remove garbage from Content-Transfer-Encoding value (bug#25420)
24538         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
24539         (ietf-drums-remove-garbage): New function.
24540         (ietf-drums-remove-whitespace): Remove CR as well.
24542         * lisp/mail/mail-parse.el (mail-header-strip-cte):
24543         Alias to ietf-drums-strip-cte.
24545         * lisp/gnus/gnus-art.el (article-decode-charset):
24546         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
24547         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
24548         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
24549         (nndoc-rfc822-forward-generate-article):
24550         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
24551         Replace mail-header-strip with mail-header-strip-cte.
24553 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
24555         Restore behavior of ‘./autogen.sh autoconf git’
24557         * autogen.sh: Do both autoconf and git setup when invoked
24558         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
24559         Mention new --no-check option in usage message.  (Bug#25359)
24561 2017-01-12  Glenn Morris  <rgm@gnu.org>
24563         * autogen.sh: Simplify argument parsing.
24565 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
24567         Clarify that easy-menu-add is a nop (Bug#25382)
24569         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
24570         `ignore', like `easy-menu-remove'.
24572 2017-01-12  Glenn Morris  <rgm@gnu.org>
24574         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
24576 2017-01-11  Glenn Morris  <rgm@gnu.org>
24578         * autogen.sh: Add --no-check option.  (Bug#25359)
24580 2017-01-11  Glenn Morris  <rgm@gnu.org>
24582         Convert some network test failures to skipping
24584         These tests intermittently fail on hydra.nixos.org for unclear
24585         reasons related to starting the external process.
24586         This isn't an Emacs issue, and the failures cause noise on
24587         the emacs-buildstatus list.  (Bug#24503)
24588         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
24589         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
24590         external process fails to start properly.
24592 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
24594         Revert "Add DNS keywords and remove duplications"
24596         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
24598 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
24600         Add DNS keywords and remove duplications
24602         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
24603         NSEC" DNS related keywords and remove duplication of "NSAP".
24605 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
24607         Add DNS keywords and remove duplications
24609         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
24610         NSEC" DNS related keywords and remove duplication of "NSAP".
24612 2017-01-11  Alan Mackenzie  <acm@muc.de>
24614         Handle syntactic WS cache properties more accurately at buffer changes.
24616         This fixes bug #25362.
24618         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
24619         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
24620         (c-invalidate-sws-region-after-ins): New variables and functions.
24621         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
24622         Also pass
24623         it the standard OLD-LEN argument.  Call both
24624         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
24625         cache
24626         properties.
24628         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
24629         variable.
24631         * lisp/progmodes/cc-mode.el (c-before-change): Call
24632         c-invalidate-sws-region-before.
24633         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
24635 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
24637         Support stat 8.26 in Tramp
24639         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
24640         environment variable of newer coreutils.  (Bug#23422)
24642 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
24644         Improve documentation of coding-systems
24646         * doc/lispref/nonascii.texi (Coding System Basics): Mention
24647         'prefer-utf-8'.  Index it and 'undecided'.
24648         (Encoding and I/O): Fix a typo.
24649         (User-Chosen Coding Systems): Improve the documentation of
24650         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
24651         select-safe-coding-system-function.
24652         (Specifying Coding Systems): Document coding-system-require-warning.
24654 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
24656         Merge from gnulib
24658         This incorporates:
24659         2017-01-09 maint: time stamp -> timestamp
24660         2017-01-07 stdioext: Port to Minix 3.2 and newer
24661         2017-01-06 glob, intprops, xalloc: work around Clang bug
24662         2017-01-02 revert copyright-year change to synced files
24663         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
24664         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
24665         * lib/utimens.c, lib/xalloc-oversized.h:
24666         Copy from gnulib.
24668 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
24670         Don't use unsafe encoding for the bookmark file
24672         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
24673         explicitly specified encoding of the bookmark file cannot encode the
24674         additional bookmarks just added.  (Bug#25365)
24676 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
24678         Improve definition of 'variable-pitch' face on MS-Windows
24680         * lisp/faces.el (variable-pitch): Don't specify too many
24681         attributes of the font, otherwise faces that request different
24682         weight or slant or size will not get them.
24684 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
24686         Fix an error message in python.el
24688         * lisp/progmodes/python.el (python-shell-get-process-or-error):
24689         Don't repeat the same key binding twice.  (Bug#25405)
24691 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
24693         Remove unused ldefs-boot.el
24695          * lisp/ldefs-boot.el: Remove
24697         This file was not removed as reported in c27b645956a11, but accidentally
24698         left.
24700 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
24701             Eli Zaretskii  <eliz@gnu.org>
24703         Use expanded stack during regex matches
24705         While the stack is increased in main(), to allow the regex stack
24706         allocation to use alloca we also need to modify regex.c to actually take
24707         advantage of the increased stack, and not limit stack allocations to
24708         SAFE_ALLOCA bytes.
24710         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
24711         allocations in signal handlers which no longer happens and correct
24712         description about when and why MATCH_MAY_ALLOCATE should be defined.
24713         (emacs_re_safe_alloca): New variable.
24714         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
24715         of MAX_ALLOCA.
24716         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
24717         confusion with glibc's `re_max_failures'.
24718         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
24719         to the stack.  Instead of changing emacs_re_max_failures based on the
24720         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
24721         remains constant regardless, since if we run out stack space SAFE_ALLOCA
24722         will fall back to heap allocation.
24724 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
24726         Fix computation of regex stack limit
24728         The regex stack limit was being computed as the number of stack entries,
24729         whereas it was being compared with the current size as measured in
24730         bytes.  This could cause indefinite looping when nearing the stack limit
24731         if re_max_failures happened not to be a multiple of sizeof
24732         fail_stack_elt_t (Bug #24751).
24734         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
24735         limit as numbers of stack entries.
24737 2017-01-08  Alan Third  <alan@idiocy.org>
24739         Remove apploopnr
24741         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
24742         allow app loop to run in main thread.
24744 2017-01-08  Glenn Morris  <rgm@gnu.org>
24746         Remove unused configure output variable
24748         * configure.ac (GNULIB_MK):
24749         * Makefile.in (gnulib_mk): Remove, no longer used.
24751 2017-01-08  Glenn Morris  <rgm@gnu.org>
24753         Fix automake dependencies
24755         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
24756         All platforms need this file to exist.
24758 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
24760         Remove unnecessary blankp code
24762         * src/character.c (blankp): Remove redundant code that slows Emacs
24763         down a bit.  The caller already does the test.
24765 2017-01-08  Stefan Merten  <stefan@merten-home.de>
24767         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
24769                 * rst.el (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
24770                 (rst-official-version, rst-official-cvs-rev)
24771                 (rst-package-emacs-version-alist): Maintain version numbers.
24772                 (rst-forward-indented-block): Fix. Start searching at next
24773                 line again. Fixes fontification of comments continuing on the
24774                 same line they started.
24776 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
24778         Remove @SET_MAKE@ from manually-maintained files
24780         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
24781         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
24782         * src/Makefile.in: Remove @SET_MAKE@.
24784 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
24786         Fix a problem with `start-file-process' in Tramp
24788         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
24789         `start-file-process' shall work when `non-essential' is
24790         non-nil, but there is already an established connection.
24791         <https://github.com/company-mode/company-mode/issues/462>
24793 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
24795         Fix selecting SQLite database files with sql-mode (Bug#23566)
24797         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
24798         SQLite database file name, by default.
24799         (sql-get-login-ext): Fixed read-file-name arguments to provide
24800         path completion even if a database name pattern is customized and to
24801         allow creation of new SQLite database files.
24803 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
24805         Clarify major mode switching
24807         * doc/emacs/modes.texi (Major Modes):
24808         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
24809         buffer has exactly one major mode and can't be "turned off", only
24810         switched away from (Bug#25357).
24812 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
24814         Add helpful comment to compile-command's docstring
24816         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
24817         docstring (Bug#25337).
24819 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
24821         Specify encoding of the bookmark file
24823         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
24824         Accept an argument CODING and include a 'coding:' cookie in the
24825         bookmark file preamble.
24826         (bookmark-upgrade-file-format-from-0): Call
24827         'bookmark-insert-file-format-version-stamp' with the file buffer's
24828         encoding, as detected when it was read.
24829         (bookmark-file-coding-system): New variable.
24830         (bookmark-load): Set bookmark-file-coding-system to the encoding
24831         of the loaded file.
24832         (bookmark-write-file): Bind coding-system-for-write to either the
24833         user setting via "C-x RET c" or to the existing file encoding,
24834         defaulting to 'utf-8-emacs'.  Update the value of
24835         bookmark-file-coding-system.  (Bug#25365)
24837 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
24839         Avoid infloop in 'ispell-region'
24841         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
24842         Protect against 'ispell-skip-region-alist' being nil.  Reported by
24843         Ernest Adrogué <nfdisco@gmail.com>, see
24844         http://lists.gnu.org/archive/html/help-gnu-emacs/2017-01/msg00007.html.
24846 2017-01-06  Philipp Stephani  <phst@google.com>
24848         Add support for Unicode whitespace in [:blank:]
24850         See Bug#25366.
24852         * src/character.c (blankp): New function for checking Unicode
24853         horizontal whitespace.
24854         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
24855         whitespace.
24856         (BIT_BLANK): New bit for range table.
24857         (re_wctype_to_bit, execute_charset): Use it.
24858         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
24859         unit test for [:blank:] character class.
24860         * test/src/regex-tests.el (test): Adapt unit test.
24861         * doc/lispref/searching.texi (Char Classes): Document new Unicode
24862         behavior for [:blank:].
24864 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
24866         Fix ':version' of 'select-enable-primary'
24868         * lisp/select.el (select-enable-primary): Fix a typo in
24869         ':version'.  (Bug#25375)
24871 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24873         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
24875         Author:
24877         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
24878         Avoid add-to-list on local variables.
24880 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
24882         Fix isearch handling of C-u C-u...
24884         * lisp/isearch.el: Add `isearch-scroll' property to
24885         universal-argument-more so that `isearch-allow-scroll' will apply to it
24886         as well.
24887         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
24888         `universal-argument-more' as well (Bug#25302).
24890 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
24892         Shorten autogen.sh script
24894         * autogen.sh: Use a shorter script, as some 'sed' implementations
24895         mishandle long scripts.
24897 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
24899         Yet another fix for autogen.sh
24901         * autogen.sh (gnulib.mk): Make the Sed script more portable.
24903         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
24904         the changes in autogen.sh.
24906 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
24908         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
24910 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
24912         Fix dependencies of nt/gnulib.mk
24914         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
24915         of nt/gnulib.mk on lib/Makefile.in.
24917 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
24919         Unbreak macOS build
24921         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
24922         Sed.
24924 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
24926         Fix term.el handling of ^Z-sequences spanning chunks
24928         Bash will after each command send ?\032 and the current directory "/tmp"
24929         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
24930         command outputs roughly 4096 bytes then the end of the first chunk will
24931         be "/tm" (Bug#13350).
24933         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
24934         end of the ?\032 sequence to use \n instead of $, the latter can match
24935         end of string as well.
24937 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
24939         Turn on lexical-binding in mb-depth.el
24941         * lisp/mb-depth.el: Turn on lexical-binding.
24942         (minibuffer-depth-setup): Bind things used multiple times.
24944 2017-01-04  Alan Third  <alan@idiocy.org>
24946         Revert "Rework NS event handling (bug#25265)"
24948         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
24950 2017-01-04  Glenn Morris  <rgm@gnu.org>
24952         Update remaining copyright years with admin.el M-x set-copyright
24954         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
24956 2017-01-04  Glenn Morris  <rgm@gnu.org>
24958         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
24960 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
24962         Port recent autogen.sh changes to Darwin
24964         Problem reported by Sam Steingold (Bug#25347).
24965         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
24966         POSIX does not require it and it does not work on Darwin.
24968 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
24970         Avoid add-to-list on local variables
24972         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
24973         (nnir-retrieve-headers): Use pcase.
24974         (nnir-search-thread): Avoid add-to-list on local variables.
24976         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
24977         (smime-verify-region): Avoid add-to-list on local variables.
24979         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
24980         (rmail-digest-parse-mime, rmail-digest-rfc1153)
24981         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
24983         * lisp/net/ldap.el (ldap-search): Move init into declaration.
24985         * lisp/net/newst-backend.el (newsticker--cache-add):
24986         Avoid add-to-list on local variables; Simplify code with `assq'.
24988         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
24989         (dbus-debug): Remove declaration, unused.
24990         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
24991         (zeroconf-service-browser-handler, zeroconf-publish-service):
24992         Avoid add-to-list and *-hook on local variables.
24994         * lisp/org/org-archive.el (org-all-archive-files):
24995         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
24996         Avoid add-to-list on local variables.
24998         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
24999         (org-publish-projects): Use it to avoid run-hooks on a local variable.
25000         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
25001         local variables.
25003         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
25004         (ada-prj-load-from-file): Avoid add-to-list on local variables.
25006         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
25007         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
25008         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
25010         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
25011         Avoid add-to-list on local variables.
25013 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
25015         Turn on lexical-binding in md4.el
25017         * lisp/md4.el: Turn on lexical-binding.
25018         * test/lisp/md4-tests.el: New file.
25020 2017-01-03  Stefan Merten  <stefan@merten-home.de>
25022         Lots of refactorings and a few minor improvements.
25024         User visible improvements and changes:
25025         * Improve and debug `rst-forward-section` and `rst-backward-section`.
25026         * Auto-enumeration may be used with all styles for list insertion.
25027         * Improve and debug `rst-toc-insert`.
25028         * Adapt change in Emacs to use customization group `text` instead of `wp`.
25029         * Bind `n` and `p` in `rst-toc-mode`.
25030         * `z` in `toc-mode` returns to the previous window configuration.
25031         * Require Emacs version >= 24.1.
25033         Lots of refactorings including:
25034         * Silence byte compiler.
25035         * Use lexical binding.
25036         * Use `cl-lib`.
25037         * Add tests and raise test coverage.
25039 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
25041         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
25043         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
25044         emit a warning for those coders who forgot to put a default value in
25045         their slot.
25047 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
25049         Small patch for ffap.el
25051         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
25052         while walking 'ffap-alist'.
25054 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
25056         Generate nt/gnulib.mk from lib/gnulib.mk
25058         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
25059         with the purpose of avoiding manual maintenance of
25060         nt/gnulib.mk.
25062         * nt/gnulib-modules-to-delete.cfg: New file.
25063         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
25064         (am__v_GEN_1): New variables.
25065         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
25066         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
25068         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
25069         files to link.
25070         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
25071         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
25072         running autoreconf.
25073         * Makefile.in (gnulib_mk): New variable.
25074         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
25075         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
25076         name.
25077         * .gitignore: Add nt/gnulib.mk.
25079         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
25080         build the acl-permissions module from Gnulib.
25082 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
25084         Handle multibyte chars spanning chunks in term.el
25086         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
25087         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
25088         buffer-local twice.
25089         (term-emulate-terminal): Check for bytes of incompletely decoded
25090         characters, and save them until the next call when they can be fully
25091         decoded (Bug#25288).
25093 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
25095         Finish work on filenotify-tests.el
25097         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
25098         New variable.
25099         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
25100         (file-notify--test-read-event, file-notify-test02-events)
25101         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
25102         (file-notify-test03-autorevert)
25103         (file-notify-test08-watched-file-in-watched-dir):
25104         Set `file-notify--test-desc' for proper work of
25105         `file-notify--test-monitor'.  (Bug#21804)
25107 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
25109         Check also for "gvfs-monitor-dir.exe" in Tramp
25111         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
25112         for "gvfs-monitor-dir.exe".
25114 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
25116         Fix compilation --without-x
25118         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
25119         font_range only if it is compiled in.  (Bug#25334)
25121 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
25123         Fix RefTeX to show table of contents for dtx files (tiny change)
25125         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
25126           section regexp so that it accepts lines starting with the comment
25127           character. (tiny change)
25128         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
25129           gathered toc entries, accepting a commented entry if and only if the
25130           source file is a ".dtx" file. (tiny change)
25132 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
25134         Remove mistakenly-added files
25136         Problem reported by Glenn Morris in:
25137         http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00008.html
25138         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
25139         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
25140         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
25141         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
25142         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
25143         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
25144         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
25145         Remove files that were added by mistake during a merge.
25147 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
25149         Warn about incomplete untarring of link files
25151         The current tar-mode doesn't really support unpacking symlinks, it
25152         simply creates an empty file of the same name.
25154         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
25155         `tar--check-descriptor'.
25156         (tar-untar-buffer): Use it to warn about imperfectly untarred link
25157         files.
25159 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
25161         Remove sh-mode's skeleton-end-hook
25163         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
25164         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
25165         and also respects `skeleton-end-newline' (Bug#16634).
25167 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25169         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
25171 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
25173         Add term/tmux.el
25175         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
25176         with xterm and screen terminfos.  This is simply a duplication of
25177         term/screen.el with screen -> tmux.
25178         * lisp/term/tmux.el: New file.
25180 2017-01-01  Philipp Stephani  <phst@google.com>
25182         Fix encoding of JSON surrogate pairs
25184         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
25185         individual code points; cf. Bug #24784.
25187         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
25188         pairs.
25189         (json--decode-utf-16-surrogates): New defun.
25191         * test/lisp/json-tests.el (test-json-read-string): Add test for
25192         surrogate pairs.
25194 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
25196         Remove tramp-gw.el, which was synced from emacs-25 by accident
25198 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25200         Do not use Gnulib’s m4/wint_t.m4.
25202         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
25203         Fix typo so that warn-on-use.m4 is removed too.
25204         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
25205         * m4/wint_t.m4: Remove.
25207 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25209         Merge from gnulib, continued
25211         * m4/wint_t.m4: New file, copied from gnulib.
25213 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25215         Update copyright year to 2017 in master
25217         Run admin/update-copyright in the master branch.  This fixes files
25218         that were not already fixed in the emacs-25 branch before it was
25219         merged here.
25221 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25223         Remove test/automated detritus from merge
25225 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25227         Merge from gnulib
25229         This incorporates:
25230         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
25231         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
25232         2016-12-17 getlogin: Port to newer mingw
25233         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
25234         2016-12-17 Avoid redefinition errors on MSVC
25235         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
25236         * m4/stdint.m4, m4/unistd_h.m4:
25237         Copy from gnulib.
25238         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
25239         Plus, this commit updates the indenting on copyright notices to
25240         match that of gnulib.
25242 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25244         Merge from origin/emacs-25
25246         2e2a806 Fix copyright years by hand
25247         5badc81 Update copyright year to 2017
25249 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25251         Merge from origin/emacs-25
25253         665be69 ; Update ChangeLog.2 and AUTHORS files
25255         # Conflicts:
25256         #       etc/AUTHORS
25258 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25260         Merge from origin/emacs-25
25262         697167b ; Improve wording of previous change in variables.texi
25263         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
25264         8b71826 Don't modify minibuffer variables globally
25265         5b5e036 Revert to pre-25.1 behavior in ffap
25266         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
25267         3ace730 Attempt to fix 64-bit AIX build
25268         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
25269         c04ac8a Document that variable binding order is unspecified
25270         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
25271         08de101 Fix M-x hints on Mac port
25272         86a297a Work around reporting a dpi change in apply_xft_settings
25273         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
25274         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
25275         88cdf14 Improve skeleton docstrings
25277 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25279         Merge from origin/emacs-25
25281         4179238 Improve documentation of 'w32-scroll-lock-modifier'
25283 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25285         Merge from origin/emacs-25
25287         9adb101 Document 'describe-fontset'
25288         229315c ; Add missing symbol quoting.
25289         3d94931 Repair desktop restoration on text terminals
25290         43022f9 Ignore forward-sexp-function in js-mode indentation code
25291         b19fb49 Improve documentation of 'define-coding-system'
25292         467768f Fix Bug#25162
25293         6db78ae Fix a typo in define-abbrev-table
25294         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
25295         442e2f6 Fixes related to select-enable-clipboard
25296         e4ac450 Define struct predicate before acccesors
25297         08decbd Doc fix for vc-git
25298         5531e75 Further improve make-dist checking
25299         953bf67 Improve previous make-dist change
25300         129645a Make make-dist --snapshot do some sanity checks
25302         # Conflicts:
25303         #       lisp/menu-bar.el
25305 2017-01-01  Alan Mackenzie  <acm@muc.de>
25307         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
25309         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
25310         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
25312         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
25313         t to (&rest def-form).
25315 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25317         Fix copyright years by hand
25319         These are dates that admin/update-copyright did not update, or
25320         updated incorrectly.
25322 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25324         Update copyright year to 2017
25326         Run admin/update-copyright.
25328 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
25330         Clarify internal_catch etc.
25332         The recent change to internal_catch and friends relied on some
25333         confusion I introduced to the code in 2013.  Attempt to fix
25334         the confusion by clarifying the code instead.  This saves an
25335         instruction and a load dependency in the typical case.
25336         * src/eval.c (internal_catch, internal_condition_case)
25337         (internal_condition_case_1, internal_condition_case_2)
25338         (internal_condition_case_n): Undo the previous change.  Instead,
25339         use use ‘c’ rather than ‘handlerlist’ in the typical case.
25340         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
25342 2016-12-31  Ken Brown  <kbrown@cornell.edu>
25344         Further improve filenotify-tests.el
25346         * test/lisp/filenotify-tests.el
25347         (file-notify--test-read-event): Adapt to file monitors of type
25348         GFamFileMonitor, which occur on Cygwin.
25349         (file-notify--test-monitor): Update doc string.
25351 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
25353         * src/xdisp.c (string_from_display_spec): Simplify.
25355 2016-12-31  Alan Third  <alan@idiocy.org>
25357         Rework NS event handling (bug#25265)
25359         * src/nsterm.m (unwind_apploopnr): Remove.
25360         (ns_read_socket): Remove references to apploopnr.  Make processing the
25361         NS event loop conditional on being in the main thread.
25362         (ns_select): Remove references to apploopnr.  Remove all fd_handler
25363         related stuff.  Check if there are events waiting on the NS event
25364         queue rather than running the event loop.  Remove unused variables and
25365         code.
25366         (fd_handler): Remove.
25367         (ns_term_init): Remove creation of fd_handler thread.
25368         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
25369         EmacsView:windowDidExpose): Remove send_appdefined.
25370         (ns_send_appdefined): Always check the event queue for
25371         applicationDefined events rather than relying on send_appdefined var.
25372         * src/nsterm.h: Remove reference to fd_handler method.
25374 2016-12-31  Philipp Stephani  <phst@google.com>
25376         Checkdoc: use syntax functions instead of regex
25378         In checkdoc.el, get rid of the error-prone regex to find definition
25379         forms, and use existing syntax-based navigation functions instead.
25380         This fixes a corner case with one-argument `defvar' forms.
25382         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
25383         (checkdoc-next-docstring, checkdoc-defun): Use it.
25384         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
25385         Add unit test.
25387 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
25389         Don't define NOMINMAX on MS-Windows
25391         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
25392         longer needed with the current sources and MinGW headers, while
25393         defining NOMINMAX causes an annoying compiler warning.
25395 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
25397         Simplify code in eval.c that calls 'setjmp'
25399         * src/eval.c (internal_catch, internal_condition_case)
25400         (internal_condition_case_1, internal_condition_case_2)
25401         (internal_condition_case_n): Factor out the common tail of the
25402         functions.
25404 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
25406         Simplify code in 'string_from_display_spec'
25408         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
25409         test before the loop.
25411 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
25413         Serialize random number generation on MS-Windows
25415         * src/w32.c (rand_as183): New function.
25416         (random): Use it instead of MS runtime's 'rand'.  This avoids
25417         producing separate and identical random series in each Lisp
25418         thread.
25419         (srandom): Modify to supply 3 seed values to 'rand_as183'.
25421 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
25423         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
25425 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
25427         Don't call xg_select for a NextStep build.
25429         NextStep builds use glib but don't use xg_select.
25431         * src/process.c (wait_reading_process_output): Don't call xg_select
25432         for a NextStep build.
25434 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
25436         Increase the obarray size.
25438         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
25439         the time we've started.  The old obarray size ensured an average chain
25440         length of 10 or more.
25442         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
25444 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
25446         Initialize thread support for Xlib.
25448         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
25449         before doing anything else with X.
25451 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25453         Rename primary_thread to main_thread
25455         This avoids the confusion of using two different phrases "main thread"
25456         and "primary thread" internally to mean the same thing.  See:
25457         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01142.html
25458         * src/thread.c (main_thread): Rename from primary_thread,
25459         since the new name no longer clashes with main_thread_id
25460         and Emacs internals normally call this the "main thread".
25461         (init_main_thread): Rename from init_primary_thread.
25462         (main_thread_p): Rename from primary_thread_p.
25463         All uses changed.
25465 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25467         Rename main_thread to main_thread_id and simplify
25469         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
25470         [HAVE_PTHREAD]: Do not include pthread.h.
25471         (main_thread): Remove.  All uses replaced by main_thread_id,
25472         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
25473         the main_thread_id established by sysdep.c, there is no need for a
25474         separate copy of the main thread ID here.
25475         (module_init): Remove.  All uses removed.
25476         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
25477         Rename from main_thread.  All uses changed.  Now extern.
25479 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
25481         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
25483 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25485         * src/sysdep.c (deliver_process_signal): Improve comment.
25487 2016-12-30  Alan Mackenzie  <acm@muc.de>
25489         CC Mode: Fix the fontification of a spuriously recognised enum member.
25491         The "enum" was in an argument list, but triggered the fontification of a
25492         following identifier in the function block as though it were in an enum
25493         declaration.
25495         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
25496         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
25497         call to c-font-lock-enum-body.
25499         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
25500         variable.
25502 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
25504         Bump Emacs version to 25.1.91
25506         * README:
25507         * configure.ac:
25508         * msdos/sed2v2.inp:
25509         * nt/README.W32: Bump Emacs version.
25510         * lisp/ldefs-boot.el: Update.
25512 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
25514         Attempt to fix crashes with threads in GTK builds
25516         * src/xgselect.c (xg_select): Call pselect via thread_select, not
25517         directly, to avoid running Lisp (via unblock_input) when more than
25518         one thread could be running.  (Bug#25247)
25519         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
25520         xg_select directly instead of through thread_select.
25521         * src/xgselect.h (xg_select): Last 2 arguments are no longer
25522         'const', for consistency with thread_select.
25524 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
25526         Add entry for biblatex
25528         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
25529         entry for biblatex macros.
25531 2016-12-30  Alan Mackenzie  <acm@muc.de>
25533         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
25535         The ambiguity was whether INITVALUE is evaluated when it's not going to be
25536         used to set SYMBOL's value.
25538         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
25540         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
25542 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
25544         ffap-string-at-point: Limit max length of active region
25546         Prevents that 'ffap-guesser' waste time checking large strings
25547         which are likely not valid candidates (Bug#25243).
25548         * lisp/ffap.el (ffap-max-region-length): New variable.
25549         (ffap-string-at-point): Use it.
25550         * test/lisp/ffap-tests.el: New test suite.
25551         (ffap-tests-25243): Add test for this bug.
25553 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
25555         last-chance: Also ignore NEWS files + typo fixes
25557         * admin/last-chance.el: Fix typo in copyright notice.
25558         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
25559         (last-chance-cleanup): Fix typo in docstring.
25561 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
25563         * mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
25565 2016-12-29  Alan Mackenzie  <acm@muc.de>
25567         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
25569         The ambiguity was whether INITVALUE is evaluated when it's not going to be
25570         used to set SYMBOL's value.
25572         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
25574 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
25576         Improve filenotify-tests.el
25578         * src/inotify.c (Finotify_valid_p):
25579         * src/kqueue.c (Fkqueue_valid_p):
25580         * src/w32notify.c (Fw32notify_valid_p):
25581         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
25582         (Fgfile_monitor_name): New defun.
25583         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
25585         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
25586         New defun, derived from `file-notify--test-read-event-timeout'.
25587         Replace all calls of `read-event' by this.
25588         (file-notify--test-timeout): Fix docstring.
25589         (file-notify--test-monitor): New defun.
25590         (file-notify--deftest-remote): Do not bind
25591         `file-notify--test-read-event-timeout' anymore.
25592         (file-notify-test00-availability): Print also monitor, if existent.
25593         (file-notify--test-with-events): Add an additional
25594         `file-notify--test-read-event' call, in order to get it work
25595         after `file-notify-add-watch'.  Remove special timeout for cygwin.
25596         (file-notify-test02-events): Make a better check for cygwin.
25597         (file-notify-test06-many-events): Improve event list for cygwin.
25598         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
25600 2016-12-29  Alan Mackenzie  <acm@muc.de>
25602         Partially correct fontification of "(b*3)", and the like, in C++ Mode
25604         This problem is caused by the fundamental ambiguity in C++ between
25605         argument declarations and initialisation clauses.
25607         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
25608         paren preceded by an arithmetic operator, we give this the context nil, not
25609         'arglist.
25611         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
25612         New lang consts and vars.
25614 2016-12-29  Alan Mackenzie  <acm@muc.de>
25616         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
25618         This is because there are times when this variable is changed by setcar before
25619         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
25620         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
25622         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
25624 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25626         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
25628         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
25629         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
25631 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
25633         Release Tramp 2.3.1
25635         * doc/misc/trampver.texi:
25636         * lisp/net/trampver.el: Change version to "2.3.1".
25638         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
25639         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
25641         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
25642         (tramp-compat-file-name-quote)
25643         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
25645 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
25647         Simplify prog1 implementation
25649         Inspired by a suggestion from Chris Gregory in:
25650         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00965.html
25651         On my platform, this generates exactly the same machine insns.
25652         * src/eval.c (prog_ignore): Rename from unwind_body, since
25653         it’s more general than that.  All callers changed.
25654         (Fprog1): Simplify by using prog_ignore.
25655         (Fwhile): Clarify by using prog_ignore.
25657 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25659         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
25661         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
25663 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
25665         Remove a use of lexical-let
25667         * lisp/gnus/message.el (message-completion-function): Just use let,
25668         since the file now uses lexical-binding.
25670 2016-12-27  Ken Brown  <kbrown@cornell.edu>
25672         Improve filenotify-tests.el on Cygwin (Bug #21804)
25674         * test/lisp/filenotify-tests.el [CYGWIN]
25675         (file-notify--test-read-event-timeout): Increase.
25676         (file-notify--test-with-events): Add delay before executing body.
25677         (file-notify-test02-events, file-notify-test04-file-validity):
25678         Adjust expected results.
25680 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
25682         Fix expand-file-name on DOS_NT systems when /: escaping is used
25684         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
25685         file names escaped by "/:".  Don't recursively expand
25686         default-directory escaped with "/:" which is not followed by a
25687         drive spec.  (Bug#25183)
25689 2016-12-27  Bake Timmons  <65pandas@gmail.com>
25691         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
25693         * doc/misc/gnus.texi (Mail Source Specifiers):
25694         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
25695         the correct `((group))' value.  (bug#25275) (tiny change)
25697 2016-12-27  Bake Timmons  <65pandas@gmail.com>
25699         Fix bug in customizing `mail-sources' variable (bug#25274)
25701         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
25702         for lone argument. (bug#25274) (tiny change)
25704 2016-12-26  Philipp Stephani  <phst@google.com>
25706         Checkdoc: Don't require a space before an arg list
25708         See Bug#24998.
25710         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
25711         space before a argument list.
25712         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
25713         Add unit test.
25715 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
25717         Document 'default-toplevel-value' and 'set-default-toplevel-value'
25719         * doc/lispref/variables.texi (Default Value): Document
25720         'default-toplevel-value' and 'set-default-toplevel-value'.
25722 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
25724         Add zshrc and zshenv detection to sh-mode (bug#25217)
25726         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
25728 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25730         Fix typo in lisp.h reordering patch
25732         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
25733         Reported by Eli Zaretskii (Bug#25128#19).
25735 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25737         regex.h now includes sys/types.h
25739         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
25740         Do not include sys/types.h; no longer needed.
25741         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
25742         glibc regex.h does, and POSIX has blessed this since 2008.
25744 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25746         Reorder lisp.h to declare types before using them
25748         This puts basic functions for types to be after the corresponding
25749         type definitions.  This is a more-common programming style in C,
25750         and will make it easier to port Emacs to gcc
25751         -fcheck-pointer-bounds, since the functions now have access to the
25752         corresponding types' sizes.  This patch does not change the code;
25753         it just moves declarations and definitions and removes
25754         no-longer-needed forward declarations (Bug#25128).
25755         * src/buffer.c, src/data.c, src/image.c:
25756         Include process.h, for PROCESSP.
25757         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
25758         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
25759         * src/termhooks.h (TERMINALP, XTERMINAL):
25760         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
25761         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
25762         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
25763         Move here from lisp.h.
25764         * src/intervals.h: Include buffer.h, for BUFFERP.
25765         Include lisp.h, for Lisp_Object.
25766         * src/lisp.h: Reorder declarations and definitions as described
25767         above.  Move thread includes to be later, so that they can use the
25768         reordered definitions.  Move some symbols to other headers (noted
25769         elsewhere).  Remove forward decls that are no longer needed.
25770         * src/thread.h: Include systhread.h here, not in lisp.h,
25771         since lisp.h itself does not need systhread.h.
25773 2016-12-25  Leo Liu  <sdl.web@gmail.com>
25775         Don't modify minibuffer variables globally
25777         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
25779 2016-12-25  Dima Kogan  <dima@secretsauce.net>
25781         diff-mode auto-refines only after a successful motion
25783         Prior to this patch (if enabled) auto-refinement would kick in after all
25784         hunk navigation commands, even if the motion failed.  This would result
25785         in a situation where the hunk navigation would signal an error and beep,
25786         but yet still accomplish potentially useful work, by auto-refining.
25787         This patch moves the auto-refinement code to only run when a motion was
25788         successful
25790         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
25791           diff--internal-hunk-prev): Removed auto-refinement-triggering code
25792         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
25793           auto-refinement-triggering code
25795 2016-12-25  Dima Kogan  <dima@secretsauce.net>
25797         diff-mode is able to better handle file headers
25799         This fixes a regression introduced in
25801           http://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
25803         This bug was filed in
25805           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
25807         Patches generated from a VCS such as git contain a patch message at the
25808         start, and diff-mode is now once-again able to properly able to ignore
25809         this message when issuing navigation commands around the message.
25811         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
25812           thoroughly ignore the header when looking for a beginning of file
25813           diffs.
25815 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25817         Use libpng-config --ldflags, not --libs
25819         Problem reported by James K. Lowden (Bug#25268).
25820         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
25822 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
25824         Revert to pre-25.1 behavior in ffap
25826         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
25827         the same behavior as in Emacs 24.x.  (Bug#25264)
25828         Explain the trade-offs of customizing this in the doc string.
25830 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
25832         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
25834 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
25836         Remove redundant `save-match-data' in whitespace.el
25838         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
25839         (whitespace-report-region): Remove redundant `save-match-data' calls.
25841 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
25843         Fix whitespace eob cleanup
25845         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
25846         of empty lines at end of buffer.
25847         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
25848         (whitespace-tests--cleanup-string): New helper function for tests.
25850 2016-12-24  Hong Xu  <hong@topbug.net>
25852         Fix timezone detection of parse-iso8601-time-string
25854         * parse-time.el (parse-iso8601-time-string): Fix timezone
25855         parsing.  Add a doc string.  (Bug#25086)
25856         * editfns.c (Fdecode-time): Doc fix.
25857         * emacs-mime.texi (time-date): Add an example for
25858         parse-iso8601-time-string.
25859         * parse-time-tests.el (parse-time-tests): Add tests for
25860         parse-iso8601-time-string.
25862 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25864         Simplify exec_byte_code via moving decls etc.
25866         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
25867         initializers into decls, and by omitting some unnecessary changes
25868         to ‘top’.
25870 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25872         Remove interpreter’s byte stack
25874         This improves performance overall on my benchmark on x86-64,
25875         since the interpreted program-counter resides in a machine
25876         register rather than in RAM.
25877         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
25878         is no longer a byte stack to decode.
25879         * src/bytecode.c (struct byte_stack, byte_stack_list)
25880         (relocate_byte_stack): Remove.  All uses removed.
25881         (FETCH): Simplify now that pc is now local (typically, in a
25882         register) and no longer needs to be relocated.
25883         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
25884         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
25885         (exec_byte_code): Allocate a copy of the function’s bytecode,
25886         so that there is no problem if GC moves it.
25887         * src/lisp.h (struct handler): Remove byte_stack member.
25888         All uses removed.
25889         * src/thread.c (unmark_threads): Remove.  All uses removed.
25890         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
25891         All uses removed.  m_stack_bottom is now the first non-Lisp field.
25893 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25895         BYTE_CODE_SAFE typo fix
25897         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
25898         not on whether it is defined.
25900 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25902         BYTE_CODE_SAFE cleanups
25904         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
25905         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
25906         Remove unused members ‘top’ and ‘bottom’.
25907         (exec_byte_code): Nest inside { } to avoid GCC warning about
25908         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
25910 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
25912         last-chance: new utility lib for dangling deterrence
25914         * admin/last-chance.el: New file.
25916 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25918         Use max_align_t instead of void *
25920         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
25922 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
25924         Attempt to fix 64-bit AIX build
25926         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
25927         type-casts that assumed 32-bit pointers.  (Bug#25141)
25929 2016-12-23  Philipp Stephani  <phst@google.com>
25931         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
25933         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
25935 2016-12-23  Philipp Stephani  <phst@google.com>
25937         Document that variable binding order is unspecified
25939         * doc/lispref/variables.texi (Local Variables):
25940         * cl.texi (Modify Macros): Document that binding order in 'let' and
25941         'cl-letf' is unspecified.
25943 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
25945         Prevent infloops in redisplay due to truncate-lines and overlays
25947         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
25948         redisplay_window when a screen line ends in an overlay string with
25949         a newline.  (Bug#25246)
25951 2016-12-23  Philipp Stephani  <phst@google.com>
25953         Treat incomplete integer literals as errors
25955         See Bug#25120.
25957         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
25958         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
25959         incomplete integer literals.
25961 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
25963         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
25965 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
25967         Fix M-x hints on Mac port
25969         * lisp/simple.el (execute-extended-command--shorter): Call
25970         input-pending-p to trigger input processing on some systems, such
25971         as Mac port.  (Bug#23002)
25973 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
25975         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
25977 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
25979         Avoid aborts due to unaligned byte stack of threads
25981         * src/thread.c (run_thread): Make sure the pointers to thread byte
25982         stack are properly aligned.  (Bug#25247)
25984 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
25986         Pacify --enable-gcc-warnings
25988         * src/charset.c (load_charset_map):
25989         * src/coding.c (decode_coding_object):
25990         * src/frame.c (make_frame):
25991         * src/window.c (Frecenter):
25992         Mark locals with UNINIT to silence false alarms from
25993         -Wmaybe-uninitialized.
25994         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
25995         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
25996         Check and assume that values are nonnull.  This pacifies
25997         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
25998         Fmake_local_variable.
26000 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
26002         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
26004         * src/thread.c (primary_thread_p): New function.
26005         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
26006         meant for thread objects allocated dynamically.
26007         * src/thread.h (primary_thread_p): Add prototype.
26009 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
26011         Work around reporting a dpi change in apply_xft_settings
26013         * src/xsettings.c (apply_xft_settings): Don't report a change
26014         when dpi settings do not differ substantially.
26016 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
26018         Use completion-at-point in verilog-mode
26020         There were some functions in verilog-mode that implemented in-buffer
26021         completion, but this needlessly duplicates completion-at-point
26022         functionality, and the popup window management had problems
26023         (see Bug #23842).  We need to keep them for backwards compatibility with
26024         older emacs versions, but use completion-at-point if available.
26026         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
26027         obsolete if completion-cycle-threshold is available.
26028         (verilog-mode-map, verilog-menu): Bind completion-at-point and
26029         completion-help-at-point in preference to verilog-complete-word and
26030         verilog-show-completions, respectively.
26031         (verilog-mode): Add verilog-completion-at-point to
26032         completion-at-point-functions.
26033         (verilog-completion-at-point): New function.
26034         (verilog-show-completions, verilog-complete-word): Use it to avoid code
26035         duplication.
26037 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
26039         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
26041         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
26042         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
26043         retain their hardwired values, and all other dictionaries are given
26044         sensible defaults.
26046 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26048         * tex-mode.el (tex-compile-commands): Add luatex and xetex commands
26050 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
26052         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
26054         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
26055         for thread objects.  They are marked via the all_threads list, and
26056         therefore don't need to be inserted into the red-black tree, so
26057         mem_find will never find them.  Reported by Daniel Colascione
26058         <dancol@dancol.org> in
26059         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00817.html.
26061 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26063         * src/data.c (Fmake_variable_frame_local): Remove
26065         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
26067         * src/data.c (swap_in_symval_forwarding, set_internal)
26068         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
26069         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
26070         Don't pay attention to ->frame_local any more.
26071         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
26072         Smake_variable_frame_local.
26074         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
26075         of make-variable-frame-local.
26077         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
26078         frame-local case.
26080         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
26082         * src/frame.c (store_frame_param):
26083         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
26085         * src/widget.c (first_frame_p): Remove, unused.
26087 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
26089         Port dumping better to WSL
26091         Problem reported by Angelo Graziosi in:
26092         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00822.html
26093         * src/sysdep.c (disable_address_randomization):
26094         Detect buggy platforms where 'personality' always returns 0.
26096 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
26098         Remove gateway methods in Tramp
26100         * doc/misc/tramp.texi (Top, Configuration): Remove section
26101         `Gateway methods', insert section `Firewalls' in menu.
26102         (History): Gateways are removed now.
26103         (Gateway methods): Remove section.
26104         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
26105         (Firewalls): New section.
26107         * etc/NEWS: Gateway methods in Tramp have been removed.
26109         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
26110         (tramp-file-name-port, tramp-accept-process-output): Simplify.
26112         * lisp/net/tramp-gw.el: Remove.
26114         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
26115         (tramp-gw-socks-method): Remove declarations.
26116         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
26117         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
26118         (tramp-do-copy-or-rename-file-out-of-band)
26119         (tramp-compute-multi-hops, tramp-maybe-open-connection):
26120         Remove gateway support.
26122         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
26123         Remove gateway tests.
26125 2016-12-20  Alan Mackenzie  <acm@muc.de>
26127         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
26129         lisp/progmodes/cc-defs.el: Amend the version number.
26130         etc/NEWS: Add an item explaining the change.
26132 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
26134         files-test-read-file-in-: Delete temporary dir on exit
26136         * test/lisp/files-tests.el (files-test-read-file-in-~):
26137         Create subdir inside dir.
26139 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
26141         ibuffer: New filters and commands
26143         Add several new filters and improve documentation.
26144         See discussion on:
26145         https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00399.html
26146         * lisp/ibuf-ext.el: Add paragraph to file commentary.
26147         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
26148         (ibuffer-filter-groups): Update doc string.
26149         (ibuffer-unary-operand): Add new function that transparently
26150         handles 'not' formats for compound filters.
26151         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
26152         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
26153         (ibuffer-decompose-filter): Handle 'and' as well,
26154         and handle 'not' consistently with other uses.
26155         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
26156         (ibuffer--or-and-filter): New defun.
26157         (ibuffer-or-filter, ibuffer-and-filter): Use it.
26158         (ibuffer-format-qualifier): Handle 'and' filters as well.
26159         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
26160         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
26161         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
26162         Add new pre-defined filters.
26163         (ibuffer-filter-chosen-by-completion): Add new interactive command
26164         for easily choosing a filter from the descriptions.
26165         * lisp/ibuffer.el (ibuffer-mode-map):
26166         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
26167         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
26168         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
26169         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
26170         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
26171         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
26172         and '/ DEL' respectively.
26173         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
26174         skip specification.
26175         Add menu entries for the new filters.
26176         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
26177         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
26178         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
26179         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
26180         ibuffer-decompose-filter, ibuffer-and-filter
26181         ibuffer-or-filter): Add new tests; they are skipped unless
26182         ibuf-ext is loaded.
26184 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
26186         Update NEWS
26188         * etc/NEWS (Image-Dired): New section.
26190 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
26192         Recognize graphicsmagick in image-dired
26194         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
26195         (image-dired-cmd-create-thumbnail-options):
26196         (image-dired-cmd-create-temp-image-program):
26197         (image-dired-cmd-create-temp-image-options):
26198         (image-dired-cmd-create-standard-thumbnail-options):
26199         (image-dired-cmd-rotate-thumbnail-program):
26200         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
26201         gm(1) executable.
26203 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
26205         Improve skeleton docstrings
26207         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
26208         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
26209         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
26210         `skeleton-end-hook' above the explanation of skeleton syntax.
26212 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
26214         Implement asynchronous thumbnail generation in image-dired
26216         Additionally, all FOO-options defcustoms that were in fact shell command
26217         strings have been converted to argument lists.  Another method for
26218         shrinking PNG thumbs with optipng(1) has been added.
26219         * lisp/image-dired.el: Remove TODO item in commentary.
26220         (image-dired-cmd-create-thumbnail-options):
26221         (image-dired-cmd-create-temp-image-options):
26222         (image-dired-cmd-rotate-thumbnail-options):
26223         (image-dired-cmd-rotate-original-options):
26224         (image-dired-cmd-write-exif-data-options):
26225         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
26226         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
26227         Change string type to file.
26228         (image-dired-cmd-create-standard-thumbnail-command): Remove.
26229         (image-dired-cmd-pngnq-options):
26230         (image-dired-cmd-create-standard-thumbnail-options):
26231         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
26232         New defcustoms.
26233         (image-dired-queue, image-dired-queue-active-jobs):
26234         (image-dired-queue-active-limit): New variables.
26235         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
26236         (image-dired-optipng-thumb): New functions.
26237         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
26238         Use start-process instead of call-process.  Set file modes.  Trigger
26239         PNG file optimization in process sentinel.
26240         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
26241         (image-dired-display-thumbs):
26242         (image-dired-create-thumbs): Don't expect call-process return value.
26243         (image-dired-display-image, image-dired-rotate-thumbnail): Use
26244         start-process instead of call-process.
26245         (image-dired-rotate-original, image-dired-set-exif-data):
26246         (image-dired-get-exif-data): Adapt to arguments being an arg list.
26248 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
26250         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
26252         * indent.c (restore_window_buffer): New function.
26253         (Fvertical_motion): Use it to restore window's buffer.
26255 2016-12-19  Glenn Morris  <rgm@gnu.org>
26257         Improve default load-path for uninstalled CANNOT_DUMP builds
26259         * src/lread.c (load_path_default) [CANNOT_DUMP]:
26260         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
26261         I think this became an issue several years ago when we stopped
26262         using EMACSLOADPATH in the Makefiles; however this change should
26263         improve the CANNOT_DUMP uninstalled case in general.
26265 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26267         Improve documentation of 'w32-scroll-lock-modifier'
26269         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
26270         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
26272         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
26273         fix.  (Bug#25204)
26275 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26277         Document 'describe-fontset'
26279         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
26280         (Bug#25216)
26282 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26284         Document 'describe-fontset'
26286         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
26287         (Bug#25216)
26289 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26291         Fix crashes upon C-g on Posix TTY frames
26293         * src/thread.h (struct thread_state): New member not_holding_lock.
26294         (maybe_reacquire_global_lock): Add prototype.
26295         * src/thread.c: Include syssignal.h.
26296         (maybe_reacquire_global_lock): New function.
26297         (really_call_select): Set the not_holding_lock member of the
26298         thread state before releasing the lock, and rest it after
26299         re-acquiring the lock when the select function returns.  Block
26300         SIGINT while doing this to make sure we are not interrupted on TTY
26301         frames.
26302         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
26303         functions.
26304         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
26305         Add prototypes.
26306         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
26307         maybe_reacquire_global_lock.  (Bug#25178)
26309 2016-12-19  Sam Steingold  <sds@gnu.org>
26311         avoid Eager macro-expansion failure: (void-function string-to-list)
26313         * loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
26314           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
26315           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
26317 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
26319         Fix Bug#24980
26321         * lisp/ido.el (ido-add-virtual-buffers-to-list):
26322         Suppress Tramp invocation.  (Bug#24980)
26324 2016-12-18  Philipp Stephani  <phst@google.com>
26326         Add a new compile error regexp for Clang includes
26328         Clang uses a slight variation of GCC's include format, causing includes
26329         to be treated as warnings instead of informational messages.  Use a new
26330         regular expression instead.
26332         * lisp/progmodes/compile.el
26333         (compilation-error-regexp-alist-alist): New element
26334         `clang-include' for Clang-style "included from" lines.
26335         * test/lisp/progmodes/compile-tests.el
26336         (compile-tests--test-regexps-data): Add unit test.
26338 2016-12-18  Alan Third  <alan@idiocy.org>
26340         Reinstate ispell character offset (bug#25219)
26342         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
26343         ispell-offset used to be.
26345 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
26347         Bind new image-mode scroll commands in image-dired
26349         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
26350         to new image-mode commands.
26352 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
26354         Fix rx-any with range with ?\] and ?-
26356         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
26357         list (Bug#25123).
26358         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
26360 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
26362         Use floor of mtime instead of rounding for thumb property
26364         This seems to be the correct thing to do, at least more in line with
26365         what at least one other implementation does.  Anything using
26366         gnome-desktop [0] effectively does the same, as
26367         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
26368         comparison and time_t on GNU/Linux is a signed int.
26369         [0] https://git.gnome.org/browse/gnome-desktop/
26370         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
26372 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
26374         Fix spelling mistake in private defun name (Bug#25218)
26376         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
26377         `flyspell-adjust-cursor-point'.
26379 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
26381         Remove XEmacs support from flyspell.el (Bug#25218)
26383         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
26384         (flyspell-word, flyspell-delete-region-overlays):
26385         (flyspell-correct-word-before-point): Remove XEmacs support.
26386         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
26388 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
26390         More tests for Tramp
26392         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
26393         file names.
26395         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
26396         name properly.
26398         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
26399         Mark quoted file name as absolute.  (Bug#25183)
26400         (tramp--test-windows-nt-and-batch)
26401         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
26402         (tramp--test-windows-nt-or-smb-p): Rename from
26403         `tramp--test-smb-windows-nt-p'.  Adapt callees.
26404         (tramp--test-check-files): Improve checks for environment variables.
26405         (tramp-test33-special-characters)
26406         (tramp-test33-special-characters-with-stat)
26407         (tramp-test33-special-characters-with-perl)
26408         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
26409         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
26410         (tramp-test34-utf8-with-ls): Add more checks for skip.
26412 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
26414         Fix comments
26416         * src/thread.h (struct thread_state): Fix comments.
26417         * src/process.c (wait_reading_process_output): Fix a typo in
26418         commentary.
26420 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
26422         Repair desktop restoration on text terminals
26424         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
26425         frame here, instead of in desktop-restoring-frameset.  That's
26426         because desktop-read wants to know whether frameset will actually
26427         be restored, and has fallback procedures up its sleeve when it
26428         won't be; these fallbacks need to be invoked when the frameset is
26429         not going to be restored.  (Bug#24298)
26431 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
26433         Fix crashes on MS-Windows during dumping
26435         * src/unexw32.c (get_section_info): Make extra_bss_size be the
26436         maximum of extra_bss_size and extra_bss_size_static.  This avoids
26437         computing the size of the output file smaller than it actually
26438         needs to be, which then causes copy_executable_and_dump_data to
26439         write beyond the requested size of the file mapping, thus relying
26440         on the OS roundup to page boundary to save us from ourselves.  See
26441         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00642.html
26442         for the details.
26444         * lib/stdio-impl.h: Revert the workaround fix of not including
26445         errno.h for MinGW.
26447 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
26449         Ignore forward-sexp-function in js-mode indentation code
26451         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
26452         (js--maybe-goto-declaration-keyword-end):
26453         Bind forward-sexp-function to nil (bug#25215).
26455 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
26457         Be more selective clearing the image cache
26459         * lisp/image-dired.el (image-dired-create-thumbs):
26460         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
26461         the current thumbnail file from the image cache.
26463 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
26465         Unbreak the MinGW build
26467         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
26468         this, temacs crashes while dumping.
26470 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
26472         Make seq-into return the sequence when no conversion needed
26474         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
26475           no conversion is needed.
26476         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
26477           a regression test checking for identity.
26479 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
26481         Improve documentation of 'define-coding-system'
26483         * lisp/international/mule.el (define-coding-system): Warn against
26484         possible infinite recursion in pre-write-conversion and
26485         post-read-conversion functions.  (Bug#25203)
26487 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
26489         New commands image-scroll-left and image-scroll-right
26491         * etc/NEWS: Mention them.
26492         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
26493         functions.
26495 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
26497         More image-dired refactoring
26499         * lisp/image-dired.el (image-dired-thumbnail-mode):
26500         (image-dired-display-image-mode): Add :group 'image-dired so
26501         customize-mode works.
26502         (image-dired-display-image): Rearrange.
26503         (image-dired-copy-with-exif-file-name): This map is for side effect.
26504         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
26506 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
26508         * lisp/image-dired.el: Turn on lexical-binding.
26510 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
26512         Teach image-dired to also generate large thumbs
26514         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
26515         standard-large option.
26516         (image-dired-thumb-size): Add condition for standard-large storage.
26517         (image-dired-insert-thumbnail): Check for new option.  Change
26518         thumbnail path conditionally.
26519         (image-dired-thumb-size): New function.
26520         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
26522 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26524         Merge from gnulib
26526         This incorporates:
26527         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
26528         2016-12-12 fpending: port to native Windows with MSVC
26529         * .gitignore: Do not ignore lib/stdio-impl.h.
26530         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
26531         Copy from gnulib.
26532         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
26533         * lib/stdio-impl.h:
26534         New file, copied from gnulib.
26535         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
26537 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26539         * emacs-document.svg: Append newline.
26541 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
26543         Don't abuse princ and spam messages
26545         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
26546         (image-dired-display-thumb-properties):
26547         (image-dired-dired-display-properties): Nix princ.  Bind
26548         message-log-max to nil.
26550 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
26552         Inherit things from special-mode and image-mode
26554         * lisp/image-dired.el: Require image-mode library.
26555         (image-dired-thumbnail-mode-map): Remove superfluous binding.
26556         (image-dired-display-image-mode-map): Remove superfluous binding.
26557         Add movement remaps from image-mode-map.
26558         (image-dired-thumbnail-mode): Derive from special-mode.
26559         (image-dired-display-image-mode): Derive from special-mode. Call
26560         image-mode-setup-winprops.
26562 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
26564         Fix some image-dired customization types
26566         * lisp/image-dired.el (image-dired): Add info link to defgroup.
26567         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
26568         (image-dired-db-file, image-dired-temp-image-file):
26569         (image-dired-cmd-create-thumbnail-program):
26570         (image-dired-cmd-create-temp-image-program):
26571         (image-dired-cmd-rotate-thumbnail-program):
26572         (image-dired-cmd-rotate-original-program):
26573         (image-dired-temp-rotate-image-file):
26574         (image-dired-cmd-write-exif-data-program):
26575         (image-dired-cmd-read-exif-data-program): Set type to file.
26576         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
26577         type at runtime, since setting image-dired-thumb-size does not
26578         automatically set image-dired-thumb-width and image-dired-thumb-height.
26580 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
26582         Prevent crashes in xg_select due to concurrency
26584         * src/xgselect.c (xg_select): Don't call Glib functions that use
26585         'context' if we failed to acquire it.  This means some other
26586         thread owns the context, in which case both using the context and
26587         calling block_input/unblock_input will step on that thread's toes
26588         and eventually lead to crashes.  (Bug#25172)
26590 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
26592         Fix circular list handling in seq-mapn
26594         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
26595         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
26596           Add a regression test.
26598 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
26600         Check in tramp-tests.el, that environment variables are set correctly
26602         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
26603         Check also, that environment variables are set correctly.
26605 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
26607         Protect environment variables with double quotes in Tramp
26609         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
26610         Protect environment variables with double quotes.
26612 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
26614         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
26616 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
26618         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
26620 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
26622         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
26624 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
26626         Recognize pngnq or pngnq-s9
26628         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
26629         pngnq-s9 as a possible executable.
26631 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
26633         Update standard image-dired thumbnail location
26635         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
26636         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
26638 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
26640         Reset window scroll when displaying an image
26642         When viewing a large image full size and scrolling, for instance, to
26643         the lower right corner, then selecting a much smaller image in the
26644         thumbnail buffer, the window stays scrolled so the new image is out of
26645         the window.  One must scroll back to the "origin" to view the new
26646         displayed image, or just kill the image-dired-display-image buffer and
26647         try again.  This fixes the issue.
26648         * lisp/image-dired.el (image-dired-display-window-width):
26649         (image-dired-display-window-height): Operate on a window as argument.
26650         (image-dired-display-image): Bind (image-dired-display-window) and use
26651         it. Set window vscroll and hscroll to zero when refreshing the
26652         buffer's contents.
26654 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
26656         More image-dired polish
26658         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
26659         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
26660         undo list. Add image-dired-file-name-at-point to
26661         file-name-at-point-functions to facilitate find-file and friends.
26662         (image-dired-thumbnail-display-external):
26663         (image-dired-dired-display-external): Use start-process instead, to
26664         avoid needlessly blocking and using a shell.
26666 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
26668         Replace ldefs-boot with a much smaller file
26670          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
26671            (bootstrap): Depend on bootstrap-build.
26672          * admin/ldefs-clean.el: New file.
26673          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
26674          * lisp/ldefs-boot.el: Remove.
26675          * lisp/ldefs-boot-auto.el: New file.
26676          * lisp/ldefs-boot-manual.el: New file.
26677          * lisp/loadup.el: Load ldefs-boot-manual.el.
26678          * src/emacs.c (generating_ldefs_boot): New variable.
26679            (main): Check whether we are generating ldefs.
26680          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
26681            requested.
26682          * src/lisp.h (generating_ldefs_boot): New variable.
26683          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
26684            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
26685            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
26686            ldefs-boot.
26687          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
26689 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26691         Remove support for aspell < 0.60 (from 2004)
26693         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
26694         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
26696 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26698         Minor docstring and comment fixes to ispell.el
26700         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
26701         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
26702         (ispell-set-spellchecker-params): Change double-single quotes to
26703         single single quotes in comment.
26705 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26707         Remove unused variable
26709         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
26711 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26713         Remove XEmacs-specific ispell-with-no-warnings
26715         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
26716         defmacro, needed only for XEmacs.
26717         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
26719 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26721         Remove meaningless defconst ispell-version
26723         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
26724         firmly part of Emacs, and the version hasn’t changed since 2003, and
26725         isn’t used anywhere, remove it.  3rd-party code can better use the
26726         Emacs version, or feature or function checks.
26727         (ispell-check-version): No longer report ispell.el version.
26729 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26731         Remove boundp test for always-bound symbol
26733         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
26734         defvar’d at the top of the file, so remove a test to see if it is
26735         bound.
26737 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26739         Remove support for ispell < 3.1.12
26741         * lisp/textmodes/ispell.el (ispell-offset): Remove.
26742         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
26743         (ispell-process-line): No longer use ispell-offset.
26745 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26747         Remove unused constant
26749         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
26751 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26753         Remove support for old versions of supercite and GNUS from ispell.el
26755         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
26756         and GNUS >= 5.  Not exactly the bleeding edge!
26758 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26760         Remove remaining mentions of XEmacs from ispell.el
26762         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
26763         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
26764         comments.
26766 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26768         Remove XEmacs-specific minibuffer handling code from ispell.el
26770         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
26771         XEmacs.
26773 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26775         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
26777         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
26778         XEmacs-specific code.
26780 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26782         Remove XEmacs-specific code dealing with enable-multibyte-characters
26784         * lisp/textmodes/ispell.el (ispell-decode-string):
26785         (ispell-init-process):  Remove XEmacs-specific guard.
26787 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26789         Remove XEmacs-specific code from ispell.el
26791         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
26792         (ispell-menu-map-needed): Remove XEmacs-specific check.
26793         (ispell-word): Remove XEmacs-specific extent code.
26794         (ispell-init-process): Remove XEmacs workaround for local add-hook.
26795         Assume we have set-process-query-on-exit-flag.
26796         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
26797         workaround for called-interactively-p.
26799 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26801         Remove some commented-out code
26803         lisp/textmodes/ispell.el (ispell-process)
26804         ispell-valid-dictionary-list): Remove commented-out code.
26806 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26808         Remove XEmacs and old Emacs highlighting code
26810         * lisp/textmodes/ispell.el
26811         (ispell-highlight-spelling-error-xemacs): Remove.
26812         (ispell-highlight-spelling-error): Assume display-color-p exists.
26814 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26816         Assume Emacs supports [:alpha:] in regexps
26818         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
26819         (ispell-set-spellchecker-params): Remove tests of
26820         ispell-emacs-alpha-regexp.
26822 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26824         Remove some XEmacs-specific code from ispell.el
26826         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
26827         (ispell-int-char): Remove.
26829 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26831         Generalise over-specific documentation
26833         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
26834         document precise personal wordlist filenames for only two supported
26835         spelling checkers, simply say that the default personal dictionary
26836         depends on the chosen spelling checker.  The user can check the
26837         spelling checker’s documentation if necessary.  This is simpler, and
26838         works for other supported (and future, or unknown) spelling checkers.
26840 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26842         Remove tests for built-in functions
26844         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
26845         back-up definition.
26846         (ispell-add-per-file-word-list): Remove tests for comment-padright and
26847         comment-normalize-vars.
26849 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26851         Remove unused ispell-looking-back
26853         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
26855 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26857         Assume we have version<= for checking ispell version
26859         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
26860         (ispell-check-version): Use version<= directly.
26862 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
26864         Remove ispell.el pre-GNU Emacs comments
26866         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
26867           details, as Emacs version, bug report address and so forth should be
26868           used instead for this version.  Remove in-line change history; use
26869           git instead.
26871 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
26873         More small fixes for image-dired
26875         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
26876         node.
26877         (image-dired--with-db-file): Add declare forms.
26878         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
26879         run through the whole list.
26881 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
26883         Remove image-dired-kill-buffer-and-window
26885         This breaks window layout, especially when quitting a
26886         image-dired-display-image-mode buffer.
26887         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
26888         (image-dired-display-image-mode-map): Replace in keymap and menu items
26889         bindings to image-dired-kill-buffer-and-window with quit-window.
26890         (image-dired-kill-buffer-and-window): Remove.
26892 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
26894         Replace image-dired-setup-dired-keybindings with a minor mode
26896         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
26897         remove mention of nonexistent image-dired-dired and to refer to the
26898         new minor mode.
26899         (image-dired-minor-mode-map): New keymap assimilated from
26900         image-dired-setup-dired-keybindings.  In the future, the keymap parent
26901         should be removed, and perhaps also the duplicate bindings that
26902         already exist in dired-mode-map.
26903         (image-dired-setup-dired-keybindings): Remove.  Replace with an
26904         obsolete function alias.
26905         (image-dired-minor-mode): New minor mode, assuming the role of
26906         image-dired-setup-dired-keybindings.
26908 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
26910         * test/src/regex-resources/PTESTS: Convert to UTF-8.
26912 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
26914         Clarify thread-signal semantics
26916         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
26917         thread will be signaled as soon as possible.
26919 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
26921         Clean up var watcher disabling on thread switching
26923         * src/data.c (Fset_default): Move code into new C level function,
26924         `set_default_internal'.
26925         (set_default_internal): New function, like `Fset_default' but also takes
26926         additional bindflag parameter.
26927         (set_internal): Only call `notify_variable_watchers' if bindflag is not
26928         SET_INTERNAL_THREAD_SWITCH.
26929         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
26930         passed on to set_internal and set_default_internal.  Adjust callers.
26931         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
26932         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
26933         temporarily adjusting symbol's trapped_write field.
26935 2016-12-13  Glenn Morris  <rgm@gnu.org>
26937         Minor fix for define-derived-mode
26939         * lisp/emacs-lisp/derived.el (define-derived-mode):
26940         Do not let eg eval-defun reset the values of syntax or abbrev tables,
26941         since they might have been defined externally.  (Bug#16160)
26943 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
26945         * build-aux/git-hooks/pre-commit: Add whitespace comment.
26947 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
26949         Move backtrace to ELisp using a new mapbacktrace primitive
26951         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
26952         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
26953         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
26955         * lisp/subr.el (backtrace--print-frame): New function.
26956         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
26957         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
26959         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
26960         `mapbacktrace' instead of searching for "(debug" in the output of
26961         `backtrace'.
26963         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
26964         (subr-test-backtrace-integration-test): New tests.
26966         * doc/lispref/debugging.texi (Internals of Debugger): Document
26967         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
26969 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
26971         Use C99 syntax for font drivers
26973         Problem reported by Daniel Colascione in:
26974         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00515.html
26975         * src/ftcrfont.c (ftcrfont_driver):
26976         * src/ftfont.c (ftfont_driver):
26977         * src/ftxfont.c (ftxfont_driver):
26978         * src/macfont.m (macfont_driver):
26979         * src/nsfont.m (nsfont_driver):
26980         * src/xfont.c (xfont_driver):
26981         * src/xftfont.c (xftfont_driver):
26982         Use C99 syntax, not the old GNU C syntax.
26984 2016-12-12  Glenn Morris  <rgm@gnu.org>
26986         Obsolete gs.el
26988         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
26989         * doc/lispref/display.texi (Image Formats): Remove postscript.
26990         (PostScript Images): Remove section.
26991         * doc/lispref/elisp.texi: Update menu.
26993 2016-12-12  Glenn Morris  <rgm@gnu.org>
26995         Un-revert recent Ffset change
26997         * src/data.c (Ffset): Reinstate the check for "nil".
26999 2016-12-12  Glenn Morris  <rgm@gnu.org>
27001         Minor advice.el fix
27003         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
27004         Avoid setting the function definition of nil.
27005         This was happening during bootstrap of org-compat.el,
27006         apparently due to eager macro expansion of code behind
27007         a (featurep 'xemacs) test.
27009 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
27011         Make etags-tests work in out-of-tree builds
27013         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
27014         (etags-bug-23164): Make them work in an out-of-tree build.
27015         Reported by Ken Brown <kbrown@cornell.edu>.
27017 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
27019         Avoid crashing if a new thread is signaled right away
27021         * src/thread.c (post_acquire_global_lock): Don't raise the pending
27022         signal if the thread's handlers were not yet set up, as that will
27023         cause Emacs to exit with a fatal error.  This can happen if a
27024         thread is signaled as soon as make-thread returns, before the new
27025         thread had an opportunity to acquire the global lock, set up the
27026         handlers, and call the thread function.
27028         * test/src/thread-tests.el (thread-signal-early): New test.
27030 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
27032         Fix point motion in cloned buffers
27034         * src/thread.c (post_acquire_global_lock): Call
27035         set_buffer_internal_2 instead of tricking set_buffer_internal_1
27036         into resetting the current buffer even if it didn't change.  This
27037         avoids bug#25165, caused by failing to record the modified values
27038         of point and mark, because current_buffer was set to NULL.  Also,
27039         don't bother re-setting the buffer if there was no thread switch,
27040         as that just wastes cycles.
27041         * src/buffer.c (set_buffer_internal_2): New function, with most of
27042         the body of set_buffer_internal_1, but without the test for B
27043         being identical to the current buffer.
27044         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
27045         identical to the current buffer.
27046         * src/buffer.h (set_buffer_internal_2): Add prototype.
27048         * test/src/thread-tests.el (thread-sticky-point): New test.
27050 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
27052         Further improvements in Tramp's file name unquoting
27054         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
27055         (tramp-adb-handle-write-region): Unquote localname.
27056         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
27057         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
27059         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
27060         (tramp-handle-file-name-case-insensitive-p):
27061         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
27062         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
27063         (tramp-gvfs-maybe-open-connection):
27064         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
27065         * lisp/net/tramp-smb.el (tramp-smb-get-share)
27066         (tramp-smb-get-localname): Use it.
27068         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
27069         (tramp--test-special-characters, tramp-test34-utf8)
27070         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
27071         (tramp-test34-utf8-with-ls): Use it.
27073 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
27075         Strengthen conditions for resizing sibling windows (Bug#25169)
27077         * lisp/window.el (window-resize, delete-window): Resize other siblings
27078         only if `window-combination-resize' equals t (Bug#25169).
27080 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
27082         Quote filenames containing '~' in prompts
27084         When in a directory named '~', the default value given by
27085         `read-file-name' should be quoted by prepending '/:', in order to
27086         prevent it from being interpreted as referring to the $HOME
27087         directory (Bug#16984).
27089         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
27090         (completion--sifn-requote, read-file-name-default): Use it instead of
27091         `minibuffer--double-dollars'.
27092         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
27094 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
27096         Undo part of last change
27098         * src/thread.h:
27099         * src/keyboard.c:
27100         * src/keyboard.h: Undo part of last change:
27101         input_available_clear_time is again a global variable.
27103 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
27105         Avoid aborts when a thread signals an error
27107         * src/thread.h (struct thread_state): Add members
27108         m_waiting_for_input and m_input_available_clear_time.
27109         (waiting_for_input, input_available_clear_time): New macros.
27110         * src/keyboard.c (waiting_for_input, input_available_clear_time):
27111         Remove; they are now macros that reference the current thread.
27112         (Bug#25171)
27113         * src/w32select.c: Don't include keyboard.h.
27115         * test/src/thread-tests.el (thread-errors): New test.
27117 2016-12-11  Philipp Stephani  <phst@google.com>
27119         Clean up compile-tests.el
27121         Switch to lexical binding.  Make checkdoc happy.
27123         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
27124         (compile-test-error-regexps): Instead of checking a single Boolean
27125         value, use `should' for each attribute of the message to be compared.
27126         (compile-tests--test-regexps-data): Document sixth list element
27127         TYPE.
27129 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
27131         Fix Bug#25162
27133         * doc/emacs/files.texi (Reverting): Document
27134         auto-revert-remote-files and auto-revert-verbose.
27136         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
27137         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
27139 2016-12-11  Glenn Morris  <rgm@gnu.org>
27141         Fix a typo in define-abbrev-table
27143         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
27145 2016-12-11  Glenn Morris  <rgm@gnu.org>
27147         Improve previous cperl-mode change
27149         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
27150         Improve previous change.
27152 2016-12-11  Glenn Morris  <rgm@gnu.org>
27154         Mark default cperl abbrevs as system ones
27156         * lisp/progmodes/cperl-mode.el (cperl-mode):
27157         Mark our abbrevs as system ones.  (Bug#10934)
27159 2016-12-11  Glenn Morris  <rgm@gnu.org>
27161         Revert earlier Ffset change
27163         * src/data.c (Ffset): Allow nil again, since it caused
27164         eager macro-expansion failures.
27166 2016-12-11  Glenn Morris  <rgm@gnu.org>
27168         Tweaks for message bogus address detection
27170         * lisp/gnus/message.el (message-bogus-recipient-p):
27171         Do not require "@", since some mailers deliver to local addresses
27172         without one.  (Bug#23054)
27173         Move "@.*@" from here...
27174         (message-bogus-addresses): ...to here, so it can be customized.
27176 2016-12-11  Glenn Morris  <rgm@gnu.org>
27178         Do not allow nil to be defined as a function
27180         * lisp/emacs-lisp/byte-run.el (defun):
27181         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
27183 2016-12-11  Glenn Morris  <rgm@gnu.org>
27185         Bump makeinfo requirement from 4.7 to 4.13
27187         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
27188         We need at least 4.8, and that may be buggy, so go for the last
27189         of the 4 series, which is 8 years old.  (Bug#25108)
27191 2016-12-11  Glenn Morris  <rgm@gnu.org>
27193         Fixes related to select-enable-clipboard
27195         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
27196         (clipboard-kill-region):
27197         * lisp/eshell/esh-io.el (eshell-virtual-targets)
27198         (eshell-clipboard-append):
27199         Replace option gui-select-enable-clipboard with
27200         select-enable-clipboard; renamed October 2014.  (Bug#25145)
27202 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
27204         Add some sanity checking of defun arglist
27206         * lisp/emacs-lisp/byte-run.el (defun):
27207         Check for malformed argument lists.  (Bug#15715)
27209 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
27211         Minor shell-mode fix for zsh
27213         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
27214         becoming confused by zsh abbreviations.  (Bug#24632)
27216 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
27218         Define struct predicate before acccesors
27220         The accessor functions use the predicate function, which causes problems
27221         when reloading after unload-feature: the compiler-macro property is
27222         still present on the predicate symbol, and the compiler fails to find
27223         the definition when trying to inline it into the accessor
27224         function (Bug#25088).
27226         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
27227         before field accessor definitions.
27229 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
27231         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
27232         system unit file.
27234 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27236         Support concurrency in Emacs Lisp
27238         Merge branch 'test-concurrency'
27240         * src/thread.c:
27241         * src/thread.h:
27242         * src/systhread.c:
27243         * src/systhread.h: New files.
27244         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
27245         xnmalloc unconditionally.
27246         * src/window.c (struct save_window_data): Rename current_buffer to
27247         f_current_buffer.
27248         * src/w32proc.c (sys_select): Change the function signature to
27249         closer fit 'pselect' on Posix hosts.
27250         * src/search.c:
27251         * src/regex.h: Convert some globals to macros that reference
27252         thread-specific values.
27253         * src/process.c (pset_thread, add_non_keyboard_read_fd)
27254         (add_process_read_fd, add_non_blocking_write_fd)
27255         (recompute_input_desc, compute_input_wait_mask)
27256         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
27257         (compute_write_mask, clear_waiting_thread_info)
27258         (update_processes_for_thread_death, Fset_process_thread)
27259         (Fprocess_thread): New functions.
27260         (enum fd_bits): New enumeration.
27261         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
27262         'condition' to 'flags'.
27263         (set_process_filter_masks, create_process, create_pty)
27264         (Fmake_serial_process, finish_after_tls_connection)
27265         (connect_network_socket, deactivate_process)
27266         (server_accept_connection, wait_reading_process_output)
27267         (Fcontinue_process, Fstop_process, keyboard_bit_set)
27268         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
27269         (delete_keyboard_wait_descriptor): Use the new functions instead
27270         of manipulating fd flags and masks directly.
27271         (syms_of_process): Defsubr the new primitives.
27272         * src/print.c (print_object): Print threads, mutexes, and
27273         conditional variables.
27274         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
27275         and PVEC_CONDVAR.
27276         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
27277         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
27278         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
27279         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
27280         f_lisp_eval_depth.
27281         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
27282         (rebind_for_thread_switch, do_one_unbind)
27283         (unbind_for_thread_switch): New functions.
27284         (init_eval): 'handlerlist' is not malloc'ed.
27285         (specbind): Call do_specbind.
27286         (unbind_to): Call do_one_unbind.
27287         (mark_specpdl): Accept 2 arguments.
27288         (mark_specpdl): Mark the saved value in a let-binding.
27289         * src/emacs.c (main): Call init_threads_once, init_threads, and
27290         syms_of_threads.
27291         * src/data.c (Ftype_of): Support thread, mutex, and condvar
27292         objects.
27293         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
27294         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
27295         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
27296         (BYTE_CODE_QUIT): Add back.
27297         (exec_byte_code): Add back byte stack manipulation.
27298         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
27299         conditional variables.
27300         (mark_stack): Now extern; accept additional argument 'bottom'.
27301         (flush_stack_call_func): New function.
27302         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
27303         mark handlers.
27304         * src/.gdbinit (xbytecode): Add back.
27306         * test/src/thread-tests.el: New tests.
27307         * test/src/data-tests.el (binding-test-manual)
27308         (binding-test-setq-default, binding-test-makunbound)
27309         (binding-test-defvar-bool, binding-test-defvar-int)
27310         (binding-test-set-constant-t, binding-test-set-constant-nil)
27311         (binding-test-set-constant-keyword)
27312         (binding-test-set-constant-nil): New tests.
27314         * doc/lispref/processes.texi (Processes and Threads): New
27315         subsection.
27316         * doc/lispref/threads.texi: New file
27317         * doc/lispref/elisp.texi (Top): Include it.
27318         * doc/lispref/objects.texi (Thread Type, Mutex Type)
27319         (Condition Variable Type): New subsections.
27320         (Type Predicates): Add thread-related predicates.
27321         * doc/lispref/objects.texi (Editing Types):
27322         * doc/lispref/elisp.texi (Top): Update higher-level menus.
27324         * etc/NEWS: Mention concurrency features.
27326 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27328         Fix error messages in thread.c
27330         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
27331         (Fcondition_notify, Fthread_join): Fix error messages.
27333 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27335         Improve doc strings in thread.c
27337         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
27338         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
27339         (Fthread_join, Fall_threads): Doc fixes.
27341 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27343         Fix building with check-lisp-object-type
27345         * src/thread.c (mark_one_thread): Use NILP to compare with
27346         m_saved_last_thing_searched, which is a Lisp object.  Reported by
27347         Andreas Politz <politza@hochschule-trier.de>.
27349 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27351         Documentation and commentary improvements
27353         * src/lisp.h:
27354         * src/regex.c:
27355         * src/xgselect.c (xg_select): Improve commentary and formatting.
27357         * doc/lispref/objects.texi (Thread Type, Mutex Type)
27358         (Condition Variable Type): New subsections.
27359         (Type Predicates): Add thread-related predicates.
27360         * doc/lispref/objects.texi (Editing Types):
27361         * doc/lispref/elisp.texi (Top): Update higher-level menus.
27363 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
27365         Fix further problems with quoted file names in Tramp
27367         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
27368         (tramp-unquote-name): Move defsubst ...
27369         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
27370         (tramp-compat-file-name-quote)
27371         (tramp-compat-file-name-unquote): ... here. Adapt callees.
27373         * lisp/net/tramp-cache.el (tramp-flush-file-property)
27374         (tramp-flush-directory-property):
27375         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
27376         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
27377         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
27378         (tramp-smb-handle-substitute-in-file-name)
27379         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
27381 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27383         *src/sysdep.c: Fix a comment.
27385 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27387         Fix compilation error on Fedora 24
27389         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
27390         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27392 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27394         Fix compilation warnings due to prototype of thread_select
27396         * src/thread.h <int select_func>: Make the 5th and 6th arguments
27397         be 'const'.
27398         * src/process.c [WINDOWSNT]:
27399         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
27400         'const'.
27402 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27404         Fix compilation on Debian GNU/Linux
27406         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
27407         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
27409 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27411         Fix subtle errors with let-binding of localized variables
27413         * src/eval.c (do_specbind): Don't require a "symbol" that is
27414         actually a cons cell, in order to call set-default, as there are
27415         no longer such bindings.  This makes do_specbind work like the
27416         pre-concurrency implementation in specbind for bindings of
27417         forwarded symbols.  Use specpdl_kind to access the type of the
27418         binding.
27419         (specpdl_kind): New function.
27421 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
27423         Document file-name-quote, file-name-unquote and file-name-quoted-p
27425         * doc/lispref/files.texi (File Name Expansion):
27426         * etc/NEWS: Mention file-name-quote, file-name-unquote and
27427         file-name-quoted-p.
27429         * lisp/files.el (file-name-non-special): Revert using
27430         file-name-quote, file-name-unquote and file-name-quoted-p.
27432 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
27434         Fix bad quoting of python-shell-interpreter
27436         `python-shell-calculate-command' was using `shell-quote-argument' as if
27437         it was generating a shell command, but its callers don't pass the result
27438         to a shell, and they expect to parse it with `split-string-and-unquote'.
27439         This caused problems depending on the flavor of shell quoting in
27440         effect (Bug#25025).
27442         * lisp/progmodes/python.el (python-shell-calculate-command): Use
27443         `combine-and-quote-strings' to quote the interpreter, so that it can be
27444         parsed by `python-shell-make-comint' successfully using
27445         `split-string-and-unquote'.
27447 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
27449         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
27451 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
27453         Make read1 more reentrant
27455         This is needed if ‘read’ is called soon after startup, before the
27456         Unicode tables have been set up, and it reads a \N escape and
27457         needs to look up a value the Unicode tables, a lookup that in turn
27458         calls read1 recursively.  Although this change doesn’t make ‘read’
27459         fully reentrant, it’s good enough to handle this case.
27460         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
27461         (grow_read_buffer): Revamp to use locals, not statics, and to
27462         record memory allocation un the specpdl.  All callers changed.
27463         (read1): Start with a stack-based buffer, and use the heap
27464         only if the stack buffer is too small.  Use unbind_to to
27465         free any heap buffer allocated.  Use bool for boolean.
27466         Redo symbol loop so that only one call to grow_read_buffer
27467         is needed.
27468         (init_obarray): Remove no-longer-needed initialization.
27470 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
27472         Fix compilation warnings
27474         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
27475         compilation warning.
27477 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
27479         Fix unlikely substitute-command-keys memory leak
27481         * src/doc.c (Fsubstitute_command_keys):
27482         Free buffer when unwinding.
27484 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
27486         Add file-name-quoted-p, file-name-quote, file-name-unquote
27488         * lisp/files.el (file-name-quoted-p, file-name-quote)
27489         (file-name-unquote): New defsubst.
27490         (find-file--read-only, find-file-noselect)
27491         (file-name-non-special): Use them.
27493 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
27495         Add a NEWS entry.
27497 2016-12-08  Glenn Morris  <rgm@gnu.org>
27499         Minor fix for symbol-file
27501         * lisp/subr.el (symbol-file): Avoid false matches with "require"
27502         elements in load-history.  (Bug#25109)
27504 2016-12-08  Glenn Morris  <rgm@gnu.org>
27506         Doc fix for vc-git
27508         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
27510 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
27512         Fix Bug#24962
27514         * lisp/buff-menu.el (list-buffers--refresh):
27515         List buffers with name starting with " " if they visit a file.
27516         * test/lisp/buff-menu-tests.el (buff-menu-24962):
27517         Update test result as pass.
27519 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
27521         ediff-fixup-patch-map: Improve prompt
27523         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
27524         Make clear in the prompt when we are applying a multi patch.
27526 2016-12-08  Glenn Morris  <rgm@gnu.org>
27528         Retain message logging in map-y-or-n-p
27530         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
27531         Stop disabling logging to Messages buffer.  (Bug#13326)
27533 2016-12-08  Glenn Morris  <rgm@gnu.org>
27535         Doc fix for recent change
27537         * lisp/simple.el (region-modifiable-p): Doc fix.
27539 2016-12-08  Glenn Morris  <rgm@gnu.org>
27541         Quieten make-dist default operation
27543         * make-dist: Add --verbose option.  Default to quieter operation.
27545 2016-12-08  Glenn Morris  <rgm@gnu.org>
27547         Further improve make-dist checking
27549         * make-dist: Print status messages when checking.
27551 2016-12-08  Glenn Morris  <rgm@gnu.org>
27553         Improve previous make-dist change
27555         * make-dist: Let make check the info files more thoroughly.
27557 2016-12-08  Glenn Morris  <rgm@gnu.org>
27559         Make make-dist --snapshot do some sanity checks
27561         * make-dist: Snapshot mode no longer disables checks.
27562         Checks now includes checks for freshness.  (Bug#25084)
27563         Checks now exits with an error if problems were found.
27565 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
27567         Fix regression introduced by commit 7b1e97f
27569         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
27570         of cadr; required after commit 20f5a5b.
27572 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
27574         Put post-25 ChangeLog entries into ChangeLog.3
27576         * ChangeLog.2: Copy from emacs-25 branch.
27577         * ChangeLog.3: New file, with changes only in master.
27578         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
27580 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
27582         Fix network streams.
27584         The original code messed up flags in fd_callback_data[], and also
27585         didn't call add_process_read_fd for process-related file descriptors.
27587 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
27589         Minimize spurious diffs from master.
27591 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
27593         Fix the test suite
27595         * test/automated/bindings.el: Contents moved to
27596         test/src/data-tests.el.
27597         * test/automated/threads.el: Moved to test/src/thread-tests.el.
27599 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
27601         Fix a typo in bytecode.c.
27603 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
27605         Fix compilation problems.
27607         Fix merged code in process.c and eval.c.
27609 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
27611         Merge branch 'concurrency'
27613         Conflicts (resolved):
27614                 configure.ac
27615                 src/Makefile.in
27616                 src/alloc.c
27617                 src/bytecode.c
27618                 src/emacs.c
27619                 src/eval.c
27620                 src/lisp.h
27621                 src/process.c
27622                 src/regex.c
27623                 src/regex.h
27625 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
27627         Fix the MS-Windows build
27629         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
27631         * src/sysselect.h: Don't define fd_set and FD_* macros for
27632         MS-Windows here.
27633         * src/w32.h: Define them here.
27635         * src/process.h (sys_select): Declare prototype.
27637         * src/sysdep.c:
27638         * src/process.c:
27639         * src/filelock.c:
27640         * src/emacs.c:
27641         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
27642         * nt/inc/socket.h: Include w32.h instead of sysselect.h
27644 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
27646         merge from trunk
27648 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
27650         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
27651         specpdl stack.
27653 2013-10-18  Tom Tromey  <tromey@redhat.com>
27655         change condition-variablep to condition-variable-p
27657 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
27659         Fix crashes when unbind_for_thread_switch signals an error.
27661          src/eval.c (unbind_for_thread_switch): Accept a 'struct
27662          thread_state *' argument and use specpdl_ptr and specpdl of that
27663          thread.  Fixes crashes if find_symbol_value signals an error.
27664          src/thread.c (post_acquire_global_lock): Update current_thread
27665          before calling unbind_for_thread_switch.  Pass the previous thread
27666          to unbind_for_thread_switch.
27668 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
27670         Improve MS-Windows implementation of threads.
27672          src/systhread.c (sys_cond_init): Set the 'initialized' member to
27673          true only if initialization is successful.  Initialize wait_count
27674          and wait_count_lock.
27675          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
27676          'initialized' is false, do nothing.
27677          (sys_cond_wait): Fix the implementation to avoid the "missed
27678          wakeup" bug: count the waiting threads, and reset the broadcast
27679          event once the last thread was released.
27680          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
27681          PulseEvent.  Don't signal the event if no threads are waiting.
27682          (sys_cond_destroy): Only close non-NULL handles.
27683          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
27684          src/systhread.h (w32thread_cond_t): New member 'initialized'.
27685          Rename waiters_count and waiters_count_lock to wait_count and
27686          wait_count_lock, respectively.
27688 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
27690         Enable thread support in the MS-Windows build.
27692          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
27693          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
27694          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
27695          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
27696          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
27697          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
27698          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
27700          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
27701          if pthreads is not available.
27703 2013-08-27  Tom Tromey  <tromey@redhat.com>
27705         use condition-notify in the docs, not condition-signal
27707         zap until-condition docs
27709         zap until-condition
27711         rename thread-blocker to thread--blocker
27713         remove binding_symbol
27715         fix style of threadp, mutexp, and condition-variable-p
27717         make thread_check_current_buffer return bool
27719         add a comment before flush_stack_call_func
27721         fix whitespace_regexp warning
27723 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
27725         Fix MS-Windows build.
27727          src/callproc.c:
27728          src/emacs.c:
27729          src/filelock.c:
27730          src/process.c:
27731          src/sysdep.c:
27732          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
27733          redefinition of fd_set etc.
27734          src/process.c: Don't use num_pending_connects when
27735          NON_BLOCKING_CONNECT is not defined.
27736          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
27737          here from w32.h.
27738          src/w32proc.c (sys_select): Adjust the argument types to what
27739          thread.h expects.
27741          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
27742          of w32.h.
27744 2013-08-26  Tom Tromey  <tromey@redhat.com>
27746         use record_unwind_protect_void, avoid warning
27748         implement --enable-threads and a thread-less mode
27750 2013-08-25  Tom Tromey  <tromey@redhat.com>
27752         merge from trunk
27754 2013-08-20  Tom Tromey  <tromey@redhat.com>
27756         fix up some merge errors in process.c
27758         remove a dead function
27759         clean up a fixme I added in create_pty during the merge
27761 2013-08-20  Tom Tromey  <tromey@redhat.com>
27763         merge from trunk
27765 2013-07-26  Tom Tromey  <tromey@redhat.com>
27767         merge from trunk
27769 2013-07-13  Tom Tromey  <tromey@redhat.com>
27771         Merge from trunk
27773 2013-07-12  Tom Tromey  <tromey@redhat.com>
27775         Use thread_alive_p in a couple more spots
27777 2013-07-07  Tom Tromey  <tromey@redhat.com>
27779         fix xfree bug in run_thread
27781         this fixes run_thread to account for the dummy slot
27782         in specpdl
27784 2013-07-07  Tom Tromey  <tromey@redhat.com>
27786         merge from trunk
27788         this merges frmo trunk and fixes various build issues.
27789         this needed a few ugly tweaks.
27790         this hangs in "make check" now
27792 2013-07-06  Tom Tromey  <tromey@redhat.com>
27794         add assertion to flush_stack_call_func
27796         functions called via flush_stack_call_func are assumed
27797         to return with the global lock held again, and with
27798         current_thread reset.  this assertion verifies part of this
27800 2013-07-06  Tom Tromey  <tromey@redhat.com>
27802         call init_primary_thread from init_threads
27804 2013-07-05  Tom Tromey  <tromey@redhat.com>
27806         avoid SAFE_ALLOCA
27808         avoid SAFE_ALLOCA in xgselect.c.
27809         in this code it is just as easy to always use malloc;
27810         and it avoids thread-switching problems, as the safe-alloca
27811         stuff implicitly refers to the current thread
27813 2013-07-05  Tom Tromey  <tromey@redhat.com>
27815         avoid current_thread sometimes
27817         this tweaks thread.c to use 'self' instead of current_thread
27818         in a couple spots.  this is clearer and more robust
27820 2013-07-05  Tom Tromey  <tromey@redhat.com>
27822         initialize saved_value
27824         initialize the saved_value field in all needed cases
27825         also, add an assertion to do_one_unbind
27827 2013-07-04  Tom Tromey  <tromey@redhat.com>
27829         fix buglet in test case
27831 2013-07-04  Tom Tromey  <tromey@redhat.com>
27833         unlink thread later
27835         unlink thread from global list later
27836         also remove some unnecessary destruction code
27838 2013-07-04  Tom Tromey  <tromey@redhat.com>
27840         introduce thread_alive_p macro
27842         This introduces the thread_alive_p macro and changes
27843         thread-alive-p to use it.  This is a minor cleanup.
27844         It also changes all-threads to ignore dead threads.
27846 2013-07-03  Tom Tromey  <tromey@redhat.com>
27848         Don't call unbind_for_thread_switch in run_thread
27850         This removes the call to unbind_for_thread_switch from run_thread.
27851         This isn't necessary because acquire_global_lock does it properly.
27853 2013-07-03  Tom Tromey  <tromey@redhat.com>
27855         remove unused field from struct thread_state
27857         Fix a comment.
27859 2013-06-13  Tom Tromey  <tromey@redhat.com>
27861         merge from trunk
27863 2013-06-06  Tom Tromey  <tromey@redhat.com>
27865         fix a few latent issues in the thread patch
27867         * we called unbind_for_thread_switch unconditionally, but this
27868           is wrong if the previous thread exited
27869         * likewise, exiting a thread should clear current_thread
27870         * redundant assignment in run_thread
27871         * clean up init_threads - no need to re-init the primary thread
27873         This patch still sometimes causes weird hangs in "make check".
27874         However, I think that is a kernel bug, since Emacs enters the zombie
27875         state but its parent process hangs in wait.  This shouldn't happen.
27877 2013-06-04  Tom Tromey  <tromey@redhat.com>
27879         update eval.c to make it build again after the merge
27881 2013-06-03  Tom Tromey  <tromey@redhat.com>
27883         merge from trunk; clean up some issues
27885 2013-03-18  Tom Tromey  <tromey@redhat.com>
27887         don't let kill-buffer kill a buffer if it is current in any thread
27889 2013-03-18  Tom Tromey  <tromey@redhat.com>
27891         fix process bugs
27893         Fix some process-related bugs, mostly thinkos from the conversion to
27894         recording fd state as flags.
27895         This now passes the test suite without hanging.
27897 2013-03-17  Tom Tromey  <tromey@redhat.com>
27899         merge from trunk
27901 2013-03-08  Tom Tromey  <tromey@redhat.com>
27903         merge from trunk
27905 2013-01-16  Tom Tromey  <tromey@redhat.com>
27907         merge from trunk
27909 2013-01-06  Tom Tromey  <tromey@redhat.com>
27911         merge from trunk
27913 2012-12-23  Tom Tromey  <tromey@redhat.com>
27915         mention let bindings and lack of other ways to rewind
27917 2012-12-17  Tom Tromey  <tromey@redhat.com>
27919         Remove bit accidentally left over from the merge
27921         merge from trunk
27923 2012-09-04  Tom Tromey  <tromey@redhat.com>
27925         merge from trunk
27927         link from thread docs to match data
27929 2012-08-27  Tom Tromey  <tromey@redhat.com>
27931         cannot thread-join the current thread
27933         fix test suite for condition-variable-p name change
27935         add tests for variable bindings
27937 2012-08-25  Tom Tromey  <tromey@redhat.com>
27939         minor update to thread-join docs
27941 2012-08-24  Tom Tromey  <tromey@redhat.com>
27943         minor documentation updates
27945 2012-08-23  Tom Tromey  <tromey@redhat.com>
27947         document until-condition
27949         first draft of threads documentation
27951         rename condition-variablep to condition-variable-p
27953         document process-thread and set-process-thread
27955 2012-08-20  Tom Tromey  <tromey@redhat.com>
27957         pass the thread name to the OS if possible
27959         use prctl to pass the thread name to the OS, if possible
27961 2012-08-20  Tom Tromey  <tromey@redhat.com>
27963         add convenience macros with-mutex and until-condition
27965         with-mutex is a safe way to run some code with a mutex held.
27966         until-condition is a safe way to wait on a condition variable.
27968 2012-08-20  Tom Tromey  <tromey@redhat.com>
27970         Merge from trunk
27972 2012-08-19  Tom Tromey  <tromey@redhat.com>
27974         another docstring fixlet
27976         minor docstring fixup
27978         add condition-mutex and condition-name
27980         ensure name of a thread is a string
27982         ensure name of a mutex is a string
27984         use NILP
27986 2012-08-19  Tom Tromey  <tromey@redhat.com>
27988         condition variables
27990         This implements condition variables for elisp.
27991         This needs more tests.
27993 2012-08-19  Tom Tromey  <tromey@redhat.com>
27995         comment fixes
27997 2012-08-19  Tom Tromey  <tromey@redhat.com>
27999         refactor systhread.h
28001         This refactors systhread.h to move the notion of a "lisp mutex"
28002         into thread.c.  This lets us make make the global lock and
28003         post_acquire_global_lock static.
28005 2012-08-17  Tom Tromey  <tromey@redhat.com>
28007         write docstrings for the thread functions
28009         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
28011 2012-08-15  Tom Tromey  <tromey@redhat.com>
28013         add test case for I/O switching
28015 2012-08-15  Tom Tromey  <tromey@redhat.com>
28017         process changes
28019         This changes wait_reading_process_output to handle threads better.  It
28020         introduces a wrapper for select that releases the global lock, and it
28021         ensures that only a single thread can select a given file descriptor
28022         at a time.
28024         This also adds the thread-locking feature to processes.  By default a
28025         process can only have its output accepted by the thread that created
28026         it.  This can be changed using set-process-thread.  (If the thread
28027         exits, the process is again available for waiting by any thread.)
28029         Note that thread-signal will not currently interrupt a thread blocked
28030         on select.  I'll fix this later.
28032 2012-08-15  Tom Tromey  <tromey@redhat.com>
28034         Prepare process.c for threads by not having global select masks.
28035         The next step is to make it so selects can choose fds by thread.
28037 2012-08-15  Tom Tromey  <tromey@redhat.com>
28039         fix a latent bug in process.c
28041                 * process.c (wait_reading_process_output): Check Writeok bits,
28042                 not write_mask.
28044 2012-08-15  Tom Tromey  <tromey@redhat.com>
28046         This adds thread-blocker, a function to examine what a thread is
28047         blocked on.  I thought this would be another nice debugging addition.
28049         This adds names to mutexes.  This seemed like a nice debugging
28050         extension.
28052         This adds some tests of the threading code.
28054 2012-08-15  Tom Tromey  <tromey@redhat.com>
28056         This supplies the mutex implementation for Emacs Lisp.
28058         A lisp mutex is implemented using a condition variable, so that we can
28059         interrupt a mutex-lock operation by calling thread-signal on the
28060         blocking thread.  I did things this way because pthread_mutex_lock
28061         can't readily be interrupted.
28063 2012-08-15  Tom Tromey  <tromey@redhat.com>
28065         This adds most of the thread features visible to emacs lisp.
28067         I roughly followed the Bordeaux threads API:
28069         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
28071         ... but not identically.  In particular I chose not to implement
28072         interrupt-thread or destroy-thread, but instead a thread-signalling
28073         approach.
28075         I'm still undecided about *default-special-bindings* (which I did not
28076         implement).  I think it would be more emacs-like to capture the let
28077         bindings at make-thread time, but IIRC Stefan didn't like this idea
28078         the first time around.
28080         There are one or two semantics issues pointed out in the patch where I
28081         could use some advice.
28083 2012-08-15  Tom Tromey  <tromey@redhat.com>
28085         This turns thread_state into a pseudovector and updates various bits
28086         of Emacs to cope.
28088 2012-08-15  Tom Tromey  <tromey@redhat.com>
28090         This introduces some new functions to handle the specpdl.  The basic
28091         idea is that when a thread loses the interpreter lock, it will unbind
28092         the bindings it has put in place.  Then when a thread acquires the
28093         lock, it will restore its bindings.
28095         This code reuses an existing empty slot in struct specbinding to store
28096         the current value when the thread is "swapped out".
28098         This approach performs worse than my previously planned approach.
28099         However, it was one I could implement with minimal time and
28100         brainpower.  I hope that perhaps someone else could improve the code
28101         once it is in.
28103 2012-08-15  Tom Tromey  <tromey@redhat.com>
28105         This introduces the low-level system threading support.  It also adds
28106         the global lock.  The low-level support is a bit over-eager, in that
28107         even at the end of the present series, it will not all be used.  I
28108         think thiat is ok since I plan to use it all eventually -- in
28109         particular for the emacs lisp mutex implementation.
28111         I've only implemented the pthreads-based version.  I think it should
28112         be relatively clear how to port this to other systems, though.
28114         I'd also like to do a "no threads" port that will turn most things
28115         into no-ops, and have thread-creation fail.  I was thinking perhaps
28116         I'd make a future (provide 'threads) conditional on threads actually
28117         working.
28119         One other minor enhancement available here is to make it possible to
28120         set the name of the new thread at the OS layer.  That way gdb, e.g.,
28121         could display thread names.
28123 2012-08-15  Tom Tromey  <tromey@redhat.com>
28125         This parameterizes the GC a bit to make it thread-ready.
28127         The basic idea is that whenever a thread "exits lisp" -- that is,
28128         releases the global lock in favor of another thread -- it must save
28129         its stack boundaries in the thread object.  This way the boundaries
28130         are always available for marking.  This is the purpose of
28131         flush_stack_call_func.
28133         I haven't tested this under all the possible GC configurations.
28134         There is a new FIXME in a spot that i didn't convert.
28136         Arguably all_threads should go in the previous patch.
28138 2012-08-15  Tom Tromey  <tromey@redhat.com>
28140         This introduces a thread-state object and moves various C globals
28141         there.  It also introduces #defines for these globals to avoid a
28142         monster patch.
28144         The #defines mean that this patch also has to rename a few fields
28145         whose names clash with the defines.
28147         There is currently just a single "thread"; so this patch does not
28148         impact Emacs behavior in any significant way.
28150 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28152         Merge from origin/emacs-25
28154         eeecac7 Fix minor quoting problems in doc strings
28156 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28158         Merge from origin/emacs-25
28160         35ce3fb Don't assume window-point and point are the same
28162 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28164         Merge from origin/emacs-25
28166         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
28167         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
28168         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
28169         93d8346 Improve indexing of 'man'
28171 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28173         Merge from origin/emacs-25
28175         d31298d Fix documentation of `window-combination-resize'
28176         2086f4c Typo fixes in elisp manual
28178 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28180         Merge from origin/emacs-25
28182         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
28183         5878abf Fix 'expand-file-name' during startup on MS-Windows
28185 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28187         Merge from origin/emacs-25
28189         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
28190         6d27423 Tweak refcard note about documentation location
28191         e46a134 Improve treatment of Fortran's "class is"
28193 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28195         Merge from origin/emacs-25
28197         93c0f51 Handle TeX comments when making new paragraph
28198         e0884f1 Restore keystroke echo in 'C-q'
28199         a6213ce Improve documentation of 'current-word'
28200         0828126 Fix a typo in an Eshell defcustom
28201         2e361c7 Minor copyedits of electric-pair-mode
28202         7499ee8 ; Minor copyedit in the Emacs manual
28203         45b652b Fix documentation of 'invocation-directory'
28204         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
28205         ba48880 ; Fix pl-refcard.tex
28207 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28209         Merge from origin/emacs-25
28211         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
28213 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28215         Merge from origin/emacs-25
28217         3d63b48 Update ChangeLog files and authors.el
28218         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
28219         a725592 Avoid errors in shr-pixel-column due to dedicated windows
28220         3138598 Update format-time-string documentation
28222 2016-12-07  Sam Steingold  <sds@gnu.org>
28224         delete-trailing-whitespace: handle read-only text in buffer
28226         * lisp/simple.el (region-modifiable-p): New function.
28227         (delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
28229 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28231         Fix minor quoting problems in doc strings
28233 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28235         Fix --enable-gcc-warnings --with-ns on Fedora
28237         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
28238         (ALL_OBJC_CFLAGS): Use it.
28239         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
28240         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
28242 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
28244         Fix problems in quoting Tramp file names
28246         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
28247         (tramp-unquote-shell-quote-argument): New defun.
28248         (tramp-shell-quote-argument):
28249         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
28250         (tramp-make-copy-program-file-name):
28251         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
28252         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
28253         (tramp-smb-shell-quote-argument): Use it.
28255 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28257         ibuffer-map-deletion-lines: Re-included it
28259         It was deleted in previous commit, but it's referenced
28260         by the macro 'define-ibuffer-op'.
28261         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
28263 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28265         ibuffer-unmark-all: simplify code
28267         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
28268         (ibuffer-unmark-all): Simplify code.
28270 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28272         define-ibuffer-filter: Discard wrong filters
28274         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
28275         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
28276         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
28278 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
28280         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
28282         so that it matches the actual implementation.
28283         See https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html
28285 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28287         ibuffer-decompose-filter-group avoid unwanted side effects
28289         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
28290         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
28291         All callers changed (Bug#25058).
28292         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
28294 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28296         ibuffer-unmark-backward: Unmark the region when is active
28298         * lisp/ibuffer.el (ibuffer-unmark-backward):
28299         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
28300         with the region boundary as the first 2 arguments (Bug#24987).
28302 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
28304         Docstring improvement for seq-some (bug#25129)
28306         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
28307           regarding the returned value.
28309 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28311         dired-unmark-backward: Unmark the region when is active
28313         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
28314         a non-nil second argument (Bug#24986).
28316 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28318         New test file for ediff
28320         Fix previous commit.
28321         * test/lisp/vc/ediff-ptch-tests.el: New test.
28323 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28325         ediff-context-diff-label-regexp: Detect the end of second file
28327         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
28328         '\n' in file names (Bug#25010).
28329         * test/lisp/vc/ediff-ptch-tests.el: New file.
28330         (ibuffer-test-bug25010): Add test for Bug#25010.
28332 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28334         ibuffer-decompose-filter: Avoid side effects on error
28336         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
28337         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
28338         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
28339         Update test result as pass.
28341 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28343         ibuffer: compare marks with EQ
28345         * lisp/ibuffer.el:
28346         (ibuffer-update-title-and-summary)
28347         (ibuffer-redisplay-current)
28348         (ibuffer-buffer-name-face, ibuffer-unmark-all)
28349         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
28350         Use 'eq' instead of 'char-equal' when comparing mark characters
28351         (Bug#25000).
28352         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
28353         Update test result as pass.
28355 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
28357         ibuffer-saved-filters: Remove extra nesting level
28359         Fix Bug#25049.
28360         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
28361         nesting level; add transparent setter to adjust old-format values;
28362         update doc string.
28363         (ibuffer-save-filters): Remove extra level of nesting
28364         in ibuffer-saved-filters values when saving new filters.
28365         (ibuffer-old-saved-filters-warning): New variable with
28366         clickable message with repair options to be displayed
28367         as a warning if 'ibuffer-repair-saved-filters' detects
28368         a format mismatch.
28369         (ibuffer-repair-saved-filters): Add new command to check and
28370         repair saved filters format.
28371         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
28372         Change access of saved filter data (cadr->cdr) to account
28373         for reduced nesting.
28374         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
28375         New test; check that filters are saved in the proper format.
28377 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
28379         Clean out some IRIX cruft
28381         * etc/MACHINES: Remove obsolete discussion of IRIX.
28382         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
28383         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
28384         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
28385         * src/unexelf.c [__sgi]: Don't include <syms.h>.
28386         (unexec) [__sgi]: Remove SGI-specific code.
28388 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
28390         Simplify FUNCTIONP implementation
28392         * src/bytecode.c (exec_byte_code):
28393         * src/image.c (parse_image_spec):
28394         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
28395         * src/eval.c (FUNCTIONP): Move here ...
28396         * src/lisp.h: ... from here.  No longer inline, as that
28397         bloats the text and does not help speed (at least on my platform).
28398         (functionp): Remove this name, since callers use FUNCTIONP.
28400 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28402         Don't assume window-point and point are the same
28404         The function `cursor-sensor--detect' calls `bobp' to decide whether to
28405         check properties at (1- (window-point)).  However, (window-point) may be
28406         at beginning of buffer, even if (point) is not.  In this case an
28407         `args-out-of-range' error will be signaled (Bug#25104).
28409         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
28410         value of (window-point) against (point-min), rather than (bobp) to
28411         decide if (1- (window-point)) is accessible.
28413 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28415         Give test-completion's PREDICATE the hashtable key
28417         For hashtable entries with symbol keys, `test-completion' would convert
28418         the key to a string before calling PREDICATE, unlike `try-completion'
28419         and `all-completions'.
28421         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
28423 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28425         Give test-completion's PREDICATE full alist entry
28427         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
28428         calling test-completion with an alist collection, the predicate was
28429         recieving the string value instead of the alist entry (Bug#24966).
28431         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
28432         test STRING against `completion-regexp-list'.
28433         * test/src/minibuf-tests.el: New tests for `try-completion',
28434         `all-completions', and `test-completion'.
28436 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28438         Fix ert-tests when running compiled
28440         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
28441         specific macroexpansion, just check result of evaluation.
28442         (ert-test-record-backtrace): Don't hardcode representation of closure in
28443         expected backtrace, this lets the test succeed even when the test code
28444         is compiled.
28446         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
28447         `byte-compile-macro-environment' to `macroexpand', this allows the
28448         `should' macro to properly handle macroexpansion of macros that were
28449         defined in the same file when it's being compiled (Bug #17851).
28451 2016-12-06  Glenn Morris  <rgm@gnu.org>
28453         Make "g" in vc push/pull buffers re-push/pull
28455         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
28456         * lisp/vc/vc-git.el (vc-git--pushpull):
28457         * lisp/vc/vc-hg.el (vc-hg--pushpull):
28458         Set compile-command so that "g" works.  (Bug#11446)
28460 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
28462         Change two _Noreturn functions to return void
28464         This is a bit clearer than _Noreturn functions that (do not)
28465         return a non-void type.
28466         * src/callproc.c (call_process) [MSDOS]:
28467         Use 'status' local to record status.
28468         (child_setup): Return CHILD_SETUP_TYPE.
28469         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
28470         All callers changed.
28471         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
28473 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
28475         Fix GPG bug introduced by Oct file-missing change
28477         Problem with visiting nonexistent .gpg file
28478         reported by Herbert J Skuhra.
28479         * lisp/epa-file.el (epa-file--find-file-not-found-function):
28480         (epa-file-insert-file-contents, epa-file-write-region):
28481         Signal file-missing or file-error instead of epa-error.
28483 2016-12-05  Glenn Morris  <rgm@gnu.org>
28485         Tweak recent flymake change
28487         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
28488         Avoid double message when flymake-log-level >= 0.
28489         * doc/misc/flymake.texi (Customizable variables):
28490         No longer mention flymake-gui-warnings-enabled.
28492 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
28494         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
28496         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
28497         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
28498         `widget-backward' instead (bug#25091).
28500 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
28502         Remove compat code in Tramp
28504         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
28506         * lisp/net/tramp-compat.el (top): Require parse-time.
28508         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
28509         Use `parse-time-months'.
28511 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
28513         Don't try to split side windows in ibuffer (Bug#25115)
28515         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
28516         split a side window (Bug#25115).
28518 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
28520         * src/lisp.h: Update comment to kick -Og down the road.
28522 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
28524         More image-dired refactoring
28526         * lisp/image-dired.el: Remove TODO comment. This appears to have been
28527         implemented in 5d7433a "image-dired: Signal an error before calling a
28528         missing executable".
28529         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
28530         Add :version.
28531         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
28532         when. Remove superfluous call to image-dired-thumb-name. Move single nil
28533         binding and setq into dolist form.
28535 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
28537         Implement quoting the local part of a remote file name
28539         * doc/emacs/files.texi (Quoted File Names):
28540         * etc/NEWS: Mention quoting the local part of a remote file name.
28542         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
28543         `tramp-tramp-file-p'.
28544         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
28545         New defsubst.
28546         (tramp-handle-substitute-in-file-name)
28547         (tramp-handle-make-auto-save-file-name): Handle quoted files.
28548         (tramp-shell-quote-argument): Unquote argument.
28550         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
28551         Handle quoted files.
28553         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
28554         (tramp--test-make-temp-name): New argument QUOTED.
28555         (tramp-test01-file-name-syntax)
28556         (tramp-test02-file-name-dissect)
28557         (tramp-test04-substitute-in-file-name)
28558         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
28559         (tramp-test08-file-local-copy)
28560         (tramp-test09-insert-file-contents)
28561         (tramp-test10-write-region, tramp-test11-copy-file)
28562         (tramp-test12-rename-file, tramp-test13-make-directory)
28563         (tramp-test14-delete-directory, tramp-test15-copy-directory)
28564         (tramp-test16-directory-files)
28565         (tramp-test17-insert-directory)
28566         (tramp-test18-file-attributes)
28567         (tramp-test19-directory-files-and-attributes)
28568         (tramp-test20-file-modes, tramp-test21-file-links)
28569         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
28570         (tramp-test24-file-name-completion, tramp-test25-load)
28571         (tramp-test26-process-file, tramp-test27-start-file-process)
28572         (tramp-test28-shell-command, tramp-test30-vc-registered)
28573         (tramp-test31-make-auto-save-file-name)
28574         (tramp--test-check-files)
28575         (tramp-test35-asynchronous-requests): Test also quoted file names.
28576         (tramp--test-shell-command-to-string-asynchronously): Rename.
28577         (tramp-test29-environment-variables): Use it.
28579 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
28581         Fix typo in dired-omit-case-fold-p
28583         * lisp/dired-x.el (dired-omit-case-fold-p):
28584         Write 'file-name-case-insensitive-p' instead of
28585         'file-name-case-sensitive-p'.
28586         Add declaration of 'file-name-case-insensitive-p'.
28588 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
28590         Add HTML5 attributes for the input element
28592         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
28593         for the input element.
28595 2016-12-03  Glenn Morris  <rgm@gnu.org>
28597         Obsolete sc-load-hook in favor of eval-after-load
28599         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
28600         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
28601         No longer mention sc-load-hook.
28603 2016-12-03  Glenn Morris  <rgm@gnu.org>
28605         Obsolete calendar-load-hook in favor of eval-after-load
28607         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
28608         (calendar): Doc fix - no longer mention calendar-load-hook.
28609         * doc/emacs/cal-xtra.texi (Calendar Customizing):
28610         No longer mention calendar-load-hook.
28611         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
28612         Replace calendar-load-hook in example with with-eval-after-load.
28614 2016-12-03  Glenn Morris  <rgm@gnu.org>
28616         Fix markup in read-multiple-choice doc (Bug#25102)
28618         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
28620 2016-12-03  Glenn Morris  <rgm@gnu.org>
28622         Stop flymake using dialog boxes for errors (Bug#16622)
28624         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
28625         Mark as obsolete.
28626         (flymake-display-warning): Turn into an obsolete alias.
28627         (flymake-report-fatal-status): Just use message for a warning that
28628         was formerly displayed by default.
28630 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
28632         Clean up keymap and menu code in image-dired
28634         A function to populate these maps is not necessary, just define the maps
28635         once and for all.
28636         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
28637         clearer and in the spirit of dired's.
28638         (image-dired-define-display-image-mode-keymap):
28639         (image-dired-define-thumbnail-mode-keymap): Remove.
28640         (image-dired-thumbnail-mode-map):
28641         (image-dired-thumbnail-mode-line-up-map):
28642         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
28643         menu code from the aforementioned removed functions.  Reorder so that
28644         the definitions are inherited properly.
28645         (image-dired-display-current-image-sized): Fix erroneous message.
28646         (image-dired-thumbnail-mode):
28647         (image-dired-display-image-mode): Remove defunct call.
28649 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
28651         Mention `file-name-case-insensitive-p' as magic file name
28653         * doc/lispref/files.texi (Magic File Names):
28654         Mention `file-name-case-insensitive-p'.
28656         * doc/lispref/variables.texi (Connection Local Variables):
28657         Fix typo.
28659 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
28661         Clean up uses of cl-foo in image-dired
28663         Both instances here are just emulating cl-find-if.
28664         * lisp/image-dired.el: Use cl-lib at compile time.
28665         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
28666         Replace the cl-foo instances with equivalent cl-loops.
28668 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
28670         Avoid compilation warnings in nt/*.c files
28672         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
28673         (console_event_handler): Add prototypes.
28674         (canon_filename, skip_space, skip_nonspace, get_next_token)
28675         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
28676         (spawn, get_env_size): Now static.
28677         * nt/ddeclient.c (DdeCallback): Provide prototype.
28678         * nt/addpm.c (DdeCallback): Provide prototype.
28679         (add_registry): Now static.
28681 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
28683         Display window before calculating width
28685         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
28686         before calling image-dired-line-up and friends, which in turn calculate
28687         the window width. Otherwise, the thumbnail layout will be wrong in
28688         a side-by-side split.
28690 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
28692         Use pop-to-buffer-same-window
28694         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
28695         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
28696         use pop-to-buffer-same-window cf. Bug#22244.
28697         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
28699 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
28701         Document watchpoints
28703         * doc/lispref/debugging.texi (Variable Debugging):
28704         * doc/lispref/variables.texi (Watching Variables): New section.
28705         * etc/NEWS: Add entry for watchpoints
28707 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
28709         Add tests for watchpoints
28711         * test/src/data-tests.el (data-tests-variable-watchers):
28712         (data-tests-local-variable-watchers): New tests.
28714 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
28716         Ensure redisplay using variable watcher
28718         This replaces looking up the variable name in redisplay--variables when
28719         setting it.
28721         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
28722         calls.
28723         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
28724         set the redisplay flag unconditionally.
28725         (Vredisplay__variables): Remove it.
28726         * src/data.c (set_internal): Remove maybe_set_redisplay call.
28728 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
28730         Add function to trigger debugger on variable write
28732         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
28733         (debug--variable-list):
28734         (cancel-debug-on-variable-change): New functions.
28735         (debugger-setup-buffer): Add watchpoint clause.
28737 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
28739         Show watchpoints when describing variables
28741         * src/data.c (Fget_variable_watchers): New function.
28742         * lisp/help-fns.el (describe-variable): Use it to detect watching
28743         functions.
28745 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
28747         Add lisp watchpoints
28749         This allows calling a function whenever a symbol-value is changed.
28751         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
28752         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
28753         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
28754         (enum symbol_trapped_write): New enumeration.
28755         (struct Lisp_Symbol): Rename field constant to trapped_write.
28756         (make_symbol_constant): New function.
28758         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
28759         (set_symbol_trapped_write, restore_symbol_trapped_write):
28760         (harmonize_variable_watchers, notify_variable_watchers): New functions.
28762         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
28763         symbols.
28764         (set_internal): Change bool argument BIND to 3-value enum and call
28765         `notify_variable_watchers' for trapped symbols.
28767         * src/data.c (syms_of_data):
28768         * src/data.c (syms_of_data):
28769         * src/font.c (syms_of_font):
28770         * src/lread.c (intern_sym, init_obarray):
28771         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
28773         * src/alloc.c (init_symbol):
28774         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
28775         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
28776         (Fmake_variable_frame_local):
28777         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
28778         trapped_write instead of constant.
28779         (Ffuncall): Move subr calling code into separate function.
28780         (funcall_subr): New function.
28782 2016-12-02  Glenn Morris  <rgm@gnu.org>
28784         Starting doc of user options with "*" is long obsolete
28786         * lisp/battery.el (battery-upower-device): Doc fix.
28788 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
28790         Fix bug#25087
28792         * etc/themes/manoj-dark-theme.el: Fix two typos.
28794         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
28796 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
28798         Fix docstrings to have a complete sentence in first line
28800         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
28801         docstrings.
28803 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
28805         Remove obsolete comments and commented code from dired-x.el
28807         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
28808         1997 answer about whether dired-mark-sexp is used.
28809         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
28810         commented out since before dired-x.el was added to RCS in 1994.
28812 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
28814         Remove pre-customize dired-x.el documentation
28816         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
28817         use dired-x from .emacs.  It is now fully customizable.
28818         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
28819         how to set this custom variable in .emacs.  It should be customized.
28821 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
28823         Allow files to be matched case-sensitively in dired-x
28825         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
28826         controls case folding for matching the regex (Bug#18716).
28827         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
28828         systems, `nil' otherwise.
28829         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
28830         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
28832 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
28834         Add support for curly quotation marks to electric-pair-mode
28836         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
28837         entries for left/right single/double quotation marks, from
28838         electric-quote-chars. Note that this is safe for single quotation marks,
28839         unlike with the ASCII apostrophe, since, although the right quotation
28840         mark can be used as an apostrophe, it is the left quotation mark that is
28841         typed to get a pair (Bug#24901).
28843 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
28845         Fix bug#25087
28847         * etc/themes/manoj-dark-theme.el: Fix two typos.
28849 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
28851         Handle quoted file names in Tramp
28853         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
28854         case the file name is quoted.  This is not trapped by the
28855         reassigned `tramp-file-name-regexp' anymore.
28857 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
28859         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
28861 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
28863         Support for rawrgb images using imagemagick
28865         * src/image.c (imagemagick_load_image): Set wand size before loading
28866         blob when ':width' and ':height' are provided.
28868         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
28870 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
28872         Fix 'sql-connect' on first invocation
28874         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
28875         param-var.  (Bug#19452)
28877 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
28879         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
28881 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
28883         Improve indexing of 'man'
28885         * doc/emacs/programs.texi (Man Page): Index 'man', not
28886         'manual-entry', as the latter is an alias for the former.
28887         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
28889 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28891         Port to Sun C 5.14
28893         Backport from master.  Sun C 5.14 supports C11 but not GCC
28894         extensions, and so refuses to compile Emacs without this patch.
28895         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
28896         size_t, as in general this macro is restricted to signed types.
28898 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28900         Fix type typo on Solaris
28902         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
28903         Fix type mismatch, caught by --enable-check-lisp-object-type.
28905 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28907         Merge from gnulib
28909         This incorporates:
28910         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
28911         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
28912         * build-aux/snippet/c++defs.h:
28913         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
28914         Copy from gnulib.
28916 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28918         Make struct font_drivers read-only
28920         This simplifies the code a bit, and makes the structs more
28921         shareable and less likely to become corrupt.
28922         * src/alloc.c (cleanup_vector):
28923         * src/font.c (valid_font_driver, font_prepare_cache)
28924         (font_finish_cache, font_get_cache, font_clear_cache)
28925         (register_font_driver, font_update_drivers):
28926         * src/font.h (struct font, struct font_driver_list)
28927         (valid_font_driver):
28928         struct font_drivers are now const.
28929         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
28930         Omit no-longer-necessary decls.
28931         * src/ftcrfont.c (syms_of_ftcrfont):
28932         * src/ftxfont.c (syms_of_ftxfont):
28933         * src/xftfont.c (syms_of_xftfont):
28934         Omit no-longer-necessary initialization code.
28935         * src/ftcrfont.c (ftcrfont_driver):
28936         * src/ftfont.c (ftfont_driver):
28937         * src/ftxfont.c (ftxfont_driver):
28938         * src/macfont.m (macfont_driver):
28939         * src/nsfont.m (nsfont_driver):
28940         * src/xfont.c (xfont_driver):
28941         * src/xftfont.c (xftfont_driver):
28942         Use C99-style initializer for ease of maintenance, and make it const.
28943         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
28944         Refer to functions like ftfont_text_extents directly.
28945         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
28946         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
28947         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
28948         (ftfont_variation_glyphs, ftfont_filter_properties)
28949         (ftfont_combining_capability):
28950         * src/xfont.c (xfont_get_cache):
28951         Now extern, so that other modules’ struct font_drivers can use
28952         them directly.
28953         * src/macfont.m (macfont_descriptor_entity):
28954         * src/nsfont.m (nsfont_open):
28955         Use constant directly; this is clearer.
28957 2016-12-01  Richard Stallman  <rms@gnu.org>
28959         Fix mail-combine-fields
28961         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
28962         avoid losing our place in the search loop.
28964         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
28966 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
28968         Forth related improvements for etags
28970         Generate correct tags names for things like "(foo)".
28971         Previously "(foo" created.
28973         Fix a bug where a tag for "-bar" was created when encountering things
28974         like "create-bar".
28976         Recognize more words from the Forth-2012 Standard.
28978         * lib-src/etags.c (Forth_words): Check for whitespace after defining
28979         words.  Create tag with make_tag instead of get_tag to avoid notiname
28980         which isn't appropriate for Forth.
28982         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
28983         * test/manual/etags/ETAGS.good_1:
28984         * test/manual/etags/ETAGS.good_2:
28985         * test/manual/etags/ETAGS.good_3:
28986         * test/manual/etags/ETAGS.good_4:
28987         * test/manual/etags/ETAGS.good_5:
28988         * test/manual/etags/ETAGS.good_6:
28989         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
28990         new test cases.
28992 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
28994         Fix bugs with buffer-local tags tables
28996         * lisp/progmodes/etags.el (visit-tags-table): After
28997         'visit-tags-table-buffer' returns, retrieve the value of
28998         'tags-file-name' from the buffer we started in.  Force
28999         recomputation of 'tags-completion-table' next time it is used,
29000         since the list of tags table has changed.
29001         (visit-tags-table-buffer): Accept an additional optional argument
29002         CBUF, the buffer in which to start processing, and switch to that
29003         buffer if CBUF is non-nil.  All callers changed to supply a
29004         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
29005         Doc fix.
29006         (tags-completion-table): Accept an optional argument, the buffer
29007         for which to build 'tags-completion-table', and build that
29008         buffer's completion table.
29009         (tags-lazy-completion-table): Pass the current buffer to
29010         'tags-completion-table'.
29011         (tags-file-name): Don't say in the doc string that setting this
29012         variable directly is enough; say that 'visit-tags-table' should be
29013         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
29015         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
29016         advice to set 'tags-file-name' directly.
29018         * test/lisp/progmodes/etags-tests.el: New tests.
29020 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
29022         Fix documentation of `window-combination-resize'
29024         * src/window.c (Vwindow_combination_resize): Fix doc-string.
29025         * doc/lispref/windows.texi (Recombining Windows): Fix
29026         documentation of `window-combination-resize'.
29028 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29030         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
29032         All uses replaced by LISPSYM_INITIALLY.
29034 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29036         Make Cairo safer for --enable-gcc-warnings
29038         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
29039         Avoid overflow warnings about ‘0xff << 24’.
29040         (xpm_load, gif_load): Avoid unnecessary casts.
29041         (gif_load): Fewer ifdefs.
29043 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
29045         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
29047         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
29048         !NILP.
29050 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
29052         Fix previous commit
29054         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
29055         of hunk before calling `diff-hunk-style'.
29057 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
29059         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
29061 2016-11-29  Glenn Morris  <rgm@gnu.org>
29063         Use archive-mode for .cbr files
29065         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
29067 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
29069         Pacify Sun C 5.14
29071         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
29072         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
29073         into this enum rather than into an anonymous enum.  This avoids
29074         diagnostics from Sun C 5.14 and is a bit clearer anyway.
29076 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
29078         Adjust lwlib to recent config.h change
29080         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
29082 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
29084         * src/eval.c (clobbered_eassert): Check E's syntax.
29086 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
29088         Improve user retrieval from auth-source in Tramp
29090         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
29091         Use user for auth-source request only in case it exists.
29093 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
29095         shr.el: Don't render a normal table twice
29097         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
29098         Don't render a table if it is called for the first time,
29099         IOW, recognize it to never be invalid (bug#25051).
29101 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
29103         Typo fixes in elisp manual
29105         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
29106         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
29107         definitions of 'string-prefix-p' and 'string-suffix-p'.
29108         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
29110 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
29112         Improve diff-mode navigation/manipulation
29114         This is Bug #17544.
29116         Navigation and use of diff buffers had several annoying corner cases
29117         that this patch fixes.  These corner cases were largely due to
29118         inconsistent treatment of file headers.  Say you have a diff such as
29119         this:
29121          --- aaa
29122          +++ bbb
29123          @@ -52,7 +52,7 @@
29124          hunk1
29125          @@ -74,7 +74,7 @@
29126          hunk2
29127          --- ccc
29128          +++ ddd
29129          @@ -608,6 +608,6 @@
29130          hunk3
29131          @@ -654,7 +654,7 @@
29132          hunk4
29134         The file headers here are the '---' and '+++' lines.  With the point on
29135         such a line, hunk operations would sometimes refer to the next hunk and
29136         sometimes to the previous hunk.  Most of the time it would be the
29137         previous hunk, which is not what the user would expect.  This patch
29138         consistently treats such headers as the next hunk.  So with this patch,
29139         if the point is on the '--- ccc' line, the point is seen as referring to
29140         hunk3.
29142         Specific behaviors this fixes are:
29144         1. It should be possible to place the point in the middle of a diff
29145         buffer, and press M-k repeatedly to kill hunks in the order they appear
29146         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
29147         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
29148         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
29149         This is fixed by this patch.
29151         2. Similarly, it should be possible to apply hunks in order.  Previously
29152         with the point at the start, C-c C-a would apply the hunk1, then move
29153         the point to the first @@ header, and thus C-c C-a would try to apply
29154         the same hunk again.
29156         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
29157         navigation logic to diff-{hunk,file}-{next,prev}.
29158         (diff-hunk-next, diff-hunk-prev):
29159         (diff-file-next, diff-file-prev): Better navigation logic if
29160         skip-hunk-start is true, which happens when called interactively.
29161         (diff-bounds-of-hunk, diff-find-source-location):
29162         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
29163         improve hunk navigation.
29165 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
29167         Upcase Path and ComSpec in process-environment
29169         Since 2016-07-18 "Keep w32 environment settings internal only", the
29170         upcasing of environment variables "Path" and "ComSpec" occurred after
29171         initializing process-environment.  This meant that Lisp code trying to
29172         override "PATH" environment had no effect (Bug #24956).
29174         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
29175         in Vprocess_environment.
29177 2016-11-28  Philipp Stephani  <phst@google.com>
29179         Guard terminal parameter in XTerm mouse mode
29181         It has been observed (in the HTerm terminal emulator) that the
29182         event stored in the 'xterm-mouse-last-down' terminal parameter gets
29183         overwritten during a mouse drag operation, causing Emacs to attempt to
29184         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
29185         the terminal parameter to protect against such modifications.
29187         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
29188         of input event list.
29190 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29192         Fix template for module functions
29194         Reported by Syohei YOSHIDA (Bug#24932).
29195         * modules/modhelp.py (TEMPLATES):
29196         c_func’s 2nd arg is ptrdiff_t, not int.
29198 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
29200         Pacify gcc -Wswitch.
29202         * src/keyboard.c (kbd_buffer_store_buffered_event):
29203         Move initialization into default case.
29205 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
29207         Reuse already existing lisp symbols for ignore_event (bug#19547).
29209         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
29210         * src/keyboard.c (kbd_buffer_store_buffered_event):
29211         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
29212         and make-frame-visible for DEICONIFY_EVENT.
29213         (syms_of_keyboard): Remove unneeded symbols.
29215 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
29217         Allow configuring which event throw-on-input should ignore (bug#19547).
29219         * src/keyboard.c (kbd_buffer_store_buffered_event):
29220         Translate event to corresponding symbol from `while-no-input-ignore-events`
29221         and check them with Fmemq.
29222         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
29223         and its symbols.
29225         * lisp/subr.el (while-no-input-ignore-events): Add default values.
29227         * doc/lispref/commands.texi (Event Input Misc):
29228         Document while-no-input-ignore-events.
29229         * etc/NEWS: Same.
29231 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
29233         ash, lsh avoid code duplication
29235         See discussion in:
29236         https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00469.html
29237         * src/data.c (ash_lsh_impl): New function.
29238         (ash, lsh): Use it.
29240 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
29242         Add will change module to CSS property list
29244         * lisp/textmodes/css-mode.el (css-property-alist)
29245         (css-value-class-alist): Add new property and value class from CSS
29246         Will Change Module.
29248 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
29250         Don't access pointers to freed storage in regex.c
29252         Remove __BOUNDED_POINTERS__ code, which does not work with
29253         -fcheck-pointer-bound and which has undefined behavior anyway.
29254         Problem found when trying to port to gcc -fcheck-pointer-bounds.
29255         (This code was removed from glibc and gnulib regex.c many years ago.)
29256         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
29257         (EXTEND_BUFFER): Use a more-portable approach that avoids
29258         undefined behavior due to inspecting pointers to freed storage.
29260 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
29262         Port build to gcc -fcheck-pointer-bounds
29264         This does not let Emacs run, just build.
29265         * lib-src/etags.c (main):
29266         * lib-src/profile.c (main):
29267         Use return, not exit.
29268         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
29269         Do not define, as -fcheck-pointer-bounds is incompatible with taking
29270         addresses of labels.
29271         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
29272         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
29274 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
29276         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
29278 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
29280         * lisp/rot13.el: Use lexical-binding
29282 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
29284         Add "using" to cl-loop debug spec (Bug#24750)
29286         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
29287         "using" hash table clause.
29289 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
29291         Allow user control of progress messages in cpp.el
29293         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
29294         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
29295         the doc string.
29296         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
29297         'message' to print messages.  (Bug#24861)
29299 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
29301         New input method 'polish-prefix'
29303         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
29304         method.  (Bug#24967)
29306         * etc/NEWS: Mention the new input method.
29308 2016-11-25  Damien Cassou  <damien@cassou.me>
29310         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
29312 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
29314         Add missing 'provide's in preloaded packages
29316         * lisp/composite.el:
29317         * lisp/replace.el:
29318         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
29320 2016-11-24  Alan Mackenzie  <acm@muc.de>
29322         Handle correctly an (undocumented) bare mode in hack-local-variables.
29324         lisp/files.el (hack-local-variables-prop-line): When a file's first line
29325         contains only a mode specification without the string "mode:", return the mode
29326         symbol only when `handle-mode' is t.
29328 2016-11-23  Dima Kogan  <dima@secretsauce.net>
29330         Clarify ediff-directories prompt
29332         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
29333         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
29334         ediff-directories3, ediff-merge-directories,
29335         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
29336         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
29337         filename filter in interactive ediff. The new message makes it clear what is
29338         being filtered
29340 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
29342         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
29344 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
29346         Fix Bug#24199.
29348         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
29349           bracket in doc string (make checkdoc happy).
29350           (icalendar-import-buffer),
29351           (icalendar-import-buffer),
29352           (icalendar--convert-ical-to-diary),
29353           (icalendar--add-diary-entry): Rename argument diary-file to
29354           diary-filename (make checkdoc happy).
29355           (icalendar--convert-recurring-to-diary): Take care of byday-clause
29356           in monthly recurring events.  Actually fix Bug#24199.
29358         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
29360 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
29362         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
29364 2016-11-22  Philipp Stephani  <phst@google.com>
29366         Comint: new user option for C-c M-r and C-c M-s
29368         This option allows the user to specify where to place point after these
29369         commands.
29371         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
29372         (comint-previous-matching-input-from-input): Use user option.
29374 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
29376         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
29378         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
29379         `eshell-first-time-mode-hook'.
29381 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
29383         Dump also connection local variables in Tramp bug reports
29385         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
29386         Dump also connection local variables.
29388 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29390         Make sure elided long buffer names have ellipses added (Bug#24972)
29392         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
29393         string concat, and chop "strvar" less the width of the ellipsis.
29394         (ibuffer-compile-make-substring-form): Add space as padding, to fix
29395         off-by-one in alignment.
29397 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
29399         Buffer-menu-no-header: Detect a fake header
29401         * lisp/buff-menu.el (Buffer-menu-no-header): Use
29402         'tabulated-list-header-overlay-p' (Bug#24855).
29404 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
29406         buff-menu: Add command to unmark all buffers
29408         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
29409         to unmark all buffers (Bug#24880).
29410         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
29411         New predicate; return non-nil if tabulated-list has a fake header.
29412         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
29413         New command; remove all flags that use a particular mark from all the lines.
29414         Bind it to 'M-DEL'.
29415         (Buffer-menu-unmark-all):
29416         New command; remove all flags from all the lines.  Bind it to 'U'.
29417         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
29418         (Buffer-menu-delete, Buffer-menu-mark): Use them.
29419         (Buffer-menu-mode-map): Update menus.
29420         (Buffer-menu-mode): Update mode doc.
29421         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
29422         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
29423         (bs-mode): Update mode doc.
29424         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
29425         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
29426         to 'M-DEL'.
29427         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
29428         Use point instead of cursor in doc string.
29429         (electric-buffer-list): Update mode doc.
29430         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
29431         and Buffer-menu-unmark-all-buffers.
29433 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29435         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
29437         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
29439 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29441         Port htmlfontify to cl-lib
29443         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
29444         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
29445         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
29446         instances of cl aliases with their cl-lib counterparts.
29448 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29450         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
29452 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
29454         Fix another CANNOT_DUMP problem
29456         Reported by Robert Pluim in:
29457         https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00468.html
29458         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
29459         * src/lisp.h: ... to here.
29461 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29463         Add further consideration to string-width (Bug#24972)
29465         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
29466         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
29468 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
29470         Don't collect strings existing out of <tr>...</tr>
29472         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
29473         Don't collect strings existing out of <tr>...</tr> to avoid
29474         duplication with what `shr-tag-table' renders.
29476 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
29478         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
29479         the last commit.
29481 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
29483         Add a variable to pass additional options to rcvstore
29485         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
29486         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
29487         the arguments that are passed to rcvstore.
29489         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
29490         and followups, i.e., ding mailing list.
29492 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
29494         Fix undefined refs on some GNU/Linux hosts
29496         Problem reported by Ken Raeburn in:
29497         https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00463.html
29498         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
29499         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
29500         removes unwanted references to my_endbss and my_endbss_static,
29501         which are not optimized away on some platforms.
29503 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
29505         Make CANNOT_DUMP work better on GNU/Linux
29507         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
29508         lets the build succeed again, and fixes the testing framework so
29509         that most test cases now pass.  About twenty test cases still
29510         fail, though, and we still have Bug#24974.
29511         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
29512         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
29513         be any point to messing with a private memory allocator unless
29514         Emacs is dumping.
29515         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
29516         * src/image.c (reset_image_types):
29517         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
29518         Do not define if CANNOT_DUMP.
29519         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
29520         (daemon_pipe) [!WINDOWSNT]: Now static.
29521         * test/Makefile.in (mostlyclean): Remove *.tmp files.
29522         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
29524 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
29526         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
29528 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
29530         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
29532         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
29533         Do not define.  If defining, do it in a smaller scope.
29535 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
29537         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
29539 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
29541         Fix redrawing non-selected frame after resize on MS-Windows
29543         * src/xdisp.c (redisplay_internal): If all the frames were
29544         successfully updated, reset the "garbaged" flag of each frame, to
29545         make sure it doesn't stay set.
29547         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
29548         "garbaged", since expose_frame won't redraw the foreground then.
29549         (Bug#24642)
29551 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
29553         Add file-local-name
29555         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
29556         (Unique File Names): Use it.
29558         * etc/NEWS: Mention `file-local-name'.
29560         * lisp/files.el (file-local-name): New defun.
29561         (file-expand-wildcards):
29562         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
29563         * lisp/eshell/esh-ext.el (eshell-remote-command):
29564         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
29565         * lisp/org/ob-core.el (org-babel-local-file-name):
29566         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
29567         * lisp/progmodes/python.el (python-shell-send-file):
29568         * lisp/shell.el (shell):
29569         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
29570         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
29572 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
29574         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
29576 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
29578         * src/editfns.c (format-time-string): Mention %q in doc string.
29580 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
29582         Document format-time-string %q
29584         * doc/lispref/os.texi (Time Parsing):
29585         * etc/NEWS: Document new %q functionality taken from gnulib.
29587 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
29589         Merge from gnulib
29591         This incorporates:
29592         2016-11-15 sys_time: add gnulib::timeval for C++
29593         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
29594         2016-11-13 strftime: don't use __THROW
29595         2016-11-12 strftime: tune %q
29596         2016-11-12 Merge strftime.c changes from glibc
29597         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
29598         2016-11-05 strftime,strptime: support %q to represent the quarter
29600         The glibc changes in turn incorporate the following strftime.c changes:
29601         2015-10-20 Convert misc function definitions to prototype style
29602         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
29603         2010-01-09 Add support for XPG7 testing
29604         2009-10-30 Implement Burmese language locale for Myanmar
29605         2008-06-13 [BZ #6612] pass reference to tzset_called around
29606         2007-10-16 [BZ #5184] Add tzset_called argument
29608         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
29609         * m4/manywarnings.m4: Copy from gnulib.
29611 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
29613         Merge from origin/emacs-25
29615         07f45d7 ; Spelling fix
29616         1a210f0 * admin/release-process: Update versions and blocking bug num...
29617         36bafc9 Improve documentation of functions that accept time values
29619         # Conflicts:
29620         #       admin/release-process
29621         #       src/editfns.c
29623 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
29625         Merge from origin/emacs-25
29627         4af5981 Add a comment in generated refcards about the source
29628         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
29629         4887e7c js-mode: Fix indent problem after a regexp
29630         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
29631         1fc101b Don't confuse how Texinfo outputs @var with the input
29632         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
29633         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
29634         5b0cddd More fixes in copyright notices in etc/refcards/
29635         f994c20 Update copyright text in refcards
29636         9ad2ae7 Fix Outline command names
29637         26c3554 Send text received by bracketed paste to process
29638         db0b58d Correct the statement about programming modes always running ...
29639         78aece4 Improve documentation of 'occur'
29640         eb364fd Do call debugger on failed cl-assert
29641         3ef4ee8 Avoid infloop in python
29642         8da810f Don't refer to obsolete FEATURE-unload-hook
29643         4f478ca Improve documentation of dabbrevs
29644         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
29645         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
29646         3b199f7 Improve documentation of some Help commands
29647         93d3a0e Fix documentation of yes-or-no prompts
29648         af04919 Fix documentation of partial completion style
29649         ed80184 Fix documentation of the mode line on emacsclient frames
29650         e6be855 Fix description of 'C-z' in User manual
29651         16f7007 Improve and clarify documentation of Outline Mode
29652         31d93aa Add Emacs version number to nt/README.W32
29653         0b6b815 Fix python-mode hideshow regexp
29654         dc152c5 Modernize usage of 'macOS' in doc and comments
29655         84c5343 Prefer comments /* like this */ in C code
29656         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
29657         3ef86fd Clarify documentation of face attribute functions
29658         de51d59 ; * nt/README.W32: Minor copyedits.
29659         db436e9 Don't call debug on failed cl-assert
29661         # Conflicts:
29662         #       doc/emacs/cmdargs.texi
29663         #       etc/NEWS
29664         #       etc/PROBLEMS
29665         #       lisp/auth-source.el
29666         #       lisp/net/tramp-sh.el
29668 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
29670         Port RefTeX to cl-lib
29672         * lisp/textmodes/reftex-auc.el:
29673         * lisp/textmodes/reftex-cite.el: Use cl-lib.
29674         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
29675         macros.
29676         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
29677         (reftex-view-regexp-match): Substitute cl-lib macro.
29678         * lisp/textmodes/reftex-global.el: Use cl-lib.
29679         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
29680         (reftex-translate): Substitute cl-lib macros.
29681         * lisp/textmodes/reftex-index.el: Use cl-lib.
29682         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
29683         (reftex-index-next-phrase, reftex-index-phrases-info):
29684         (reftex-query-index-phrase): Substitute cl-lib macros.
29685         * lisp/textmodes/reftex-parse.el: Use cl-lib.
29686         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
29687         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
29688         Substitute cl-lib macros.
29689         * lisp/textmodes/reftex-ref.el: Use cl-lib.
29690         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
29691         macros.
29692         * lisp/textmodes/reftex-sel.el: Use cl-lib.
29693         (reftex-select-shared-map): Set keymap parent to special-mode-map.
29694         Flatten loop and remove digits and hyphen definitions from the map.
29695         (reftex-select-label-mode-map):
29696         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
29697         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
29698         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
29699         cl-pushnew.
29700         * lisp/textmodes/reftex.el: Use cl-lib.
29701         (reftex-docstruct-symbol): Use cl-incf.
29702         (reftex-ref-style-toggle): Replace add-to-list with append.
29703         (reftex-compile-variables): Use cl-lib macros, and functions with
29704         compiler macros. cl-first is just an alias.
29705         (reftex-parse-args, reftex-scanning-info-available-p):
29706         (reftex-select-external-document, reftex-get-file-buffer-force): Use
29707         cl-lib macros.
29708         (reftex-isearch-minor-mode): Replace add-to-list with append.
29710 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
29712         ibuffer-exchange-filters: Simplify code
29714         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
29716 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
29718         Implement getrlimit and setrlimit for MS-Windows
29720         * src/w32heap.c (getrlimit, setrlimit): New functions.
29721         Include w32.h.
29722         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
29723         should be compatible with 'struct rlimit' members.
29725         * nt/inc/sys/resource.h: New header file.
29727         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
29728         Set to "yes".
29730 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
29732         Move key mappings into reftex-mode-map defvar
29734         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
29735         key mappings.
29736         (reftex-reset-mode): Just use dolist.
29738 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
29740         Derive reftex-index-mode from special-mode
29742         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
29743         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
29744         from special-mode now.
29745         (reftex-index-mode): Derive from special-mode.
29746         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
29748 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
29750         Clean up reftex-toc-mode-map
29752         * lisp/textmodes/reftex-toc.el: Remove cl.
29753         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
29754         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
29756 2016-11-18  Philipp Stephani  <phst@google.com>
29758         Prevent dubious argument lists
29760         See Bug#24912 and Bug#24913.
29762         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
29763         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
29764         more dubious argument lists.
29765         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
29766         test.
29768 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
29770         Add test suite for buff-menu.el
29772         * test/lisp/buff-menu-tests.el: New file.
29773         (buff-menu-24962): Add test for Bug#24962.
29775 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
29777         Add cyrillic-tuvan input method
29779         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
29780         method.  (Bug#24942)
29782         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
29784 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
29786         Extend 'indent-relative' when its arg is non-nil
29788         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
29789         (indent-relative-first-indent-point): Renamed from
29790         'indent-relative-maybe'.
29791         (indent-relative): Now accepts an additional optional argument.
29792         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
29793         the additional arg.  (Bug#24766)
29795 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
29797         Add example for bug#24854
29799         * test/manual/indent/js.js: Add example for bug#24854.
29801 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
29803         Port registry.el the rest of the way to cl-lib
29805         This file already is using cl-lib functions at runtime; eieio ultimately
29806         loads cl-lib, which explains why doing so wasn't an issue.
29807         * lisp/registry.el: Require cl-lib.
29808         (registry-db, registry--match, registry-search, registry-delete):
29809         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
29810         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
29812 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
29814         Fix arglist in python.el (Bug#24762)
29816         * lisp/progmodes/python.el: Remove unneeded second args.
29817         (python-define-auxiliary-skeleton): DOC arg should be &optional.
29819 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
29821         Add tests for rot13.el
29823         * lisp/rot13.el (rot13): Docstring correction.
29825         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
29827 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
29829         Fix Bug#24947 (Tramp + ido)
29831         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
29833         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
29834         Run remote tests only if a connection is established only.  (Bug#24947)
29836 2016-11-16  Ken Brown  <kbrown@cornell.edu>
29838         Unbreak the build on Darwin (Bug#24957)
29840         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
29841         mistakes in recent commit.
29843 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
29845         Do not use map.el in seq-tests.el
29847         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
29848         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
29849         Emacs 24.5.
29851 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
29853         Update parameter :version to 26.1 in several defcustom
29855         Following defcustom where added or modified for 25.2 release.
29856         In fact all these changes belong to 26.1 release.
29857         * lisp/battery.el (battery-linux-sysfs-regexp)
29858         * lisp/comint.el (comint-password-prompt-regexp)
29859         * lisp/dired.el (dired-always-read-filesystem)
29860         * lisp/image.el (image-scaling-factor)
29861         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
29862         (ibuffer-never-search-content-mode)
29863         * lisp/mouse.el (mouse-select-region-move-to-beginning)
29864         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
29865         (netstat-program, route-program, route-program-options)
29866         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
29867         * lisp/progmodes/grep.el (grep-save-buffers)
29868         * lisp/vc/add-log.el (change-log-directory-files)
29869         * lisp/url/url-vars.el (url-user-agent)
29870         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
29871         (vc-hg-use-file-version-for-mode-line-version)
29872         (vc-hg-parse-hg-data-structures)
29873         * lisp/wdired.el (wdired-create-parent-directories)
29874         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
29875         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
29876         (gnus-button-url-regexp)
29877         * lisp/window.el (switch-to-buffer-preserve-window-point)
29878         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
29879         (ibuffer-locked-buffer)
29880         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
29881         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
29882         * lisp/gnus/message.el (message-user-fqdn)
29883         * lisp/simple.el (shell-command-dont-erase-buffer)
29884         (extended-command-suggest-shorter)
29885         * lisp/net/shr.el (shr-use-fonts)
29886         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
29888 2016-11-15  Glenn Morris  <rgm@gnu.org>
29890         Add --new-daemon, which runs in the foreground and does not fork
29892         This is intended for modern init systems such as systemd,
29893         which manage many of the traditional aspects of daemon behavior
29894         themselves.  (Bug#2677)
29895         * src/emacs.c (daemon_type): New integer.
29896         (usage, standard_args): Add --old-daemon and --new-daemon.
29897         (main): Handle --old-daemon and --new-daemon arguments.
29898         Restrict all the forking and complicated daemon stuff to old-daemon.
29899         (Fdaemon_initialized): Handle new-style daemon.
29900         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
29901         Replace daemon_pipe with daemon_type.
29902         * doc/emacs/cmdargs.texi (Initial Options):
29903         * doc/emacs/glossary.texi (Glossary):
29904         * doc/emacs/misc.texi (Emacs Server):
29905         * doc/lispref/display.texi (Window Systems):
29906         * doc/lispref/os.texi (Startup Summary): Related doc updates.
29907         * etc/NEWS: Mention this.
29908         * etc/emacs.service: Use Type=simple and --new-daemon.
29910 2016-11-15  Glenn Morris  <rgm@gnu.org>
29912         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
29913         * doc/man/emacs.1.in: Likewise.
29915 2016-11-15  Ken Brown  <kbrown@cornell.edu>
29917         Simplify case-insensitivity checks on Mac OS X
29919         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
29920         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
29921         Leave in two alternatives conditionally compiled based on
29922         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
29924         * etc/PROBLEMS: Mention the possible problem with pathconf on
29925         Mac OS X.
29927 2016-11-15  Glenn Morris  <rgm@gnu.org>
29929         * src/emacs.c (sort_args): Warn about multiple matches.
29931 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
29933         Implement file name handler for `file-name-case-insensitive-p'
29935         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
29936         is also applicable for remote hosts.
29938         * lisp/net/tramp.el (tramp-methods): Improve docstring.
29939         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
29940         (tramp-handle-file-name-case-insensitive-p): New defun.
29942         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
29943         Add `tramp-case-insensitive' entry.
29945         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
29946         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
29947         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
29948         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
29949         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
29951 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
29953         Nix more uses of default-FOO variables (Bug#24946)
29955         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
29956         Check for header-line-format instead.
29957         * lisp/emulation/viper.el (viper-load-custom-file): Reference
29958         major-mode instead.
29959         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
29960         fill-column instead.
29962 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
29964         Complete the name of PostgreSQL databases
29966         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
29967         name.
29968         (sql-postgres-list-databases): New function returning a list of
29969         available PostgreSQL databases.
29971         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
29973 2016-11-14  Sam Steingold  <sds@gnu.org>
29975         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
29977         When `vc-git-print-log-follow' is true and all files are
29978         non-directory, pass "--follow" to "git log".
29979         This works around bug#8756 and bug#16422.
29981 2016-11-14  Sam Steingold  <sds@gnu.org>
29983         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
29985         vc-git-print-log: pass "--follow" to "log" to handle renamed files
29987 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
29989         Revert "Improve case-insensitive checks (Bug#24441)"
29991         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
29992         I see no reason for removing code, documentation, and comments
29993         in the original commit.
29995 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
29997         Update verilog-mode.el
29999         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
30000         (verilog-calc-1): Fix "default clocking" indentation and
30001         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
30002         (verilog-diff-report): Fix `verilog-diff-report'
30003         not returning bad status on differences, bug1087.  Reported by
30004         Eric Jackowski.
30005         (verilog-auto-inst-param-value)
30006         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
30007         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
30008         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
30009         (verilog-read-sub-decls-type): When
30010         `verilog-auto-inst-param-value-type' is set, which is now the
30011         default, AUTOINPUT etc will now substitute parameter types from
30012         submodules, bug1061.  Reported by Brad Dobbie.
30013         (verilog-auto-reset, verilog-backward-case-item)
30014         (verilog-extended-case-re, verilog-read-always-signals-recurse):
30015         Fix indentation of randcase, bug1072. Reported by David Rogoff.
30016         (verilog-read-sub-decls-expr)
30017         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
30018         in generated comments, bug1057. Reported by Kaushal Modi.
30019         (verilog-auto-wire-comment, verilog-insert-definition):
30020         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
30021         Eric Jackowski.
30022         (verilog-extended-complete-re): Fix indentation
30023         of class static functions, bug1053. Reported by Gregory
30024         Czajkowski.
30025         (verilog-module-filenames): Support tramp for
30026         finding verilog modules. Reported by Nevada Sanchez.
30028 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
30030         Improve case-insensitive checks (Bug#24441)
30032         * doc/lispref/files.texi (Truenames): Simplify documentation,
30033         to avoid giving too much platform-specific information that
30034         may not be accurate anyway.
30035         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
30036         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
30037         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
30038         back on an alternative rather than returning false.  Try skipping
30039         the Darwin code, as it (1) no longer seems to be needed and (2)
30040         does not seem to match the Apple documentation.  Leave in two
30041         alternatives conditionally compiled based on
30042         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
30044 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
30046         Fix documentation changes of connection-local variables
30048         * etc/NEWS: Fix last change.
30049         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
30050         * doc/lispref/elisp.texi (Top): Update the master menu.
30052 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
30054         Implement connection-local variables
30056         * doc/lispref/variables.texi (Connection Local Variables): New section.
30058         * etc/NEWS: Mention connection-local variables.
30060         * lisp/files-x.el (enable-connection-local-variables)
30061         (connection-local-variables-alist, connection-local-class-alist)
30062         (connection-local-criteria-alist): New defvars.
30063         (connection-local-get-classes)
30064         (connection-local-get-class-variables): New defsubst.
30065         (connection-local-set-classes)
30066         (connection-local-set-class-variables)
30067         (hack-connection-local-variables)
30068         (hack-connection-local-variables-apply): New defuns.
30069         (with-connection-local-classes): New defmacro.
30071         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
30073         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
30074         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
30075         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
30076         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
30078         * test/lisp/files-x-tests.el: New file.
30080 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
30082         tabulated-list: extend truncation into next align-right column
30084         See discussion on:
30085         https://lists.gnu.org/archive/html/emacs-devel/2016-10/msg01101.html
30086         * lisp/emacs-lisp/tabulated-list.el
30087         (tabulated-list--near-rows): New variable.
30088         (tabulated-list-print, tabulated-list-set-col): Use it.
30089         (tabulated-list--col-local-max-widths): New defsubst.
30090         (tabulated-list-print-col): Use it.  If the next column is
30091         align-right, and has some space left then don't truncate to width,
30092         use some of the available space from the next column.
30094 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
30096         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
30098         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
30099         (shr-collect-extra-strings-in-table): Render images as well.
30101 2016-11-13  Ken Brown  <kbrown@cornell.edu>
30103         Use the new 'file-name-case-insensitive-p' function
30105         * lisp/international/mule.el (auto-coding-alist-lookup):
30106         * lisp/files.el (file-truename):
30107         (abbreviate-file-name, set-auto-mode, file-relative-name):
30108         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
30109         'file-name-case-insensitive-p' instead of 'system-type' to test
30110         case-insensitivity.
30112 2016-11-13  Glenn Morris  <rgm@gnu.org>
30114         Include a systemd user unit file.  (Bug#16507)
30116         * etc/emacs.service: New file.
30117         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
30118         * Makefile.in (libdir): New, set by configure.
30119         (systemdunitdir): New variable.
30120         (install-etc, uninstall): Handle the emacs.service file.
30122 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
30124         Port --enable-gcc-warnings to Ubuntu 16.10
30126         * src/gmalloc.c: Include <stdlib.h>, so it declares
30127         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
30128         so that GCC doesn't complain that hybrid_aligned_alloc is
30129         defined without being declared.
30131 2016-11-13  Ken Brown  <kbrown@cornell.edu>
30133         Silence tramp warning
30135         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
30136         'file-name-case-insensitive-p' as a known file primitive.
30137         (Bug#24936)
30139 2016-11-12  Ken Brown  <kbrown@cornell.edu>
30141         Check case-sensitivity when renaming files
30143         * src/fileio.c (file_name_case_insensitive_p)
30144         (Ffile_name_case_insensitive_p):  New functions.
30145         (Frename_file): Allow renames that simply change case when the
30146         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
30148         * lisp/dired-aux.el (dired-do-create-files): Use
30149         'file-name-case-insensitive-p' instead of 'system-type' to check
30150         for case-insensitivity.  (Bug#24441)
30152         * doc/lispref/files.texi (Truenames): Document
30153         'file-name-case-insensitive-p'.
30155 2016-11-12  Ken Brown  <kbrown@cornell.edu>
30157         Unbreak the build on Cygwin
30159         * configure.ac (system_malloc) [CYGWIN]: Unset.
30161 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
30163         Update chart.el
30165         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
30166         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
30167         fixed number of newlines, use window-height.
30168         (chart-bar):
30169         (chart-trim): Use dolist.
30170         (chart-file-count): The previous implementation was buggy and missed
30171         extensions.  Use file-name-extension instead to detect file extensions.
30172         Also use dolist and cl-incf to reduce verbosity.
30174 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
30176         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
30177         (shr-collect-extra-strings-in-table):
30178         Render extra tables in an invalid html as well.
30180 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
30182         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
30184 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
30186         Resurrect 'memory-limit' on MS-Windows
30188         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
30189         'memory-limit' will produce a trivial and useless result on Windows.
30191 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
30193         Update quickurl.el
30195         * lisp/net/quickurl.el (quickurl-format-function):
30196         (quickurl-sort-function): Use named function.
30197         (quickurl-list-mode-map): Remove lines that are extraneous now that the
30198         parent mode is special-mode.
30199         (quickurl-format-url, quickurl-sort-urls): New functions.
30200         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
30201         be used.
30202         (quickurl-list-mode): Derive from special-mode.  Nix setting
30203         buffer-read-only: special-mode does that.
30204         (quickurl-list-populate-buffer): Use dolist instead.
30205         (quickurl-list-quit): Use quit-window.  It looks like this was written
30206         before the quit-window rewrite.  quit-window is very useful now.
30208 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
30210         Refine multi-hop specs in Tramp
30212         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
30214         * test/lisp/net/tramp-tests.el
30215         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
30216         method.  "/h:" is allowed on non MS Windows.
30218 2016-11-08  Daniel Colascione  <dancol@dancol.org>
30220         Avoid infloop in python
30222         Fix bug#24905
30224         * lisp/progmodes/python.el (python-info-docstring-p): Improve
30225         infloop avoidance: replace (bobp) with generic test for
30226         forward progress.
30227         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
30228         test for bug#24905
30230 2016-11-08  Daniel Colascione  <dancol@dancol.org>
30232         Make gnus/message.el work correctly under lexical binding
30234         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
30235         `_' to shut up the byte compiler.
30236         (sha1-maximum-internal-length, smtpmail-smtp-server)
30237         (smtpmail-smtp-service): add missing defvars
30239 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
30241         Fix Bug#24889
30243         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
30244         defvar.  Fix docstring.
30245         (tramp-completion-file-name-handler-alist): Fix docstring.
30246         (tramp-register-file-name-handlers): Reassign
30247         `tramp-file-name-regexp' to the car of
30248         `tramp-file-name-structure'.  (Bug#24889)
30250 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
30252         Port to FreeBSD 11 AMD
30254         Problem reported by Ashish Shukla (Bug#24892).  I tested
30255         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
30256         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
30257         (sbrk): Check whether it exists.
30258         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
30259         Do not define, since this function is now used only on GNU/Linux,
30260         and sbrk might not exist on other platforms.
30261         (malloc_initialize_hook) [!GNU_LINUX]:
30262         Do not call my_heap_start, since its side effect will never be used.
30263         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
30264         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
30265         sbrk exists.
30267 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
30269         Port emacsclient to FreeBSD 11 etc.
30271         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
30272         platforms like FreeBSD 11 that use code involving strlen etc., and
30273         because <config.h> no longer includes string.h.
30275 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
30277         Prescribe history for read-regexp in query-replace
30279         In the fix for bug#24580, the history argument for read-regexp was
30280         removed erroneously; read-regexp's history argument defaults to
30281         regexp-history, not minibuffer-history.
30282         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
30283         minibuffer-history.  Fixes bug#24873.
30285 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
30287         Remove obsolete default-FOO variables
30289         * etc/NEWS: Indicate the removed variables.
30290         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
30291         * lisp/subr.el (default-mode-line-format, default-header-line-format):
30292         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
30293         (default-truncate-lines, default-left-margin, default-tab-width):
30294         (default-case-fold-search, default-left-margin-width):
30295         (default-right-margin-width, default-left-fringe-width):
30296         (default-right-fringe-width, default-fringes-outside-margins):
30297         (default-scroll-bar-width, default-vertical-scroll-bar):
30298         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
30299         (default-fringe-indicator-alist, default-fringe-cursor-alist):
30300         (default-scroll-up-aggressively, default-scroll-down-aggressively):
30301         (default-fill-column, default-cursor-type):
30302         (default-cursor-in-non-selected-windows):
30303         (default-buffer-file-coding-system, default-major-mode):
30304         (default-enable-multibyte-characters): Remove obsolete declarations.
30305         * src/buffer.c (default-mode-line-format, default-header-line-format):
30306         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
30307         (default-truncate-lines, default-left-margin, default-tab-width):
30308         (default-case-fold-search, default-left-margin-width):
30309         (default-right-margin-width, default-left-fringe-width):
30310         (default-right-fringe-width, default-fringes-outside-margins):
30311         (default-scroll-bar-width, default-vertical-scroll-bar):
30312         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
30313         (default-fringe-indicator-alist, default-fringe-cursor-alist):
30314         (default-scroll-up-aggressively, default-scroll-down-aggressively):
30315         (default-fill-column, default-cursor-type):
30316         (default-cursor-in-non-selected-windows):
30317         (default-buffer-file-coding-system, default-major-mode):
30318         (default-enable-multibyte-characters): Remove.
30319         * src/fileio.c (choose_write_coding_system): Fix comment.
30320         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
30322 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
30324         Improve the tutorial
30326         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
30327         * etc/tutorials/TUTORIAL.he: Follow suit.
30329 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
30331         Restore file descriptor limit in subprocesses
30333         Problem reported by Philipp Stephani (Bug#24869).
30334         * src/callproc.c (child_setup) [!DOS_NT]:
30335         Call restore_nofile_limit in the child.
30336         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
30337         (restore_nofile_limit): New function.
30338         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
30340 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
30342         Remove some subr.el functions obsoleted in 22.1
30344         * etc/NEWS: Document removed functions.  Also mention the "face"
30345         variables that have been removed recently.
30346         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
30347         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
30349 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30351         Prefer comments /* like this */ in C code
30353 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
30355         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
30357 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
30359         Support zstd compressed files
30361         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
30362         zstd compression info: <http://facebook.github.io/zstd/>.
30363         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
30364         compressed tar archives.  (Bug#24853)
30366 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
30368         Enlarge DUMPED_HEAP_SIZE
30370         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
30371         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
30373 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30375         Update from gnulib
30377         This incorporates:
30378         2016-11-03 intprops: port to older XL C
30379         * lib/intprops.h: Copy from gnulib.
30381 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30383         Merge from origin/emacs-25
30385         acae275 ; Spelling fixes
30386         d8fac73 Update README for precompiled windows Emacs.
30387         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
30388         f708cb2 Clarify doc string of 'transpose-sexps'
30389         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
30390         bdc89eb Improve documentation of 'font-lock-remove-keywords'
30391         4a0c590 Fix documentation of the command summary key
30392         0221b7a Mark relocation workarounds with REL_ALLOC
30394 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30396         Merge from origin/emacs-25
30398         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
30399         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
30400         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
30401         9c247d2 Update category-table for Chinese characters
30402         43986d1 Inhibit buffer relocation during regex searches
30403         fee4cef Revert fixes to allocation of regex matching
30405 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
30407         Fix references to long obsoleted functions/aliases
30409         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
30410         * doc/misc/cl.texi (Conditionals):
30411         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
30412         not string-to-int.
30413         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
30414         default-major-mode.
30415         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
30416         here is not a function call, but shorten the binding names anyways.
30417         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
30418         Bug#22244.
30419         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
30420         read-input.
30422 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
30424         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
30426 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
30428         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
30429         that gathers extra strings in an invalid html.  (bug#24831)
30430         (shr-tag-table): Use it.
30432 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
30434         Add 'x-ctrl-keysym' support on X window system
30436         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
30437         Support 'x-ctrl-keysym'.
30438         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
30439         property on it.
30440         <x-ctrl-keysym>: New DEFVAR_LISP.
30441         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
30442         fix.  (Bug#24822)
30444         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
30446         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
30448 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
30450         Improve autoload error reporting
30452         * src/eval.c (Fautoload_do_load): Include the absolute file name
30453         in the error message.
30455 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30457         Stop force parameter of whitespace-report-region having global effect
30459         * lisp/whitespace.el (whitespace-report-region): Force parameter
30460         previously changed whitespace-style globally.  Fix this, and use
30461         whitespace-active-style, to take account of any changes the user may
30462         have made.  Simplify the documentation: the force parameter simply
30463         forces all classes of whitespace problem to be considered.
30464         (Bug#24745)
30466 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30468         Document use of `tab-width'
30470         * lisp/whitespace.el: When talking about `8 or more spaces', mention
30471         `tab-width' instead of 8.  (Bug#24745)
30473 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30475         Make whitespace-report-region respect current settings
30477         * lisp/whitespace.el (whitespace-report-region): Make it respect
30478         whitespace-style, including any additions made by the force parameter.
30479         This means that the function does not return t unless a whitespace
30480         problem that the user cares about is reported.  (Bug#24745)
30482 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30484         Fix whitespace-space-after-tab-regexp
30486         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
30487         (whitespace-regexp): Match all the spaces after tabs for highlighting,
30488         not just the first tab-width.  Fix whitespace-space-after-tab::space
30489         version so that it requires at least tab-width spaces, not just 1.
30490         (Bug#24745)
30492 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30494         Remove duplicate documentation
30496         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
30497           section which duplicate and in some places contradict (due to being
30498           out of date) the docstrings (Bug#24745).
30500 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30502         Fix bob/eob checks
30504         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
30505         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
30506         work at beginning & end of buffer in whitespace-report-region, and only
30507         there (i.e. they will never match in regions that don't include the
30508         start or end of the buffer).  (Bug#24745)
30510 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
30512         (thing-at-point 'list) return nil if no list at point
30514         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
30515         Check first if we are at the beginning of a top-level sexp (Bug#24627).
30516         If point is inside a comment or string, look for a list out of the
30517         comment/string.
30518         Escape '[' in doc string.
30519         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
30520         expected test result as pass.
30522 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
30524         Remove antlr face aliases obsoleted in 22.1
30526         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
30527         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
30528         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
30529         (antlr-tokenref-face, antlr-literal-face):
30530         (antlr-literal-face): Remove.
30531         (antlr-font-lock-additional-keywords): Use face symbols instead.
30533 2016-11-02  Daniel Colascione  <dancol@dancol.org>
30535         Revert "Disable bracketed paste in a terminal in char mode"
30537         This change causes regressions, and besides, disabling BPM frame-wide
30538         for the sake of one buffer is the wrong solution.
30540         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
30542 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
30544         Revert change to eww-suggest-uris
30546         The introduced append is ugly and can yield '(nil); doing delq on it
30547         would be hacks on hacks.
30548         * lisp/net/eww.el: Require cl-lib at run time.
30549         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
30550         (eww): Remove erroneous append.
30551         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
30552         equal to eww-current-url, which is nil anyways if we are not in an EWW
30553         buffer.
30555 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
30557         Add eww-open-in-new-buffer to EWW
30559         * doc/misc/eww.texi (Basic): Document new command and key.
30560         * etc/NEWS: Mention new key and its purpose.
30561         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
30562         (eww): Append (eww-current-url) to the prompt defaults.
30563         (eww-open-in-new-buffer): New command.
30564         (eww-mode-map): Bind it and add a menu item.
30566 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
30568         Migrate auth-source to cl-lib
30570         * lisp/auth-source.el: Use cl-lib.
30571         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
30572         (auth-source-search): Replace cl calls with cl-lib ones.
30573         (auth-source-netrc-cache):
30574         (auth-source-forget+): Use cl-do-symbols instead.
30575         (auth-source-specmatchp, auth-source-netrc-parse):
30576         (auth-source-netrc-search, auth-source-netrc-create):
30577         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
30578         (auth-source-secrets-search, auth-source-secrets-create):
30579         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
30580         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
30581         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
30583 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
30585         Don't segfault on timed-out TLS connections
30587         * src/process.c (finish_after_tls_connection): Check that the
30588         file descriptor is still alive before proceeding (bug#24811).
30589         Also clean up the code slightly.
30591 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
30593         Support 'TARGETS' in clipboard selections on MS-Windows
30595         * src/w32select.c (Fw32_selection_targets): New function.
30597         * lisp/term/w32-win.el (w32--get-selection): Call
30598         'w32-selection-targets' to obtain the list of data formats
30599         available in the clipboard.
30601 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
30603         Fix documentation for 'eudc-options-file'
30605         * doc/misc/eudc.texi (The Server Hotlist): Update the default
30606         value of 'eudc-options-file'.
30608 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
30610         Fix documentation of 'eudc-inline-expansion-format'
30612         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
30613         'eudc-inline-expansion-format'. (Bug#24840)
30615 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
30617         Turn on lexical-binding in some more libs
30619         * lisp/calendar/icalendar.el:
30620         * lisp/emacs-lisp/regexp-opt.el:
30621         * lisp/emacs-lisp/timer.el:
30622         * lisp/gnus/message.el:
30623         * lisp/hex-util.el: Turn on lexical-binding.
30625 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
30627         Turn on lexical-binding in some net libs
30629         * lisp/net/dbus.el: Turn on lexical-binding.
30630         (dbus-list-hash-table, dbus-list-known-names):
30631         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
30632         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
30633         (dbus-introspect-get-property-names):
30634         (dbus-introspect-get-argument-names, dbus-get-all-properties):
30635         (dbus-property-handler, dbus-get-all-managed-objects):
30636         (dbus-managed-object-handler): Replace add-to-list with push. Add
30637         nreverse in some places where the APPEND argument of add-to-list was
30638         used.
30639         * lisp/net/network-stream.el: Turn on lexical-binding.
30640         * lisp/net/newsticker.el: Turn on lexical-binding.
30641         * lisp/net/shr.el: Turn on lexical-binding.
30642         (shr-make-placeholder-image): Remove unused variable binding.
30643         (shr-inspect-table): Replace ignored bindings with underscore.
30645 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
30647         Turn on lexical-binding in some url libs
30649         * lisp/url/url-auth.el:
30650         * lisp/url/url-expand.el:
30651         * lisp/url/url-future.el:
30652         * lisp/url/url-parse.el:
30653         * lisp/url/url-util.el: Turn on lexical-binding.
30655 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
30657         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
30659         (Bug#24733)
30661 2016-10-30  Alan Mackenzie  <acm@muc.de>
30663         Handle chars of syntax word which are also flagged as comment delimiters
30665         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
30666         as the start/end of two char comment delimiters, recognize a comment delimiter
30667         in preference to a portion of a word.  This fixes bug #24767.
30669 2016-10-29  Daniel Colascione  <dancol@dancol.org>
30671         Speed up initialization by preferring /dev/urandom to GnuTLS
30673         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
30675 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
30677         Quote file names in dired compression commands
30679         * lisp/dired-aux.el (dired-do-compress-to): Change the string
30680         used as shell command for compression by quoting the filenames
30681         used for input and output (Bug #24620).
30683 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
30685         Avoid errors in posn-at-point for large images
30687         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
30688         returns a 6-member list for a partially visible glyph, pass the
30689         sum of Y and RTOP to posn-at-x-y, since that's where the visible
30690         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
30691         (Bug#23809)
30693 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
30695         Unbreak MS-Windows build
30697         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
30698         name is "wignore".
30699         (x_set_cursor_gc, x_set_mouse_face_gc)
30700         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
30701         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
30702         use s->window, which doesn't exist anymore.
30704         * src/w32term.h (XCreateGC): Adjust prototype.
30706 2016-10-28  Daniel Colascione  <dancol@dancol.org>
30708         Add double-buffering support to reduce flicker
30710         * src/dispextern.h (struct glyph_string): Remove window member
30711         (block_buffer_flips, unblock_buffer_flips)
30712         (buffer_flipping_blocked_p): Declare.
30714         * src/xterm.h (struct x_display_info): New member supports_xdbe.
30715         (struct x_output): New members draw_desc and need_buffer_flip.
30716         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
30717         (FRAME_X_DOUBLE_BUFFERED_P)
30718         (FRAME_X_NEED_BUFFER_FLIP): New macros.
30719         (set_up_x_back_buffer, tear_down_x_back_buffer)
30720         (initial_set_up_x_back_buffer): Declare.
30722         * src/xterm.c: Include Xdbe.h.
30723         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
30724         (x_draw_vertical_window_border, x_update_end)
30725         (x_setup_relief_color, x_draw_relief_rect)
30726         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
30727         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
30728         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
30729         variables appropriately; substitute calls to XClearArea with
30730         x_clear_area, which DTRT for double buffering.
30731         (x_clear_window, x_clear_area): In double-buffering mode, use
30732         rect-drawing X functions instead of XClearWindow and
30733         XClearArea, which always operate on the front buffer.
30734         (show_back_buffer): New function.
30735         (XTframe_up_to_date): Call show_back_buffer when done.
30736         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
30737         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
30738         now independent X windows.
30739         (handle_one_xevent): Call font_drop_xrender_surfaces when
30740         XftDraw might need regenerating; perform buffer flip when
30741         responding to Expose events; issue front-buffer clearing
30742         commands as stopgap while we wait for redisplay.
30743         Call flush_dirty_back_buffers.
30744         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
30745         earlier in function.
30746         (x_free_frame_resources): Call tear_down_x_back_buffer when
30747         destroying frame.
30748         (x_term_init): Attempt to initialize double buffer extension.
30749         (x_flip_and_flush): New function.
30750         (x_redisplay_interface): Point to x_flip_and_flush instead of
30751         x_flip directly.
30752         (flush_dirty_back_buffers): New function.
30753         (x_create_terminal): Register buffer_flipping_unblocked_hook.
30755         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
30756         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
30757         (xftfont_draw): Call x_mark_frame_dirty.
30758         (xftfont_drop_xrender_surfaces): New function.
30759         (syms_of_xftfont): Register it.
30761         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
30762         FRAME_X_WINDOW.
30764         * src/xfns.c: Include Xdbe.h.
30765         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
30766         (Fx_double_buffered_p): New functions.
30767         (x_window): Call initial_set_up_x_back_buffer.
30768         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
30769         (Fx_create_frame): Configure `inhibit-double-buffering'
30770         frame parameter.
30771         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
30772         (x_frame_parm_handlers): Register
30773         x_set_inhibit_double_buffering.
30774         (syms_of_xfns): Register Sx_double_buffered_p.
30775         (x_mark_frame_dirty): Define.
30777         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
30778         FRAME_X_WINDOW.
30780         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
30781         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
30782         (redisplay_internal): Restart redisplay if a frame is garbaged
30783         during updating; explain why. Block buffer flips
30784         during redisplay.
30785         (redisplay_preserve_echo_area): Block buffer flip during call
30786         to redisplay_internal.
30787         (buffer_flip_blocked_depth): New variable.
30788         (block_buffer_flips, unblock_buffer_flips)
30789         (buffer_flipping_blocked_p): New functions.
30790         (init_glyph_string): Stop setting window member of struct
30791         glyph_string.
30793         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
30794         x_set_inhibit_double_buffering.
30796         * src/termhooks.h (struct terminal): Add
30797         buffer_flipping_unblocked_hook.
30799         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
30800         x_set_inhibit_double_buffering.
30802         * src/image.c (x_create_bitmap_from_data)
30803         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
30804         (Create_Pixmap_From_Bitmap_Data)
30805         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
30806         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
30807         variables appropriately.
30809         * src/gtkutil.c: Include Xdbe.h.
30810         (xg_get_widget_from_map): Forward declare.
30811         (xg_clear_under_internal_border): Remove obsolete calls to
30812         refresh scroll bars.
30813         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
30814         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
30815         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
30816         same reason.
30817         (xg_set_background_color): Set scroll bar background colors.
30818         (xg_finish_scroll_bar_creation): New function with common
30819         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
30820         scroll bars to be real X11 windows.
30821         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
30822         xg_finish_scroll_bar_creation.
30823         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
30824         Remove obsolete calls to refresh scroll bars; fix comments.
30826         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
30827         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
30828         FRAME_X_WINDOW.
30830         * src/frame.c (frame_parms): Add table entry for new
30831         `inhibit-double-buffering' frame parameter
30832         (syms_of_frame): Register Qinhibit_double_buffering.
30834         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
30835         (font_drop_xrender_surfaces): Declare.
30837         * src/font.c (font_drop_xrender_surfaces): New function.
30839         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
30841         * etc/NEWS: Mention use of double buffering
30843         * doc/lispref/frames.texi (Management Parameters): Document
30844         `inhibit-double-buffering' frame parameters.
30845         (Visibility of Frames): Document `x-double-buffered-p'.
30847         * configure.ac: Check for the X double buffer extension
30849 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
30851         Improve result of `auth-source-search' in Tramp
30853         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
30854         :user in result of `auth-source-search'.
30856 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
30858         Fix avl-tree alias docstrings
30860         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
30861         (avl-tree-stack-p, avl-tree-create):
30862         (avl-tree-compare-function): Add calling convention to docstrings.
30864 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
30866         Update from gnulib
30868         This incorporates:
30869         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
30870         2016-10-13 stdint: port SIZE_MAX to glibc s390
30871         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
30872         * lib/gnulib.mk: Regenerate.
30873         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
30874         * m4/utimes.m4: Copy from gnulib.
30876 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
30878         electric-quote-chars fixups
30880         * lisp/electric.el (electric-quote-chars): Check types and safety
30881         more carefully.
30882         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
30883         Omit no-longer-necessary runtime error diagnostic.
30885 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
30887         New user variable 'electric-quote-chars'
30889         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
30890         * lisp/electric.el (electric-quote-chars): New defcustom.
30891         (electric-quote-post-self-insert-function): Use it.
30893 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
30895         Add more tests for Bug#24627
30897         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
30898         Add tests for 'list-at-point'.
30900 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
30902         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
30904         * lisp/shell.el (shell--unquote&requote-argument): Fix
30905         off-by-one thinko.  Don't use match data after a failed string-match.
30907 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
30909         * src/xwidget.c (webkit_js_to_lisp): Now static.
30911 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30913         xwidget: Map "previous-line" and "next-line" to scroll
30915         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
30916         procedures.
30918 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30920         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
30922         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
30923         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
30924         respectively.
30925         (xwidget-webkit-scroll-top,
30926         xwidget-webkit-scroll-bottom): New procedures.
30928 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30930         Implement zoom for WebKit widget.
30932         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
30933         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
30934         (xwidget-webkit-zoom): Declare procedure.
30935         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
30937 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30939         Dynamically resize WebKit widget.
30941         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
30942         xwidget-webkit-adjust-size-in-frame): New procedures.
30943         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
30944         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
30945         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
30946         add widget and window as arguments.
30947         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
30949 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30951         Let initial WebKit view fill window
30953         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
30954         WebKit widget to window size.
30956 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30958         xwidget: Remove title hack.
30960         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
30961         * lisp/xwidget.el (xwidget-webkit-get-title,
30962         xwidget-webkit-execute-script-rv): Remove procedures.
30964 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30966         xwidget: Get URL asynchronously.
30968         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
30970 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30972         xwidget: Get selection with asynchronous JavaScript
30974         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
30975         process selection.
30976         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
30978 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30980         xwidget: Add function to find element by CSS selector
30982         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
30984 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30986         xwidget: Simplify functions to scroll to elements
30988         * lisp/xwidget.el (xwidget-webkit-show-named-element,
30989         xwidget-webkit-show-id-element,
30990         xwidget-webkit-show-id-or-named-element): Simplify functions by
30991         scrolling exclusively with JavaScript.
30993 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
30995         xwidget: Get title via asynchronous JavaScript.
30997         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
30998         asynchronously.
31000 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31002         xwidget: Do not use `xwidget-execute-script-rv' to insert string
31004         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
31005         return value via callback instead of using
31006         `xwidget-webkit-execute-script-rv'.
31008 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31010         Remove scrolled window container around WebKit widget
31012         The WebKit widget can scroll on its own and does not need to wrapped
31013         with a scrolled window container.
31015         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
31016         * src/xwidget.c: Remove widgetscrolledwindow_osr.
31017         (xwidget-set-adjustment): Remove.
31018         (xwidget-resize): Resize Webkit widget last.
31019         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
31020         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
31021         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
31022         Implement scrolling via JavaScript.
31024 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31026         xwidget: Pass JavaScript return value to optional callback procedure
31028         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
31029         callback argument.
31030         (xwidget-webkit-callback): Handle "javascript-callback" event type.
31031         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
31032         argument FUN, a Lisp procedure to execute on the JavaScript return
31033         value.
31034         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
31035         webkit_js_to_lisp): New procedures.
31037 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31039         xwidget: Use WebKit2 API
31041         * configure.ac: Check for webkit2gtk-4.0.
31042         * src/xwidget.c: Adjust to use WebKit2 API.
31043         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
31044         `xwidget-event-type'.
31046 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31048         Merge from origin/emacs-25
31050         4c3f738 Comment for bug#24793
31052 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31054         Merge from origin/emacs-25
31056         96ac0c3 Yet another fix for using pointers into buffer text
31057         1047496 Another fix for using pointer to buffer text
31058         3121992 Fix Bug#24478
31060 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31062         Merge from origin/emacs-25
31064         ee04aed Fix handling of buffer relocation in regex.c functions
31065         71ca4f6 Avoid relocating buffers while libxml2 reads its text
31066         1b3fc8a ; Remove redundant code in gmalloc.c
31067         9afea93 Attempt to catch reads from a buffer that is relocated
31069 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
31071         Minor fix in the documentation of seq-random-elt
31073         * doc/lispref/sequences.texi (Sequence Functions): Remove false
31074           sentence.
31076 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
31078         Minor copyedits in documentation of 'seq-random-elt'
31080         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
31081         last change.  Use 2 spaces between sentences.
31083 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
31085         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
31087 2016-10-25  Damien Cassou  <damien@cassou.me>
31089         Add seq-random-elt to seq.el
31091         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
31092           random element from it's sequence parameter.
31094         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
31095           test-seq-random-elt-return-nil): Test the new function
31097         * doc/lispref/sequences.texi: Document the new function
31099 2016-10-24  Ken Brown  <kbrown@cornell.edu>
31101         * configure.ac: Stop using mmap for buffers on Cygwin.
31103 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
31105         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
31107 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
31109         Don't prompt user when killing Flymake processes
31111         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
31112         Don’t prompt the user when killing Flymake processes.
31114         * doc/misc/flymake.texi (Starting the syntax check process):
31115         Document new behavior.
31117 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31119         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
31121         This finishes the merge of the recent emacs-25 regex changes into
31122         master.
31124 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31126         Merge from origin/emacs-25
31128         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
31129         6f1325e electric-quote mode no longer worries about coding
31130         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
31131         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
31132         b2ba630 Explain how to debug emacsclient lisp errors
31133         9da53e2 Let describe-function work for lambda again
31134         5c2da93 Fix kill-line's docstring
31135         ad66b3f Fix handling of allocation in regex matching
31136         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
31137         3877c91 vc-region-history: Search just on lines intersecting the region
31138         8988327 Fix documentation of 'alist-get'
31139         b6998ea * src/regex.h (re_match_object): Improve commentary.
31141         # Conflicts:
31142         #       etc/NEWS
31143         #       lisp/help-fns.el
31145 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31147         Merge from origin/emacs-25
31149         8ad0d7d ; Fix quoting in etc/NEWS
31150         6b9dee1 Change Tramp version to "2.2.13.25.2"
31151         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
31152         b2f32e4 Don't scan compiled module files for autoloads
31153         9a758b4 Fix Bug#24698
31154         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
31155         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
31156         12da149 Update URL of MS-Windows optional DLLs
31157         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
31158         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
31159         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
31160         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
31162         # Conflicts:
31163         #       doc/misc/trampver.texi
31164         #       etc/NEWS
31165         #       lisp/net/tramp-sh.el
31166         #       lisp/net/trampver.el
31168 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31170         Merge from origin/emacs-25
31172         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
31173         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
31174         993acb5 ; Minor fix for last change in characters.el
31175         30c4bb5 More char-width fixes
31176         4eb4463 Fix char-width-table values for some Emoji
31177         528997d Keep point when switching from and to *terminal* buffer
31178         2130005 * INSTALL: Use correct Emacs release number 25.
31179         10835b1 Avoid crashes due to objects read with the #n=object form
31180         4de671d Improve doc string of 'completion-at-point-functions'
31181         ceb46f0 Fix crash in evaluating functions
31182         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
31184 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31186         Merge from origin/emacs-25
31188         2deb20c Port last_marked change to full-program optimizers
31189         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
31190         dac64e3 Avoid optimizing out the last_marked[] array
31192 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
31194         Avoid infinite hscrolling in redisplay
31196         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
31197         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
31198         redisplay (Bug #24633).
31200 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
31202         Fix error codes in Tramp
31204         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
31205         taken from tramp.el.
31206         (tramp-file-missing): New defconst.
31208         * lisp/net/tramp.el (tramp-user-error): Remove it.
31209         (tramp-check-proper-method-and-host)
31210         (tramp-dissect-file-name, tramp-debug-message)
31211         (tramp-handle-shell-command):
31212         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
31213         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
31214         Use `tramp-compat-user-error'.
31216         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
31217         (tramp-handle-load):
31218         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
31219         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
31220         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
31221         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
31222         Use `tramp-file-missing'.  (Bug#24714)
31224         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
31225         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
31226         Use `file-already-exists'.
31228 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
31230         Autoload all commands from misc.el
31232         Only two of the commands there were autoloaded, one of which is an
31233         easter egg.
31234         * lisp/misc.el (copy-from-above-command):
31235         * lisp/misc.el (zap-up-to-char):
31236         * lisp/misc.el (mark-beginning-of-buffer):
31237         * lisp/misc.el (mark-end-of-buffer):
31238         * lisp/misc.el (upcase-char):
31239         * lisp/misc.el (forward-to-word):
31240         * lisp/misc.el (backward-to-word):
31241         Add autoload cookie.
31243 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
31245         On terminal frames ignore minibuffer frame parameter (Bug#24758)
31247         * src/frame.c (Fmake_terminal_frame): Don't complain when the
31248         caller asks for a deviant minibuffer setting (Bug#24758).
31250 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
31252         New error file-missing
31254         This fixes a recently-introduced bug in delete-directory,
31255         where the code assumes the C locale when determining
31256         whether a file-error corresponds to a missing file (Bug#24714).
31257         * doc/lispref/errors.texi (Standard Errors):
31258         * doc/lispref/files.texi (Changing Files):
31259         * etc/NEWS:
31260         Document this.
31261         * doc/lispref/loading.texi (How Programs Do Loading):
31262         Say "a file-error" rather than "the error file-error" since
31263         it might be a file-missing now.
31264         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
31265         * lisp/epa-file.el (epa-file--find-file-not-found-function):
31266         (epa-file-insert-file-contents, epa-file-write-region):
31267         * lisp/ffap.el (find-file-at-point, dired-at-point):
31268         * lisp/jka-compr.el (jka-compr-insert-file-contents)
31269         (jka-compr-insert-file-contents):
31270         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
31271         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
31272         * lisp/progmodes/etags.el (visit-tags-table):
31273         * lisp/url/url-handlers.el (url-copy-file):
31274         * src/fileio.c (report_file_errno):
31275         Signal file-missing if appropriate.
31276         * lisp/epa-file.el (epa-file-insert-file-contents):
31277         * lisp/jka-compr.el (jka-compr-insert-file-contents):
31278         Don't assume file-error is a leaf in the error hierarchy.
31279         * lisp/files.el (files--force):
31280         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
31281         * lisp/jka-compr.el (jka-compr-insert-file-contents):
31282         Use file-missing to detect whether the file is missing.
31283         * lisp/url/url-handlers.el (url-copy-file):
31284         Signal file-already-exists if appropriate.
31285         * src/fileio.c (syms_of_fileio): Define file-missing.
31287         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31289 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
31291         Teach browse-url to open man page urls
31293         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
31294         (browse-url): Add a condition to catch links matching "^man:".
31295         (browse-url-man): New function.
31297 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
31299         Improve fontification of footnote references in Info buffers
31301         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
31302         in parentheses as if they were footnote references.  See
31303         https://lists.gnu.org/archive/html/bug-texinfo/2016-10/msg00007.html
31304         for the details.
31306 2016-10-20  Philipp Stephani  <phst@google.com>
31308         Minor fixes to cc-mode-tests.el
31310         See Bug#24747.
31312         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
31313         file-local variable; add comments to make checkdoc happy.
31315 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
31317         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
31319 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
31321         Document, how to suppress iTerm2 shell integration in Tramp
31323         * doc/misc/tramp.texi (Frequently Asked Questions):
31324         Suppress iTerm2 shell integration.
31326 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
31328         cl-seq: Remove max limit on input sequence length
31330         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
31331         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
31332         Remove limit on maximum length for the input sequence
31333         (#Bug24264).
31334         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
31336 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
31338         Derive dig-mode from special-mode
31340         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
31341         mode-class assignment.
31342         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
31343         (dig-mode): Derive from special-mode.
31344         (dig-exit): Use quit-window instead.
31345         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
31346         (query-dig): Use pop-to-buffer-same-window.
31348 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
31350         cl-defstruct: Fix debug spec and check of slot options
31352         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
31353         option syntax.  Fix debug spec.  (Bug#24700)
31355 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
31357         isearch: Fix bug in defstruct syntax
31359         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
31360         options.  (Bug#24685)
31362 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
31364         Add an option for eshell-input-filter
31366         * etc/NEWS: Document changes.
31367         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
31368         symbol.  Change type to a radio for choosing functions.  Refer to both
31369         new functions.
31370         (eshell-input-filter-default): New function.  Same body as the previous
31371         value of eshell-input-filter.
31372         (eshell-input-filter-initial-space): New function.
31374 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31376         delete-directory no longer errors when racing
31378         Problem reported by Glenn Morris for package-test.el (Bug#24714).
31379         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
31380         * lisp/files.el (files--force): New function.
31381         (delete-directory): Use it to avoid error in this case.
31383 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
31385         Support Shift selection in nxml-mode commands
31387         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
31388         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
31389         (nxml-backward-down-element, nxml-forward-element)
31390         (nxml-backward-element, nxml-forward-paragraph)
31391         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
31392         support shift-selection.
31394 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
31396         Simplify some loops and cons
31398         * lisp/net/mailcap.el: Replace cl with cl-lib.
31399         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
31400         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
31401         (mailcap-possible-viewers): Use push and dolist where possible.
31402         (mailcap-viewer-passes-test): Remove unused binding.
31403         (mailcap-add-mailcap-entry): Use push.
31404         (mailcap-mime-info): Remove unused binding.  Use push.
31405         (mailcap-parse-mimetypes): Use dolist.
31407 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
31409         Turn on lexical-binding in auth-source
31411         * lisp/auth-source.el: Turn on lexical-binding.
31412         (auth-source-netrc-parse, auth-source-netrc-normalize):
31413         (auth-source-token-passphrase-callback-function):
31414         (auth-source-netrc-create, auth-source-secrets-search):
31415         (auth-source-macos-keychain-search-items):
31416         (auth-source-plstore-search): Use let instead of lexical-let.
31418 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
31420         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
31422         * src/frame.c (do_switch_frame): Redirect frame focus also when
31423         the frame switched to has its minibuffer window on the selected
31424         frame.
31425         * src/window.c (candidate_window_p): To qualify as candidate
31426         it's not sufficient for the window's frame to just share the
31427         minibuffer window - it must be active as well.
31429 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
31431         Fix time-related data types in 2 editfns.c functions
31433         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
31434         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
31435         instead of relying on struct timespec's 'tv_sec' member to be of
31436         compatible type.
31438 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
31440         Document atomic windows in Elisp manual (Bug#18170)
31442         * lisp/window.el (display-buffer-in-atom-window): If no `side'
31443         alist entry was specified, use `below' as the doc tells.
31444         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
31445         * doc/lispref/windows.texi (Atomic Windows): New section.
31446         (Window Parameters): Update reference.
31448 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31450         New face homoglyph
31452         Suggested by Eli Zaretskii, from a feature request by
31453         Alan Mackenzie (Bug#24468).
31454         * doc/emacs/display.texi (Standard Faces, Text Display):
31455         * etc/NEWS: Document this.
31456         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
31457         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
31458         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
31459         * etc/themes/wombat-theme.el:
31460         Customize homoglyph to be the same as escape-glyph.
31461         * lisp/cus-theme.el (custom-theme--listed-faces):
31462         Add homoglyph.
31463         * lisp/faces.el (homoglyph): New face.
31464         * lisp/startup.el (startup--setup-quote-display): Use it.
31466 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31468         Port to Ubuntu 16.10, which needs gcc -nopie
31470         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
31471         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
31472         preference to -nopie (Bug#24682).
31474 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
31476         Fix bug#24665 in Tramp
31478         * doc/misc/tramp.texi (External methods): Do not confuse
31479         method names.  (Bug#24665)
31481 2016-10-15  Sam Steingold  <sds@gnu.org>
31483         use full time objects (lists) instead of floats when possible
31485         * lisp/midnight.el (midnight-buffer-display-time): Remove
31486         (clean-buffer-list): Use float time only for time comparison
31488 2016-10-15  Sam Steingold  <sds@gnu.org>
31490         Save and restore buffer-display-time
31492         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
31493         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
31494         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
31496 2016-10-15  Philipp Stephani  <phst@google.com>
31498         Disable bracketed paste in a terminal in char mode
31500         In char mode, a terminal doesn't accept bracketed paste events,
31501         therefore we should disable them; see Bug#24639.  To decouple the XTerm
31502         management from term.el, introduce a per-buffer setting to disable
31503         bracketed paste for that buffer.  If bracketed paste is inhiited for at
31504         least one buffer in a terminal, it is disabled for the whole terminal.
31506         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
31507         inhibit XTerm bracketed paste per buffer.
31508         (xterm--buffer-terminals, xterm--update-bracketed-paste)
31509         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
31510         functions.
31511         (xterm--init-bracketed-paste-mode): Remove unused helper
31512         function.
31513         (terminal-init-xterm): Update bracketed paste status when
31514         initializing an XTerm and on window configuration change.
31516         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
31517         bracketed paste in char mode.
31519 2016-10-15  Dima Kogan  <dima@secretsauce.net>
31521         Undo the effect of CapsLock when other modifiers are present
31523         * src/keyboard.c (make_lispy_event): Effectively undo the effect
31524         of CapsLock if any modifiers other than Shift are present in a key.
31525         (Bug#24456)
31527 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
31529         Add tests for foreign completions in CSS mode
31531         * test/lisp/textmodes/css-mode-tests.el
31532         (css-test-foreign-completions): New test for
31533         `css--foreign-completions'.
31534         (css-test-complete-selector-tag): Rename test.
31535         (css-test-complete-selector-class): New test testing completion of
31536         class names in selectors.
31537         (css-test-complete-selector-id): New test testing completion of IDs in
31538         selectors.
31540 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
31542         Cosmetic change to last mm-url change
31544         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
31545         Tweak last change slightly for more readability.
31547 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
31549         Fix problem with submitting binary data via HTTP forms
31551         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
31552         Document the parameters, clean up the code, and make uploading
31553         binary data really work (which it didn't if the binary bits
31554         were in the last part of the data).
31556 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
31558         * lisp/time.el (display-time-string-forms): Fix custom type.
31560 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
31562         Derive Man and WoMan modes from special-mode
31564         * lisp/man.el (Man-mode-map): Set parent to map composed from both
31565         button-buffer-map and special-mode-map.  Remove redundant bindings.
31566         Fix menu to refer to the quit-window command.
31567         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
31568         buffer-read-only binding.
31569         (Man-quit): Remove.
31570         * lisp/woman.el (woman-really-find-file): Use setq-local.
31571         (woman-mode-map): Refer to woman-mode in docstring.
31572         (woman-mode): Derive from special-mode.  Document woman-mode-map in
31573         docstring.  Use setq-local where possible; imenu-generic-expression is
31574         already buffer-local.
31575         (woman-negative-vertical-space): Replace unused binding with _.
31577 2016-10-13  Philipp Stephani  <phst@google.com>
31579         Fix crash in evaluating functions
31581         See Bug#24673
31583         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
31584         as (closure).
31586         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
31588 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
31590         Add test for Bug#24627
31592         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
31594 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
31596         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
31598 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31600         Work around Samba bug with ':' in symlink contents
31602         * src/filelock.c (current_lock_owner): When reading the contents
31603         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
31605 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
31607         If autoloads buffer is unchanged, mark it as such (bug#23692)
31609         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
31610         If autoloads buffer is unchanged, mark it as such (bug#23692).
31612 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
31614         Use "26.1" version string in Tramp, fix some comments
31616         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
31617         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
31618         Use "26.1" version string.
31620 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
31622         form-at-point work for all kind of THINGS
31624         * lisp/thingatpt.el (form-at-point):
31625         Use thing-at-point--read-from-whole-string only if thing-at-point
31626         returns a string (Bug#24605).
31628 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
31630         Fix compilation warnings on MS-Windows
31632         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
31633         definitions of these macros, which seem to be unneeded and cause
31634         compiler warnings.
31635         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
31636         macros.
31637         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
31638         make it external, to avoid compiler warning.
31640 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
31642         Spelling and clarity fixes
31644 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
31646         Merge from origin/emacs-25
31648         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
31649         44e402e Allow to disable compaction of font caches
31650         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
31651         c03d44b ; Fix last commit
31652         d4be4f3 ; Fix indexing in lispref manual
31653         ed399f2 ; Minor improvement in documentation of generators
31654         197a6bc Fix horizontal scrolling during Isearch
31655         3566644 Fix infloop in redisplay due to truncated lines and invisible...
31657         # Conflicts:
31658         #       etc/NEWS
31660 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
31662         Merge from origin/emacs-25
31664         c4a5e7e Improve documentation of 'menu-bar-open'
31666 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
31668         Merge from origin/emacs-25
31670         4b347fe Clarify that doc fixes are okay in feature freeze
31671         01669ad Avoid crashes when setting the cursor
31672         f2144ee Restore 'command-debug-status' functionality
31673         ec6e4b9 ; Minor addition to CONTRIBUTE
31675 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
31677         Merge from origin/emacs-25
31679         74b4f13 Document nil args of compare-buffer-substrings
31680         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
31681         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
31683 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
31685         Merge from origin/emacs-25
31687         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
31688         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
31689         bbf1ffd Regexp Functions doc minor fixes
31691 2016-10-08  Philipp Stephani  <phst@google.com>
31693         Don’t consider nested let-alist forms
31695         See Bug#24641.
31697         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
31698         consider symbols in nested ‘let-alist’ forms.
31700         * test/lisp/emacs-lisp/let-alist-tests.el
31701         (let-alist--deep-dot-search--nested): Add a unit test.
31703 2016-10-08  Alain Schneble  <a.s@realize.ch>
31705         Support SIGTRAP in kill emulation on Windows
31707         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
31708         'DebugBreakProcess' to cause a breakpoint exception to occur in the
31709         specified process.  On Windows versions prior to Windows XP that do
31710         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
31711         (as opposed to EINVAL before this change).
31712         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
31713         and global variable to track state of run-time dynamic linking of this
31714         function.
31716         * etc/NEWS: Add entry to document that 'signal-process' now supports
31717         SIGTRAP.
31719 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
31721         Deprecate 'wp' group and introduce a new group 'text'
31723         * lisp/textmodes/tildify.el (tildify):
31724         * lisp/textmodes/text-mode.el (text-mode-hook):
31725         * lisp/textmodes/table.el (table):
31726         * lisp/textmodes/rst.el (rst):
31727         * lisp/textmodes/refer.el (refer):
31728         * lisp/textmodes/refbib.el (refbib):
31729         * lisp/textmodes/picture.el (picture):
31730         * lisp/textmodes/nroff-mode.el (nroff):
31731         * lisp/textmodes/enriched.el (enriched):
31732         * lisp/textmodes/bib-mode.el (bib):
31733         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
31734         * lisp/nxml/rng-valid.el (relax-ng):
31735         * lisp/view.el (view):
31736         * lisp/ps-print.el (ps-print):
31737         * lisp/printing.el (printing):
31738         * lisp/outline.el (outlines):
31739         * lisp/lpr.el (lpr):
31740         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
31741         * lisp/cus-edit.el (wp): Remove the "text" tag.
31742         (text): New defgroup, inherits from the deprecated 'wp'.
31743         (outlines): Remove, in favor of the definition in outline.el.
31744         (tex): Inherit from 'text'.
31745         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
31747 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
31749         Extend dictionary and library-directory handling for Ispell
31751         * lisp/textmodes/ispell.el (ispell-check-version): Allow
31752         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
31753         ISPELL_DICTDIR).
31754         (ispell-valid-dictionary-list): If the -d option to Ispell
31755         specifies an absolute file name, use that regardless of
31756         ispell-library-directory.  (Bug#24439)
31758 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
31760         Fix unescaped \begin{...} in docstring
31762         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
31763         \begin{...} in docstring.
31765 2016-10-06  Noah Friedman  <friedman@splode.com>
31767         Update comment.
31769 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
31771         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
31773         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
31774         defining to avoid redefinition warnings.
31776         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
31777         inclusion of sys/stat.h from the system headers, which could then
31778         lead to compilation errors due to redefinition of 'struct stat'
31779         etc.  This is needed because latest versions of MinGW runtime
31780         include sys/stat.h from wchar.h.
31782         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
31783         redefine to 4 to avoid conflict between 2 definitions of
31784         MemoryBarrier.  (Bug#24613)
31786 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
31788         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
31790 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
31792         Autoload entry point testcover-start
31794         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
31795         testcover-start.
31797 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
31799         Bump version of ntlm.el to 2.1.0
31801         * lisp/net/ntlm.el: Bump version to 2.1.0.
31803 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
31805         lisp/net/ntlm.el: Fix comment and docstring formatting
31807 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
31809         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
31811         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
31812         "negotiate domain supplied" bit when a domain is supplied.  Do
31813         not set "negotiate workstation supplied" bit.
31814         (ntlm-build-auth-response): Set domain to empty string by
31815         default.  Set workstation name to "WORKSTATION".  Set flags to
31816         logical and of Type 1 and Type 2 message flags.  Remove four
31817         trailing 0 bytes.  Always set LM response.  Hard-code domain
31818         offset.  Reorder buffer fields.
31820 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
31822         Document return value of `display-buffer-in-side-window'
31824         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
31825         * lisp/window.el (display-buffer-in-side-window): Describe
31826         return value of `display-buffer-in-side-window'.
31828 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
31830         Improve wording in side windows documentation
31832         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
31833         (Side Window Options and Functions)
31834         (Frame Layouts with Side Windows): Minor wording improvements.
31836 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
31838         Document and fix some bugs with side windows
31840         Add a documentation for side windows and fix some bugs
31841         found when testing their behavior.  Also add a new window
31842         parameter `no-delete-other-window', a new `display-buffer'
31843         alist member called `window-parameters', and functions to
31844         toggle and reverse side windows on a frame.  Add new function
31845         `window-swap-states' to exchange states of two live windows.
31847         * lisp/window.el (display-buffer-in-atom-window): Use
31848         `split-window-no-error'.
31849         (window-sides-vertical): Maybe change layouts when setting this
31850         variable.
31851         (window-sides-reversed): New option.
31852         (window-sides-slots): Rewrite doc-string and help echoes.
31853         (window-sides-shown): New buffer-local variable set when showing
31854         a buffer in a side window.
31855         (window--sides-inhibit-check): New variable.
31856         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
31857         (window--sides-reverse-all, window--sides-reverse-frame)
31858         (window--sides-reverse-side, window--sides-reverse)
31859         (window--sides-verticalize-frame, window--sides-verticalize)
31860         (window--sides-check-failed): New functions.
31861         (window--side-window-p): Remove function.
31862         (window--major-non-side-window): Rename to `window-main-window',
31863         adjust callers, rewrite doc-string.
31864         (window--major-side-window): Rename to
31865         `window--make-major-side-window-next-to', adjust caller, fix
31866         doc-string.
31867         (display-buffer-in-major-side-window): Rename to
31868         `window--make-major-side-window', adjust
31869         caller, rewrite doc-string.  Make `window-side' and
31870         `window-slot' parameters persistent (Bug#23858).  Don't set
31871         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
31872         (delete-side-window): Remove function.
31873         (display-buffer-in-side-window): Fix doc-string.  Don't set
31874         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
31875         (window--side-check): Rename to window--sides-check.  Rewrite
31876         completely.  Adjust caller.
31877         (window-resize-no-error): Don't describe PIXELWISE argument.
31878         (adjust-window-trailing-edge): Fix bug that disallowed
31879         re-enlarging windows that were too small.
31880         (window-deletable-p): Don't tell that a minibuffer window on a
31881         non-minibuffer-only frame can be deleted.  Fix doc-string.
31882         (delete-window): Handle deleting a side window here (the
31883         `delete-window' parameter is no more set for side windows).
31884         (delete-other-windows): Handle ‘no-delete-other-window'
31885         parameter. Don't treat side windows separately (see discussion
31886         of Bug#24368) but keep optimization that makes the main window
31887         the root window of its frame.
31888         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
31889         windows and buffers shown in side windows separately.
31890         (split-window-no-error): New function.
31891         (window--state-get-1): Use right buffer when storing window
31892         point and start positions and WRITABLE is nil (Bug#24368).
31893         (window--state-put-1): Fix handling of `window-combination-limit'.
31894         Use `split-window-no-error'.
31895         (window--state-put-2): Try to restore windows with preserved
31896         size to their original size.  Fix bug where a fixed window's width
31897         was not preserved.
31898         (window-state-put): When reducing an internal window to a live
31899         one, don't choose a side window.
31900         (window-swap-states): New function.
31901         (window-splittable-p): Don't call `window--side-window-p'.
31902         (window--display-buffer): Handle `window-parameters' ALIST entry.
31903         Minor rewrite.
31904         (display-buffer): Mention `window-parameters' entry in
31905         doc-string.
31906         (display-buffer-at-bottom): Call `split-window-no-error'.
31908         * doc/lispref/elisp.texi (Top): New section "Side Windows".
31909         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
31910         of `delete-window' and `delete-other-windows' wrt window
31911         parameters and side windows.
31912         (Display Action Functions): Mention `window-parameters' ALIST
31913         entry.
31914         (Side Windows): New section (Bug#18170).
31915         (Window Configurations): Describe new function `window-swap-states'.
31916         (Window Parameters): Say that functions may behave specially when
31917         their homonymous window parameter has been set.  Mention new
31918         parameter `no-delete-other-window'.  Add cross reference for
31919         `window-side' and `window-slot' parameters.
31921 2016-10-04  John Wiegley  <johnw@newartisans.com>
31923         Add documentation note from Alex
31925 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
31927         Avoid dynamic binding on a symbol
31929         Instead, bind history in the default minibuffer-history.
31930         Fixes bug#24580.
31931         * lisp/replace.el (query-replace-read-from): Let-bind
31932         minibuffer-history.  Change read-regexp and read-from-minibuffer's
31933         HISTORY arguments to nil so that they use minibuffer-history.
31935 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
31937         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
31939         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
31940         deleting the old buffer content.
31941         * src/lisp.h (del_range_byte):
31942         * src/insdel.c (del_range_byte): Drop the last argument.
31943         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
31945 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
31947         Ibuffer: 'w' and 'B' default to buffer at current line
31949         See discussion in:
31950         https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00384.html
31951         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
31952         return buffers near current line.
31953         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
31954         Add argument ARG; if a non-zero integer, return next ARG buffers.
31955         Otherwise return the marked buffers.
31956         If there are not marked buffers, return buffer at current line
31957         without prompting the user.
31958         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
31959         Append to kill ring when last command was a kill-region.
31960         (ibuffer-copy-filename-as-kill): Idem.
31961         Simplify the code.
31962         Use ibuffer-buffer-file-name instead of buffer-file-name to
31963         include buffers in Dired mode.
31965 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
31967         dired-mark-extension: Unmark if called with C-u prefix
31969         See discussion in #Bug2518 and:
31970         https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00711.html
31971         * lisp/dired-x.el (dired-mark-extension):
31972         Update interactive calls: a prefix arg C-u unmark files;
31973         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
31974         (dired-mark-sexp):
31975         Show in the prompt that we are unmarking if called with a prefix argument.
31976         * doc/misc/dired-x.texi (Advanced Mark Commands):
31977         Update documentation for 'dired-mark-extension'.
31979 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
31981         Document yank behavior in the right place
31983         * lisp/simple.el (yank): Document the handling of the
31984         `yank-handled-properties' and `yank-excluded-properties' variables,
31985         and the `yank-handler' text property.
31986         (yank-pop): Refer to `yank' now (bug#286)
31988         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
31989         (insert-for-yank-1): Refer to `insert-for-yank' now.
31991         See this thread for discussion:
31993           https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
31994           From: Karl Fogel
31995           To: Emacs Devel
31996           Subject: Question about intended behavior of 'insert-for-yank-1'.
31997           Date: Mon, 12 Sep 2016 00:17:14 -0500
31998           Message-ID: <874m5lr92d.fsf@red-bean.com>
32000 2016-10-02  Philipp Stephani  <phst@google.com>
32002         Restart blink cursor timers on interval changes
32004         This prevents surprising behavior when timer interval customizations are
32005         only applied whenever the timers happen to be restarted (see Bug#24372).
32007         * lisp/frame.el (blink-cursor--start-idle-timer)
32008         (blink-cursor--start-timer): New functions.
32009         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
32010         the new helper functions.
32011         (blink-cursor-delay, blink-cursor-interval): Restart timers when
32012         the value is changed.
32014 2016-10-01  Philipp Stephani  <phst@google.com>
32016         Use a simple keyword for a non-nil argument
32018         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
32019         and non-nil values are distinguished.  Passing a number here is
32020         confusing.  Pass a descriptive symbol instead.
32022         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
32023         :repeat symbol instead of number for second argument of
32024         `run-with-idle-timer'
32026 2016-10-01  Philipp Stephani  <phst@google.com>
32028         Make querying to kill processes customizable
32030         Introduce a new customization option, `confirm-kill-processes', that
32031         users can set to nil if they don't want Emacs to nag them about killing
32032         processes.
32034         * lisp/files.el (confirm-kill-processes): New customization option.
32035         (save-buffers-kill-emacs): Use customization option.
32037         * test/lisp/files-tests.el
32038         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
32039         test for new customization option.
32041         * doc/emacs/entering.texi (Exiting): Document new user option.
32043         * doc/lispref/processes.texi (Query Before Exit): Document new
32044         user option.
32046         * etc/NEWS: Document new user option.
32048 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
32050         Set :version of 'debugger-stack-frame-as-list'
32052         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
32053         the ':version' attribute.
32055 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
32057         Bump Emacs version to 26.0.50
32059         * README:
32060         * configure.ac:
32061         * etc/NEWS:
32062         * etc/refcards/ru-refcard.tex:
32063         * msdos/sed2v2.inp:
32064         * src/msdos.c: Increment Emacs version to 26.0.50.
32065         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
32066         moved to etc/NEWS.
32068 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
32070         Avoid compilation warning on MinGW
32072         * src/w32.c: Include string.h, needed for the prototype of
32073         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
32074         warning about "no previous prototype".  The string.h header
32075         must be included after ms-w32.h, but before "#undef strerror".
32077 2016-09-30  Alan Third  <alan@idiocy.org>
32079         Fix compatibility with macOS 10.12 pmset (bug#24537)
32081         * lisp/battery.el (battery-pmset): Recognise and ignore battery id if
32082         present in output.
32084 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
32086         Limit <config.h>’s includes
32088         This follows up on recent problems with the fact that config.h
32089         includes stdlib.h etc.; some files need to include stdlib.h later.
32090         config.h generally should limit itself to includes that are
32091         universally safe; outside of MS-Windows, only stdbool.h makes
32092         the cut among the files currently included.  So, move the
32093         other includes to just the files that need them (Bug#24506).
32094         * configure.ac (config_opsysfile): Remove, as this generic hook
32095         is no longer needed.
32096         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
32097         * src/w32proc.c (_GNU_SOURCE):
32098         Remove, as it’s OK for config.h to do this now.
32099         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
32100         config_opsysfile, for simplicity as this old way of configuring is
32101         now done only for the MS-Windows port.  Do not include <ms-w32.h>
32102         if DEFER_MS_W32_H, for the benefit of the few files that want its
32103         effects later.  Do not include <alloca.h>, <string.h>, or
32104         <stdlib.h>.  Other files modified to include these headers as
32105         needed, or to not include headers that are no longer needed.
32106         * src/lisp.h: Include <alloca.h> and <string.h> here, since
32107         some of the inline functions need them.
32108         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
32109         we can rely on SAFE_ALLOCA.)  There is no longer any need to
32110         worry about HAVE_ALLOCA_H.
32111         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
32112         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
32113         Define before including <config.h> first, and include <ms-w32.h>
32114         after the troublesome headers.
32116 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
32118         New user option 'debugger-stack-frame-as-list'
32120         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
32121         variable.
32122         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
32123         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
32124         backtrace processing for the value of debugger-stack-frame-as-list.
32125         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
32126         processing for the value of debugger-stack-frame-as-list.
32127         * doc/lispref/debugging.texi (Internals of Debugger): Document
32128         debugger-stack-frame-as-list.
32129         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
32131 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
32133         * src/alloc.c: call only non-null finalizers
32135 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
32137         Avoid compiler warnings in image.c on MS-Windows
32139         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
32140         warning about unused macros.
32142 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
32144         * lisp/outline.el (outline-invisible-p): Only return `t' for
32145         the 'outline property.
32147 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
32149         Fix problems found by static checking --with-ns
32151         This is for Fedora 24 when configured with --enable-gcc-warnings.
32152         Although it does not fix all the problems, it fixes many of them.
32153         * src/frame.c (XParseGeometry):
32154         * src/nsterm.m (mouseDown:):
32155         Mark locals with UNINIT to pacify --enable-gcc-warnings.
32156         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
32157         Remove unused macros.
32158         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
32159         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
32160         (xpm_put_color_table_v, xpm_get_color_table_v)
32161         (xpm_make_color_table_h, xpm_put_color_table_h)
32162         (xpm_get_color_table_h, xpm_load_image, xpm_load)
32163         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
32164         (svg_load_image):
32165         * src/nsfns.m (x_get_string_resource):
32166         * src/nsimage.m (ns_image_from_XBM):
32167         Fix pointer signedness problems.
32168         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
32169         (imagemagick_load_image): Omit unused locals.
32170         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
32171         (Fx_open_connection):
32172         * src/nsfont.m (ns_antialias_threshold):
32173         Move extern decl to nsterm.h so it can be checked.
32174         * src/nsmenu.m (svcsMenu, dockMenu):
32175         Move to the only file that uses them, so they can be static.
32176         * src/nsterm.h (find_and_call_menu_selection):
32177         * src/nsterm.m (x_set_frame_alpha):
32178         Omit duplicate decls.
32179         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
32180         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
32181         (ns_set_name_as_filename, x_set_menu_bar_lines)
32182         (x_set_tool_bar_lines, x_set_internal_border_width):
32183         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
32184         Now static.
32185         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
32186         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
32187         Remove; unused.
32188         * src/nsfont.m (ns_dump_glyphstring):
32189         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
32190         (ns_clear_frame, keyDown:):
32191         Fix signedness problem with printf arg.
32192         * src/nsterm.h (ns_input_events, ns_finish_events):
32193         * src/nsterm.m (ns_finish_events, hide_bell):
32194         Prototype the decls.
32195         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
32196         Omit unnecessary decl.
32197         (dockMenu):
32198         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
32199         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
32200         (toggleFullScreen:): Use FACE_FROM_ID instead of
32201         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
32202         result to be non-null.
32203         (applicationShouldTerminate:): Fix misleading indentation.
32205 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
32207         Turn on more lexical-binding
32209         * lisp/dom.el:
32210         * lisp/faces.el:
32211         * lisp/htmlfontify.el: Turn on lexical-binding.
32212         (htmlfontify-string): Use pushnew instead of add-to-list.
32213         * lisp/info-xref.el:
32214         * lisp/isearch.el:
32215         * lisp/man.el:
32216         * lisp/ps-def.el:
32217         * lisp/ps-print.el:
32218         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
32219         time.
32220         (multi-occur): Use cl-pushnew instead of add-to-list.
32221         (replace-match-string-symbols): Remove unused lexical variable.
32222         (replace-search, replace-highlight): Fix argument shadowing.
32223         * lisp/sort.el:
32224         * lisp/xml.el: Turn on lexical-binding.
32225         (xml--parse-buffer): Use push instead of add-to-list.
32226         * lisp/xt-mouse.el: Turn on lexical-binding.
32228 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
32230         * admin/notes/bug-triage: Do not mention closed bugs
32232         * admin/notes/bug-triage: Do not mention closed bugs, they are
32233         suppressed by default in debbugs-{gnu,org}.
32235 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
32237         * etc/PROBLEMS: Remove problem Bug#22814, again.
32239 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32241         Stick with debbugs-supported tags in triage
32243         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
32244         debbugs supports, rather than suggesting "doneunreproducible" or
32245         "unreproducable".
32247 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32249         Merge from origin/emacs-25
32251         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
32252         c14a1d4 Minor copyedits of MS-Windows installation instructions
32253         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
32255         # Conflicts:
32256         #       lisp/minibuffer.el
32258 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32260         Merge from origin/emacs-25
32262         0ae9a81 Document 'timerp'
32263         2c72c46 Improve documentation of overlay priorities
32264         f6fa160 Fix 'dired-compress-files'
32265         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
32267         # Conflicts:
32268         #       lisp/dired.el
32269         #       src/buffer.h
32270         #       src/character.h
32272 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32274         Merge from origin/emacs-25
32276         cf9e174 Document the optional zlib library in MS-Windows builds
32277         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
32278         73c67dd Fix tagging of DEFUN by etags
32279         ea1960b Avoid resetting track-mouse by mouse clicks
32280         505fef3 Improve nt/README.W32 instructions
32281         1229cc4 Document that desktop file overrides frame parameters
32282         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
32284         # Conflicts:
32285         #       ChangeLog.2
32286         #       admin/notes/unicode
32287         #       lisp/ldefs-boot.el
32289 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32291         Merge from origin/emacs-25
32293         0ffc9ce Update admin/authors.el
32294         0ad7410 Update Antinews in ELisp manual
32295         ea0f750 Fix comments on window height macros
32296         0bbdeed Fix 'url-http-create-request' when cookies are used
32297         0045998 Fix cross reference in frames.texi
32298         1392894 ; * etc/DEBUG: Minor copyedits.
32299         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
32300         56bf7d7 Fix regexp-opt documentation (bug #17862)
32301         803ad6f ; Fix documentation of seq-subseq
32302         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
32303         88ea396 ; Spelling fixes
32304         17197d0 Fix tags-query-replace docstring
32305         80a7f8b Clarify documentation of precision in format specs
32306         88a5052 Improve and clarify documentation of subprocesses
32307         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
32309         # Conflicts:
32310         #       etc/PROBLEMS
32311         #       src/process.c
32313 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
32315         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
32317 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32319         Fix 'dired-mark-extension' with prefix argument
32321         * lisp/dired-x.el (dired-mark-extension): Allow to specify
32322         MARKER-CHAR interactively as a string, not as a character's
32323         codepoint.  (Bug#24518)
32325         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
32326         behavior when invoked with a prefix arg.
32328 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
32330         Support completion of classes and IDs in CSS mode
32332         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
32333         holding the function to call for retrieving completions of class
32334         names.
32335         (css-id-list-function): New variable holding the function to call for
32336         retrieving completions of IDs.
32337         (css--foreign-completions): New function for retrieving completions
32338         from other buffers.
32339         (css--complete-selector): Support completing HTML class names and IDs
32340         from other buffers in addition to completing HTML tags.
32342         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
32343         variable holding a cache for `html-current-buffer-classes'.
32344         (html--buffer-ids-cache): New variable holding a cache for
32345         `html-current-buffer-ids'.
32346         (html-current-buffer-classes): New function returning a list of class
32347         names used in the current buffer.
32348         (html-current-buffer-ids): New function returning a list of IDs used
32349         in the current buffer.
32350         (html-mode): Set `css-class-list-function' and `css-id-list-function'
32351         to `html-current-buffer-classes' and `html-current-buffer-ids'
32352         respectively.
32354 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32356         Update test suite files due to removal of test/lisp/legacy
32358         * test/README: Reference file-organization.org.
32359         * test/file-organization.org: Remove the description of files in
32360         the lisp/legacy/ directory.
32362 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32364         Incorporate syntax-tests in lisp-tests.
32366         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
32367         test/lisp/legacy/syntax-tests.el.
32368         * test/lisp/legacy/syntax-tests.el: File deleted.
32370 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32372         Incorporate occur-tests in replace-tests
32374         * test/lisp/replace-tests.el: Add tests from
32375         test/lisp/legacy/occur-tests.el.
32376         * test/lisp/legacy/occur-tests.el: File deleted.
32378 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32380         Incorporate lexbind-tests.el in bytecomp-test.el
32382         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
32383         test/lisp/legacy/lexbind-tests.el.
32384         * test/lisp/legacy/lexbind-tests.el: File deleted.
32386 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
32388         Improve integer overflow handling a bit
32390         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
32391         The machine code is the same on my platform.
32392         * src/doprnt.c (doprnt):
32393         * src/emacs-module.c (module_funcall):
32394         * src/font.c (font_intern_prop):
32395         * src/keyboard.c (Frecursion_depth):
32396         * src/lread.c (read1):
32397         Use WRAPV macros instead of checking overflow by hand.
32398         * src/editfns.c (hi_time, time_arith, decode_time_components):
32399         * src/emacs-module.c (Fmodule_load):
32400         Simplify by using FIXNUM_OVERFLOW_P.
32401         * src/emacs-module.c: Include intprops.h.
32402         * src/xdisp.c (percent99): New function.
32403         (decode_mode_spec): Use it to simplify overflow avoidance and
32404         formatting of %p and %P.
32406 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32408         Incorporate core-elisp-tests in lisp-tests
32410         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
32411         test/lisp/legacy/core-elisp-tests.el.
32412         * test/lisp/legacy/core-elisp-tests.el: File removed.
32414 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32416         Move coding-tests.el and decoder-test.el to their places
32418         * test/src/coding-tests.el: Added all the tests from
32419         test/lisp/legacy/decoder-tests.el.
32420         * test/lisp/legacy/decoder-tests.el: File deleted.
32422 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
32424         Use correct TYPE value for displaying error messages in (erc-display-message)
32426 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
32428         Bump the version to 25.2.50
32430         * README:
32431         * configure.ac:
32432         * etc/NEWS:
32433         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
32435 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
32437         ibuffer-do-view-other-frame: Display each buffer in a new frame
32439         * lisp/ibuffer.el (ibuffer-do-view-1):
32440         When TYPE equals 'other-frame, then display each buffer
32441         in a new frame (Bug#24086).
32443 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
32445         Update from gnulib
32447         This incorporates:
32448         2016-09-22 stdint: port to GCC 7
32449         2016-09-22 limits-h, stdint: don't assume extensions
32450         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
32452 2016-09-22  Alan Mackenzie  <acm@muc.de>
32454         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
32456 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
32458         Port recent flexmember changes to NetBSD
32460         The NetBSD library supports localtime_rz directly, and without
32461         this change 'configure' omitted the flexmember test that is marked
32462         as conditional on localtime_rz.  Emacs now needs to use
32463         flexmember.m4 even when localtime_rz works.
32464         Problem reported by Thomas Klausner.
32465         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
32466         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
32468 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
32470         * doc/misc/texinfo.tex: Copy from gnulib.
32472 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
32474         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
32476 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
32478         Use flexmembers on IBM XL C for AIX
32480         This removes a workaround where Emacs did not use flexible
32481         array members when compiled with IBM XL C.  Instead, avoid
32482         the problem by making the aliasing issues more obvious to
32483         this compiler.
32484         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
32485         * m4/flexmember.m4: Copy from gnulib.
32486         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
32487         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
32488         problem that would otherwise mess up code generated for flexible
32489         array members by IBM XL C for AIX, V12.1.
32490         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
32491         by gnulib code.
32493 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
32495         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
32497         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
32498         `tramp-drop-volume-letter' any longer, it causes collateral
32499         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
32501 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
32503         Port January __morecore changes to AIX 7.1
32505         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
32506         (__after_morecore_hook):
32507         * src/ralloc.c (__morecore):
32508         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
32509         not defined.  <malloc.h> does not declare these in AIX 7.1.
32511 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
32513         Define _GNU_SOURCE in files delaying config.h
32515         Problem reported by Richard Copley in:
32516         https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00440.html
32517         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
32518         Define early.
32520 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
32522         Update the bidi test code and data
32524         * test/manual/BidiCharacterTest.txt: Import the version from
32525         Unicode Standard 9.0.0.
32526         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
32527         in the 4th field of the test data.
32529 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
32531         ibuffer-do-toggle-read-only: Fix unused argument
32533         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
32534         'read-only-mode' with ARG when its an integer.
32535         Clarify the meaning of ARG in doc string.
32537 2016-09-17  Alan Mackenzie  <acm@muc.de>
32539         Improve accuracy of line/column numbers in byte compiler's warning messages.
32541         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
32542         value of byte-compile-last-position is not lower than old value.
32543         (byte-compile-function-warn): call byte-compile-set-symbol-position.
32545 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
32547         Minor Tramp tweaks
32549         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
32550         property "process-buffer" if already existing.
32551         (tramp-connectable-p): Suppress debug messages.
32553 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
32555         Define _GNU_SOURCE in unexmacosx.c
32557         Problem reported by Bob Halley in:
32558         https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00427.html
32559         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
32561 2016-09-16  Alan Mackenzie  <acm@muc.de>
32563         C Mode: Fix mis-fontification of macro invocation as function declaration
32565         This happened with a macro invocation which was followed by a statement block
32566         in braces.
32568         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
32569         between contexts nil and top, being less permissive in the former case.
32570         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
32572 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
32574         Improve the doc string of 'format'
32576         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
32577         of a literal period.  (Bug#24407)
32579 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
32581         Improve doc strings in whitespace.el
32583         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
32584         (global-whitespace-mode, global-whitespace-newline-mode): Improve
32585         the doc strings.  (Bug#24413)
32587 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
32589         Improve detectability of 'next-logical-line' and 'previous-logical-line'
32591         * lisp/simple.el (next-line, previous-line): Mention
32592         'next-logical-line' and 'previous-logical-line' in the doc
32593         strings.  (Bug#24443)
32595 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
32597         Update from gnulib
32599         This incorporates:
32600         2016-09-16 extensions: fix typo in comment
32601         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
32602         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
32604 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32606         Prefer now-standard int width macros
32608         * src/data.c (ULL_WIDTH):
32609         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
32610         * src/lread.c (read_integer):
32611         * src/term.c (produce_glyphless_glyph):
32612         * src/xterm.c (x_send_scroll_bar_event):
32613         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
32614         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
32615         with the *_WIDTH standard macros.  All uses changed.
32616         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
32617         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
32618         for consistency with the *_WIDTH standard macros.  All uses changed.
32619         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
32620         be the same as CHAR_WIDTH and avoids confusion with Elisp
32621         char-width, which counts columns not bits.
32622         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
32623         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
32624         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
32625         used directly.
32627 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32629         Update from gnulib
32631         This incorporates:
32632         2016-09-15 stdint: support new _WIDTH macros
32633         2016-09-15 limits-h: new module
32634         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
32635         2016-09-15 extensions: port to more ISO C TSes
32636         2016-09-13 intprops: new macro TYPE_WIDTH
32637         2016-09-13 extensions: port to recent ISO C TRs
32638         * .gitignore: Add lib/limits.h.
32639         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
32640         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
32641         * m4/sys_types_h.m4: Copy from gnulib.
32642         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
32643         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
32644         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
32646 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
32648         Rework fixing Bug#24432
32650         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
32651         "process-buffer" in order to mark connection as active.
32653         * lisp/net/tramp-cache.el (tramp-get-hash-table)
32654         (tramp-set-connection-property)
32655         (tramp-dump-connection-properties): Do not use "active" property.
32656         (tramp-list-connections): Use "process-buffer" property.
32658         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
32659         properties prior deletion of process.
32661 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
32663         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
32665         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
32667 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
32669         Avoid compiler warning on MS-Windows due to clone_file
32671         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
32672         call to it is not compiled in that build, and having it defined
32673         causes compiler warnings.
32675 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
32677         Avoid aborts in GC due to abort_on_gc
32679         * src/lisp.h:
32680         * src/print.c (Fprin1_to_string):
32681         * src/eval.c (signal_or_quit):
32682         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
32683         and testing the value of abort_on_gc.  It is no longer needed, and
32684         using it causes rare aborts in GC for no good reason.  (Bug#23912)
32686 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
32688         Fix Bug#24432
32690         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
32691         connection as inactive.
32692         (tramp-set-connection-property): Make the connection active.
32693         (tramp-dump-connection-properties): Don't save "active" property.
32694         (tramp-list-connections): List only active connections.  (Bug#24432)
32696 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
32698         Don't bug out on all-whitespace URLs
32700         * lisp/net/shr.el (shr-expand-url): Don't bug out on
32701         degenerate all-whitespace URLs.
32703 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32705         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
32707         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
32708         Rename from sieve-manage-ignore-broken-tls.  If it is set,
32709         sieve-manage will never use STARTTLS even if the server says
32710         it is capable (but may be broken).
32712 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
32714         Port to ISO/IEC TS 18661-1:2014
32716         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
32717         All uses changed.
32719 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
32721         dired-jump: Expand file-name before dired-goto-file call
32723         Command dired-goto-file requires its argument to be an absolute
32724         file name.  Interactively FILE-NAME is read with read-file-name,
32725         which could return an abbreviated file name (Bug#24409).
32726         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
32727         Clarify in doc string the meaning of arg FILE-NAME.
32729 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
32731         Add test for Bug#21454
32733         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
32735 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
32737         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
32739 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
32741         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
32743         * lisp/net/sieve.el (sieve-edit-script):
32744         Make the buffer to edit be not modified-p initially (bug#24423).
32746 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
32748         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
32750         * lisp/net/sieve-manage.el
32751         (sieve-manage-ignore-broken-tls): New user option.
32752         (sieve-manage-open-server):
32753         Don't test STARTTLS capability if the option is set (bug#24422).
32755 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
32757         Fix compiler thinking width and height may be unitialised in frame.c
32759         This fixes the following warning:
32761                 frame.c: In function ‘x_set_frame_parameters’:
32762                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
32763                         this function [-Werror=maybe-uninitialized]
32764                        adjust_frame_size (f, width_change ? width : -1,
32765                                  ^
32767         * src/frame.c (x_set_frame_parameters): Drop width_changed and
32768         height_changed variables in favour of storing that information in
32769         width and height variables.
32771 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
32773         Fix compiler thinking tmpdir may be unitialised in emacsclient
32775         This fixes the following warning:
32777                 emacsclient.c: In function ‘set_local_socket’:
32778                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
32779                         ‘tmpdir’ may be used uninitialized in this function
32780                         [-Werror=maybe-uninitialized]
32781                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
32782                    ^
32783                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
32784                      const char *tmpdir;
32786         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
32787         variable and instead use tmpdir being non-NULL as sign that it should
32788         be used.
32790 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
32792         image-dired: Signal an error before calling a missing executable
32794         Reverts commit ca473907
32795         Add a defun to check if an executable exists, and call it
32796         on each function using an external program: when the executable
32797         is not available signal an error.
32798         See discussion on:
32799         https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00135.html
32800         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
32801         Throw and error when the executable arg is missing.
32802         (image-dired-display-image, image-dired-rotate-thumbnail)
32803         (image-dired-rotate-original, image-dired-set-exif-data)
32804         (image-dired-get-exif-data):
32805         Use it.
32807 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
32809         Fix daemon shutdown when emacs-kill-hooks ask questions
32811         * lisp/server.el (server-start): Put the server's kill-emacs-hook
32812         last, to allow other hooks to have a frame to interact with the
32813         user.  (Bug#24326)
32815 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
32817         * src/casefiddle.c (casify_word): Simplify.
32819         * src/casefiddle.c (casify_word): Return Qnil.
32821 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
32823         Refactor common code in {upcase,downcase,capitalize}-word functions
32825         * src/casefiddle.c (operate_on_word): Removed in favour of…
32826         (casify_word) …new function which does what operate_on_word did plus
32827         what all of the common code from *-word functions.
32828         (upcase-word, downcase-word, capitalize-word): Move code common between
32829         those functions (pretty much the whole body of those functions) into
32830         casify_word and use that instead of now deleted operate_on_word.
32832 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
32834         * doc/lispref/files.texi: Remove @vindex.
32836 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
32838         Remove unnecessary ref to coreutils manual
32840         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
32842 2016-09-11  Alan Mackenzie  <acm@muc.de>
32844         Correctly fontify C++ direct initializations with parens inside functions
32846         Or, more clearly, when something looks like a function declaration and it's
32847         inside a function, fontify it as a direct initialization.
32849         For this purpose, introduce a "brace stack" for each buffer, where an entry on
32850         the brace stack states how deeply nested a particular position is inside
32851         braces inside a "top level", which includes classes and namespaces.
32853         Also introduce a new "context", "top", with which c-font-lock-declarations
32854         signals to c-forward-decl-or-cast-1 that point is at the top level.
32856         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
32857         c-truncate-bs-cache.
32858         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
32859         (c-type-decl-operator-prefix-key): new language constants/variables.
32861         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
32862         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
32863         stack cache.
32864         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
32865         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
32866         (c-find-decl-prefix-search): Keep track of whether we're at top level.
32867         (c-find-decl-spots): New local variable cfd-top-level which records what it
32868         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
32869         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
32870         to non-nil when a match for c-type-decl-operator-prefix-key is found.
32871         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
32872         Introduce "CASE 9.5", which recognizes direct initializations.
32874         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
32875         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
32876         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
32877         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
32878         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
32879         participate in the decision whether to fontify an identifier as a function or
32880         a variable.
32881         (c-font-lock-declarations): The internal lambda function takes an additional
32882         argument `toplev' from c-find-decl-spots, which it uses in determining the
32883         "context" of a declaration.  Add appropriate `not-top' argument to calls to
32884         c-font-lock-declarators.
32885         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
32886         like for c-font-lock-declarators.
32888         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
32889         cache.
32891 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
32893         Avoid signaling errors when computing "Stop" in GDB menu
32895         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
32896         'gdb-running-threads-count' must have a numeric value.
32897         (Bug#24414)
32899 2016-09-11  Philipp Stephani  <phst@google.com>
32901         Stop calling ‘byte-compile-log-warning’
32903         For errors, use ‘byte-compile-report-error’ instead so that the error
32904         is registered and causes compilation to fail (Bug#24359).
32906         For warnings, use ‘byte-compile-warn’ instead so that
32907         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
32909         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
32910         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
32911         ‘byte-compile-log-warning’.
32913         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
32914         (byte-compile-setq, byte-compile-funcall): Use
32915         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
32916         (byte-compile-log-warning): Convert comment to documentation
32917         string.  Explain that the function shouldn’t be called directly.
32918         (byte-compile-report-error): Add optional FILL argument.
32920         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
32921         (cconv--analyze-function, cconv-analyze-form): Use
32922         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
32924         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
32925         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
32927         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
32928         of ‘byte-compile-log-warning’.
32929         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
32930         ‘byte-compile-log-warning’.
32932 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
32934         * etc/NEWS: Remove comment lost in emacs-25 merge.
32936 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
32938         Document file synchronization issues
32940         * doc/lispref/files.texi (Files and Storage): New section.
32942 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
32944         copy-file now uses GNU/Linux file cloning
32946         From a suggestion by Kieran Colford (see Bug#23904).
32947         * configure.ac: Check for linux/fs.h.
32948         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
32949         (clone_file): New function.
32950         (Fcopy_file): Use it.
32952 2016-09-10  Alan Third  <alan@idiocy.org>
32954         Invert y coord of NS image files (bug#7847)
32956         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
32957         when compositing.
32959 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
32961         Don't require isearch-update before isearch-done
32963         It is useful to be able to call `isearch-done' unconditionally to
32964         ensure a non-isearching state.
32966         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
32967         is a live buffer before using it (Bug #21091).
32968         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
32970 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
32972         * lisp/emacs-lisp/ring.el: Use lexical-binding
32974         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
32975         argument of `dotimes' when the iteration variable isn't referred by
32976         it.
32977         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
32978         since it's the default.
32980 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
32982         Split regex character class test into smaller chunks
32984         Having one test for all character classes it is not always trivial to
32985         determine which class is failing.  This happens when failure is caused
32986         by ‘(should (equal (point) (point-max)))’ not being met.
32988         With per-character class tests, it is immidiatelly obvious which test
32989         causes issues plus tests for all classes are run even if some of them
32990         fail.
32992         * test/src/regex-tests.el (regex-character-classes): Delete and split
32993         into…
32994         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
32995         regex-tests-ascii-character-class, regex-tests-blank-character-class,
32996         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
32997         regex-tests-graph-character-class, regex-tests-lower-character-class,
32998         regex-tests-multibyte-character-class,
32999         regex-tests-nonascii-character-class,
33000         regex-tests-print-character-class, regex-tests-punct-character-class,
33001         regex-tests-space-character-class,
33002         regex-tests-unibyte-character-class,
33003         regex-tests-upper-character-class, regex-tests-word-character-class,
33004         regex-tests-xdigit-character-class): …new tests.
33006 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33008         Don’t allocate char-table’s extra slots in regexp-out-charset
33010         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
33011         'case-table as charmap char-table’s property.  The function has nothing
33012         to do with casing and in addition using 'case-table causes unnecessary
33013         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
33015 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33017         Remove dead loop iterations in regex.c
33019         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
33020         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
33021         for byte8 characters.  This means that
33023                 c = RE_CHAR_TO_MULTIBYTE (ch);
33024                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
33026         is equivalent to:
33028                 c = c;
33029                 if (! false && re_iswctype (c, cc))
33031         for 0 ⪬ c < 0x80, and
33033                 c = BYTE8_TO_CHAR (c);
33034                 if (! true && re_iswctype (c, cc))
33036         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
33037         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
33039         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
33040         dead iterations and unnecessary macro calls.
33042 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33044         Replace decimalnump with alphanumericp
33046         decimalnump was used in regex.c only in ISALNUM macro which ored it with
33047         alphabeticp.  Because both of those functions require Unicode general
33048         category lookup, this resulted in unnecessary lookups (if alphabeticp
33049         return false decimalp had to perform another lookup).  Drop decimalnump
33050         in favour of alphanumericp which combines decimelnump with alphabeticp.
33052         * src/character.c (decimalnump): Remove in favour of…
33053         (alphanumericp): …new function.
33055         * src/regex.c (ISALNUM): Use alphanumericp.
33057 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33059         Remove inaccurate comment in regex.c
33061         * src/regex.c (regex_compile): Remove comment indicating that wctype of
33062         some character classes may be negative.  All wctypes are in fact
33063         non-negative.
33065 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33067         STRING_CHAR does not unify characters; update documentation
33069         * src/character.h (STRING_CHAR): Update doc.
33070         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
33071         the function to use BYTE_POS_ADDR instead of open-coding it.
33073 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
33075         Add tests for ring.el
33077         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
33079 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
33081         New file test/src/marker-tests.el
33083 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
33085         Port flexible array members to GCC + valgrind
33087         These changes are needed to conform to the C standard's rule for
33088         allocating structs containing flexible array members.  C11 says
33089         that malloc (offsetof (struct s, m) + n) does not suffice to
33090         allocate a struct with an n-byte tail; instead, malloc’s arg
33091         should be rounded up to the nearest multiple of alignof (struct s).
33092         Although this is arguably a defect in C11, gcc -O2 + valgrind
33093         sometimes complains when this rule is violated, and when debugging
33094         it’s better to keep valgrind happy.
33095         For details please see the thread containing the message at:
33096         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
33097         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
33098         Include flexmember.h.
33099         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
33100         (register_namespace_alias):
33101         * src/alloc.c (SDATA_SIZE, allocate_string_data):
33102         * src/image.c (xpm_cache_color, imagemagick_create_cache):
33103         * src/process.c (Fmake_network_process):
33104         Use FLEXSIZEOF instead of offsetof and addition.
33105         * src/alloc.c (SDATA_SIZE, vector_alignment):
33106         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
33107         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
33108         Remove, as alloc.c can now calculate this on its own.
33110 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
33112         Update from gnulib
33114         This incorporates:
33115         2016-09-07 flexmember: new macro FLEXALIGNOF
33116         2016-09-07 flexmember: port better to GCC + valgrind
33117         2016-08-18 Port modules to use getprogname explicitly
33118         2016-09-02 manywarnings: add -fno-common
33119         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
33120         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
33121         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
33122         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
33123         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
33124         * m4/manywarnings.m4: Copy from gnulib.
33125         * lib/flexmember.h: New file, from gnulib.
33126         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33128 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
33130         Don't --load directories
33132         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
33133         of --load when it refers to a normal file, since `load' doesn't handle
33134         directories (Bug #16406).
33136 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
33138         Avoid error in icalendar--read-element
33140         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
33141         stack overflow by not using regex to extract values from calendar
33142         events. (Bug#24315)
33144 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
33146         Fix back-white <-> black-white typo
33148         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
33150 2016-09-07  Alan Third  <alan@idiocy.org>
33152         Fix cursor at bottom left of rectangle (bug#24364)
33154         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
33155         require rectangle--point-crutches to be set.
33157 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
33159         Fix documentation of convert-standard-filename on MS-Windows
33161         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
33163         * etc/NEWS: Suggest a way for mirroring slashes where previously
33164         'convert-standard-filename' was used.
33166 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33168         Use DEV_TTY more consistently
33170         * src/conf_post.h (DEV_TTY): Move from here ...
33171         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
33172         to be visible everywhere.  Make it a constant.
33173         * src/keyboard.c (handle_interrupt, Fset_quit_char):
33174         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
33176 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
33178         Avoid assertion violations when using marker positions
33180         * src/intervals.c (set_point_from_marker): If MARKER comes from
33181         another buffer, recalculate its byte position before using it to
33182         set point.
33183         * src/marker.c (set_marker_internal): If POSITION is a marker from
33184         another buffer, recalculate its byte position before using it.
33185         (Bug#24368)
33187 2016-09-06  Alan Mackenzie  <acm@muc.de>
33189         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
33191 2016-09-06  Alan Mackenzie  <acm@muc.de>
33193         New options for handling of literals in c-syntactic-re-search-forward
33195         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
33196         be given the values `before-literal' and `after-literal', so that when a
33197         search fails, and the `bound' is inside a literal, point is left respectively
33198         before or after that literal.
33200 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
33202         Avoid assertion violations when scrolling narrowed buffer
33204         * src/window.c (window_scroll_pixel_based):
33205         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
33206         start outside the accessible portion of the buffer.  This avoids
33207         assertion violations when some Lisp narrows the buffer to less
33208         than the current window, and then attempts to scroll the buffer.
33210 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
33212         Treat SIGINT correctly in GUI sessions on MS-Windows
33214         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
33215         supported by MS runtime.
33216         * src/term.c (DEV_TTY): Move from here ...
33217         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
33218         for WINDOWSNT and for the rest.
33219         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
33220         a literal "/dev/tty".
33222         * etc/NEWS: Mention the behavior change.
33224 2016-09-04  Alan Third  <alan@idiocy.org>
33226         Fix synthetic bold on macOS retina displays
33228         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
33229         factor by the OS window backing scale factor.
33231 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
33233         image-dired: Report when a necessary executable is not found
33235         See discussion on:
33236         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00552.html
33237         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
33238         (image-dired-cmd-create-thumbnail-program)
33239         (image-dired-cmd-create-temp-image-program)
33240         (image-dired-cmd-rotate-thumbnail-program)
33241         (image-dired-cmd-write-exif-data-program)
33242         (image-dired-cmd-read-exif-data-program):
33243         Use executable-find to set the default value of this option.
33244         (image-dired-cmd-rotate-original-program): Idem.
33245         Search for program 'convert' if 'jpegtran' is not available.
33246         (image-dired-cmd-rotate-original-options):
33247         Set the default value consistent with the executable in
33248         image-dired-cmd-rotate-original-program.
33249         (image-dired-create-thumb, image-dired-display-image)
33250         (image-dired-rotate-thumbnail, image-dired-rotate-original)
33251         (image-dired-set-exif-data, image-dired-get-exif-data):
33252         Throw and error when the executable used in the function is missing.
33253         (image-dired-next-line, image-dired-previous-line):
33254         Use 'forward-line'.
33256 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
33258         image-type-from-file-name: Perform a case insensitive match
33260         Fix Bug#24317
33261         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
33262         to a non-nil value to force a case insensitive match.
33263         * lisp/image-dired.el (image-dired-rotate-original):
33264         Use image-type (Bug#24317).
33265         (image-dired-get-exif-file-name): Idem.
33266         Set 'no-exif-data-found' and 'data' in same setq call.
33267         Use file-attribute-modification-time.
33269 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
33271         image-increase-size: Fix non-interactive calls
33273         * lisp/image.el (image-increase-size, image-decrease-size):
33274         Compute a floating point division.
33275         Problem reported in:
33276         https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00067.html
33278 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
33280         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
33282         Passing the prefix argument as the 3rd argument to 'call-interactively'
33283         causes the prefix argument to be interpreted as events, which is not
33284         only wrong, but also causes a type error, as 'current-prefix-arg' can
33285         never be a vector as 'call-interactively' expects.  'call-interactively'
33286         automatically passes its prefix argument to the called function, so just
33287         do that, eliminating faulty behavior.
33289         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
33290         (checkdoc-ispell-current-buffer):
33291         (checkdoc-ispell-interactive):
33292         (checkdoc-ispell-message-text):
33293         (checkdoc-ispell-start):
33294         (checkdoc-ispell-continue):
33295         (checkdoc-ispell-comments):
33296         (checkdoc-ispell-defun):
33297         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
33298         vector; merely allow it to propagate forward to the interactive call.
33300 2016-09-03  Richard Stallman  <rms@gnu.org>
33302         Fix mail-combine-fields
33304         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
33305         avoid losing our place in the search loop.
33307 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33309         Check actual contents before promting about changed file
33311         * lisp/userlock.el (userlock--check-content-unchanged)
33312         (userlock--ask-user-about-supersession-threat): New functions.
33313         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
33314         * doc/lispref/buffers.texi (Modification Time): Update doc of
33315         ask-user-about-supersession-threat.
33317 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
33319         Make a reference to fakecygpty in the Tramp manual
33321         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
33322         fakecygpty on the Emacs Wiki.
33323         (Frequently Asked Questions): Fix url.
33325 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33327         Don’t create fd >= FD_SETSIZE
33329         This avoids a potential crash if too many subprocesses (Bug#24325).
33330         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
33331         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
33332         set it to FD_SETSIZE.
33334 2016-09-01  Alan Mackenzie  <acm@muc.de>
33336         Fix c-declaration-limits to return correct limits in all cases.
33338         This function is the guts of c-indent-defun and c-mark-function.
33340         In particular, when c-defun-tactic is nil, return a correct value rather than
33341         always nil, and when it's 'go-outward, go through an intricate algorithm to
33342         determine the requisite narrowing before the "top-level" defuns go to work.
33344         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
33345         to take additional optional parameter LEVEL, saying how many enclosing levels
33346         of decl-block to narrow to.
33347         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
33348         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
33349         lower bound.
33351 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
33353         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
33355 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
33357         Avoid compiler warnings with MinGW64 GCC 6
33359         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
33360         the GCC 6 builtin, to avoid warnings.  For more details, see
33361         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00721.html.
33363 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33365         Fix over-substitution of quotes on error
33367         Problem reported by Tino Calancha in:
33368         https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00000.html
33369         * src/print.c (print_error_message):
33370         Substitute quotes in errmsg only when gotten from a property.
33372 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33374         Improve testing of etags
33376         * test/manual/etags/y-src/cccp.c:
33377         * test/manual/etags/y-src/parse.c: Correct #line directives to
33378         allow testing invalidate_nodes in etags.c.
33379         * test/manual/etags/ETAGS.good_1:
33380         * test/manual/etags/ETAGS.good_2:
33381         * test/manual/etags/ETAGS.good_3:
33382         * test/manual/etags/ETAGS.good_4:
33383         * test/manual/etags/ETAGS.good_5:
33384         * test/manual/etags/ETAGS.good_6:
33385         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
33387 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33389         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
33391 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33393         Fix etags problems found by static checking
33395         * lib-src/etags.c (invalidate_nodes, put_entry):
33396         Remove now-unnecessary tests for null pointers.  Simplify.
33397         (put_entries): Rewrite to avoid GCC 6.2 warning about
33398         dereferencing null pointer.
33400 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33402         Fix a thinko in etags.c
33404         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
33405         a null pointer.
33407 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33409         Avoid recursive calls in etags
33411         * lib-src/etags.c (stack_entry): New struct.
33412         (push_node, pop_node, put_entry): New functions.
33413         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
33414         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
33416 2016-08-31  Leo Liu  <sdl.web@gmail.com>
33418         Add 451 to url-http-codes
33420         * lisp/url/url-http.el (url-http-codes): Add 451.
33422 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
33424         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
33426 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33428         Minor doc quoting fixes
33430         * doc/misc/htmlfontify.texi (Interactive):
33431         * lisp/htmlfontify.el (htmlfontify-buffer):
33432         Spell out character names, for clarity.  The old doc string
33433         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
33434         stands for a form feed character; this was confusing.
33435         * lisp/electric.el (electric-quote-mode):
33436         * src/doc.c (syms_of_doc):
33437         * src/editfns.c (Fformat_message):
33438         Remove no-longer-necessary ‘\=’s in doc strings.
33440 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33442         Update from gnulib
33444         This incorporates:
33445         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
33446         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
33447         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
33448         2016-08-29 intprops.h: use __typeof__ with GCC 7
33449         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
33450         2016-08-24 intprops: fix paren typo on old platforms
33451         2016-08-24 intprops: port to OpenVMS
33452         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
33454 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
33456         Fix rules for \phi and \varphi which were reversed
33458         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
33459           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
33460           were reversed which is not true (anymore?).
33462 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
33464         Fix prettification of \phi, \varphi, and \varsigma
33466         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
33467           prettification of \phi, \varphi, and \varsigma.
33469         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
33470         \varsigma was commented out with a FIXME that it was reversed with
33471         \sigma which it was not.
33473 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
33475         Use normal double quotes in TeX / LaTeX comments
33477         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
33478           default to inserting a normal double quote (") instead of TeX-style
33479           open (``) or close ('') quote marks.
33481         * etc/NEWS (TeX mode): Note the change.
33483         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
33485         See this thread for discussion:
33487           https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00611.html
33488           From: Karl Fogel <kfogel {_AT_} red-bean.com>
33489           To: Emacs Development <emacs-devel {_AT_} gnu.org>
33490           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
33491           Date: Mon, 29 Aug 2016 14:44:12 -0500
33492           Message-ID: <87twe3icmr.fsf@red-bean.com>
33494 2016-08-30  Alan Mackenzie  <acm@muc.de>
33496         Correctly analyze C++ list initialization in member init areas.
33498         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
33499         superfluous call to c-backward-syntactic-ws.
33500         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
33501         reports encountering the Java "new" keyword.  Add, as an alternative, a check
33502         that we can move back over member initializations, and handle this as finding
33503         a brace block.
33504         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
33505         new calling convention of c-looking-at-or-maybe-in-bracelist.
33506         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
33507         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
33508         using the extra info from the value of that function to generate a
33509         topmost-into-cont element where needed (in Java).
33511         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
33512         calling convention of c-looking-at-or-maybe-in-bracelist.
33514         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
33515         convention of c-looking-at-or-maybe-in-bracelist.
33517 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
33519         Use `file-attribute-*' in Tramp
33521         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
33522         (tramp-compat-file-attribute-link-number)
33523         (tramp-compat-file-attribute-user-id)
33524         (tramp-compat-file-attribute-group-id)
33525         (tramp-compat-file-attribute-modification-time)
33526         (tramp-compat-file-attribute-size)
33527         (tramp-compat-file-attribute-modes): New defaliases.
33529         * lisp/net/tramp.el (tramp-handle-file-modes)
33530         (tramp-handle-file-newer-than-file-p)
33531         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
33532         (tramp-handle-set-visited-file-modtime)
33533         (tramp-handle-verify-visited-file-modtime)
33534         (tramp-get-local-gid, tramp-check-cached-permissions):
33535         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
33536         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
33537         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
33538         (tramp-gvfs-handle-file-directory-p)
33539         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
33540         (tramp-gvfs-get-remote-gid):
33541         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
33542         (tramp-sh-handle-set-visited-file-modtime)
33543         (tramp-sh-handle-verify-visited-file-modtime)
33544         (tramp-sh-handle-file-newer-than-file-p)
33545         (tramp-sh-handle-file-ownership-preserved-p)
33546         (tramp-do-copy-or-rename-file)
33547         (tramp-do-copy-or-rename-file-via-buffer)
33548         (tramp-do-copy-or-rename-file-directly)
33549         (tramp-do-copy-or-rename-file-out-of-band)
33550         (tramp-sh-handle-file-local-copy)
33551         (tramp-sh-handle-write-region):
33552         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
33553         (tramp-smb-handle-copy-file)
33554         (tramp-smb-handle-file-directory-p)
33555         (tramp-smb-handle-file-writable-p)
33556         (tramp-smb-handle-insert-directory): Use them.
33558 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
33560         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
33562         * lisp/window.el (pop-to-buffer): Don't assume that
33563         `display-buffer' has supplied a window (Bug#24332).
33564         Rename BUFFER argument to BUFFER-OR-NAME.
33565         * doc/lispref/windows.texi (Switching Buffers): Fix
33566         `pop-to-buffer' documentation.
33568 2016-08-29  Alan Third  <alan@idiocy.org>
33570         Clarify docstrings
33572         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
33574 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
33576         Use `process-live-p' in Tramp
33578         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
33580         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
33581         (tramp-handle-file-notify-valid-p)
33582         (tramp-action-process-alive, tramp-action-out-of-band)
33583         (tramp-wait-for-regexp):
33584         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
33585         (tramp-adb-maybe-open-connection):
33586         * lisp/net/tramp-cache.el (tramp-get-connection-property):
33587         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
33588         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
33589         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
33590         * lisp/net/tramp-sh.el (tramp-process-sentinel)
33591         (tramp-sh-handle-file-notify-add-watch)
33592         (tramp-maybe-open-connection):
33593         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
33594         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
33595         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
33596         (tramp-smb-get-cifs-capabilities)
33597         (tramp-smb-get-stat-capability)
33598         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
33599         (tramp-smb-kill-winexe-function): Use it.
33601 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
33603         Avoid crashes for invalid value of key modifiers
33605         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
33606         is not a symbol, don't try to recognize it.  See
33607         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00502.html
33608         for the details.
33610         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
33611         test, for testing the above fix.
33613 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
33615         Make dired-do-compress understand files with spaces in them
33617         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
33618           and `literal' flag to `replace-regexp-in-string'.
33620 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33622         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
33624 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
33626         Add tests for dom.el
33628         * test/lisp/dom-tests.el: New file with tests for dom.el.
33630 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33632         Memory allocator alignment fixes
33634         These changes remove some assumptions about heap allocator
33635         alignment that may not be true on unusual platforms.
33636         * src/alloc.c (POWER_OF_2): New macro.
33637         (ROUNDUP): Use it.
33638         (BLOCK_ALIGN): Verify that it is a power of 2.
33639         (aligned_alloc): Check that alignment passed to posix_memalign
33640         satisfies POSIX restrictions.
33641         (lisp_align_malloc): Check that size passed to aligned_alloc
33642         satisfies C11 restrictions.
33643         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
33644         code has not been verified to work with other GCALIGNMENT values
33645         and the ice is thin here.  On GNU/Linux, malloc can return a value
33646         that is a multiple of 8 but not 16, even though __alignof__
33647         (max_align_t) is 16.  See:
33648         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
33649         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
33650         is a multiple of alignment, since C11 says the behavior is
33651         undefined otherwise.
33652         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
33653         general this macro is restricted to signed types.  Remove
33654         assertion that the result is a multiple of GCALIGNMENT, as that
33655         need not be true.
33657 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33659         Pacify --enable-gcc-warnings for lib-src/pop.c
33661         * lib-src/pop.c: Include c-ctype.h.
33662         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
33663         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
33664         of the (undeclared) isupper and tolower.  Fix pointer constness
33665         problem.
33667 2016-08-27  Alan Mackenzie  <acm@muc.de>
33669         Handle the C++ "identifiers" "final" and "override" correctly.
33671         This fixes bug #24319, allowing destructors affixed with these identifiers to
33672         be correctly fontified.
33674         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
33675         After reaching the "end" of a type expression, skip over any occurrences of
33676         c-type-decl-suffix-ws-ids-key.
33678         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
33679         "final" from the C++ value.
33680         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
33681         constants/variables for "final" and "override".
33683 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
33685         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
33687 2016-08-27  Alan Mackenzie  <acm@muc.de>
33689         Handle template delimiters in C++ member init constructs.
33691         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
33692         handling for "<....>"s.
33694 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
33696         Fix etags test suite messed up by merges from emacs-25
33698         * test/manual/etags/go-src/test.go:
33699         * test/manual/etags/go-src/test1.go: Move from test/etags/.
33700         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
33701         * test/etags/: Directory deleted.
33703 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
33705         Add "supports" to list of CSS at-rules
33707         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
33709 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
33711         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
33713         (Bug#22478)
33715 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
33717         Rename option to shell-command-dont-erase-buffer
33719         Suggested by Clément Pit--Claudel in:
33720         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00487.html
33721         * lisp/simple.el (shell-command-dont-erase-buffer):
33722         (shell-command--save-pos-or-erase):
33723         (shell-command--set-point-after-cmd):
33724         (shell-command-on-region):
33725         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
33726         * etc/NEWS (Changes in Emacs 25.2):
33727         Rename from shell-command-not-erase-buffer.
33729 2016-08-25  Alan Mackenzie  <acm@muc.de>
33731         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
33733         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
33734         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
33735         the loop won't hang at a "terminating" paren of a different type (due to the
33736         c-syntactic-re-search-forward at the end of the loop stopping at such
33737         characters).
33739 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
33741         call-shell-region: New defun
33743         Suggested by Stefan Monnier in Bug#22679.
33744         * lisp/subr.el (call-shell-region): New defun; execute a command
33745         in an inferior shell with the buffer region as input.
33746         * lisp/simple.el (shell-command-on-region): Use it.
33747         * lisp/gnus/message.el (message-do-fcc): Idem.
33748         * doc/lispref/processes.texi: Document call-shell-region in the manual.
33749         ;* etc/NEWS: Add entry for this new function.
33751 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
33753         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
33755         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
33756         argument in `pop-to-buffer' call (Bug#24306).
33758 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
33760         Some fixes around `delete-other-frames' and `next-frame'
33762         * src/frame.c (Fdelete_frame): Clarify doc-string.
33763         * lisp/frame.el (delete-other-frames): Delete other frames on
33764         FRAME's terminal instead of the current terminal.  Delete
33765         non-minibuffer-only surrogate frames too.  See
33766         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00467.html
33767         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
33768         docs of `delete-frame' and `frame-live-p'.  Add entry for
33769         `delete-other-frames'.
33770         (Finding All Frames): Fix doc of `next-frame'.
33772 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
33774         Find message.el thumbnail toggling
33776         * lisp/gnus/message.el (message-toggle-image-thumbnails):
33777         Don't infloop when toggling thumbnails.
33779 2016-08-24  Alan Third  <alan@idiocy.org>
33781         Fix macOS 12 deprecation notices
33783         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
33784         new constant names.
33785         * src/nsmenu.m: Replace old constant names with
33786         new.
33787         (fillWithWidgetValue): Remove calls to deprecated
33788         setMenuChangedMessagesEnabled.
33789         * src/nsterm.m: Replace old constant names with new.
33790         * src/nsfns.m: Replace old constant names with new.
33792 2016-08-23  Alan Mackenzie  <acm@muc.de>
33794         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
33796         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
33797         directly preceding the colon, and handle it.
33799 2016-08-23  Noah Friedman  <friedman@splode.com>
33801         * src/xfns.c (Fx_change_window_property): Modify previous change.
33802         Instead of forcing format to 8 for strings, check that the length of
33803         the string is appropriate for whatever format given.
33804         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
33805         try its outer window.  This mimics the behavior of Fx_window_property.
33807 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
33809         Fix invalid image rotations
33811         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
33813 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
33815         call-process instead of call-process-region with empty region
33817         * lisp/calc/calc-graph.el (calc-graph-show-tty):
33818         Use call-process and shell-command-switch.
33820 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
33822         Merge from origin/emacs-25
33824         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
33825         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
33826         73cbb81 ; ChangeLog spelling fixes
33827         9b99772 Some assorted documentation clarifications
33828         37d4723 Improve commentary in src/character.h
33829         5ccd593 ; Fix typo in /etc/NEWS
33830         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
33831         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
33832         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
33833         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
33835         # Conflicts:
33836         #       ChangeLog.2
33837         #       lisp/ldefs-boot.el
33839 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
33841         Merge from origin/emacs-25
33843         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
33845 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
33847         Merge from origin/emacs-25
33849         8c2946e In NEWS describe new handling of window margins (Bug#24193)
33850         0cee66c Facultatively ignore margins when splitting and resizing wind...
33851         8d68147 Document CATEGORY arg to modify-category-entry
33852         8342e74 Document char-script-table's effect on word motion
33853         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
33854         0695235 Fix docstring of eval-expression
33855         98b01dd Clarify when 'cursor' property is in effect
33856         75f1882 Convert the remaining strings to unibyte before concatenating
33857         d2db5dd Fix bug with handling the bidi cache
33858         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
33859         f785ff4 Clarify documentation of before/after-change-functions
33860         3c9cb57 Document use of vectors in keymaps
33862         # Conflicts:
33863         #       src/xdisp.c
33865 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
33867         Handle remote file names in gdb-mi.el
33869         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
33870         If `default-directory' is remote, full file names are adapted
33871         accordingly.  (Bug#23608)
33873 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
33875         Display mini-window resized even when there are several frames
33877         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
33878         t to avoid resizing back the mini-window as result of considering
33879         the title of other frames.  (Bug#24285)
33880         (redisplay_window): No need to bind inhibit-redisplay here.
33882 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
33884         Explain gdb warning on remote hosts
33886         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
33887         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
33889 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
33891         Fix (next-frame nil t) crash (Bug#24281)
33893         * src/frame.c (candidate_frame): Check minibuf argument before
33894         comparing it to zero (Bug#24281).
33896 2016-08-21  Noah Friedman  <friedman@splode.com>
33898         Fix interpretation of signed vs unsigned values when retrieving X
33899         Window properties, and make sure the full value is returned when not
33900         parsed.
33902         New subr to export type and format information about X Window
33903         properties to lisp.
33905         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
33906         unsigned unless its actual type is INTEGER.
33907         CARDINALs, in particular, are unsigned.
33909         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
33910         any provided format and force to 8.
33911         (x_window_property_intern): If returning value as a string, the length
33912         is actual_size times the actual format of each element, which is not
33913         necessarily bytes.
33914         (Fx_window_property_attributes): New subr.
33915         (syms_of_xfns): Declare it.
33917 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
33919         Improve error when installing non-package dirs
33921         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
33922         when no file with package info is found (Bug #19851).
33924 2016-08-21  Alan Mackenzie  <acm@muc.de>
33926         Adapt CC Mode for C++11 uniform initialization.
33928         For fontification, introduce a new "context", 'non-decl, to be used for
33929         brace
33930         lists; also a new value for the property 'c-type, called 'c-not-decl.
33932         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
33933         an ostensible symbol we're going to move over isn't a keyword.
33934         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
33935         (hence a declaration), and an unmatched open paren, perform
33936         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
33937         Whilst checking a type decl expression, check for and handle C++11's "copy
33938         initialization", where we have <type>(<constant>).  Recognize
33939         <id><id>(... (where the paren is unclosed) as a declaration.
33940         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
33941         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
33942         valid tokens other than "=".  Recognize a bracelist when preceded by a
33943         template declaration.
33944         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
33945         much inline code.
33946         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognise an
33947         initialization starting "({" as an in-expression block, by checking for
33948         semicolons, as opposed to commas, separating elements inside it.
33949         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
33950         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
33951         preceding "=".  (CASE B-5): New code to recognize new construct "return {
33952         ...}".
33953         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
33954         "return", or "{" preceded by <type><identifier> as a bracelist.
33956         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
33957         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
33958         search for "," rather than calling c-forward-decl-or-cast-1.
33960         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
33961         constants/variables to recognize "return".
33962         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
33963         which, when preceding an identifier followed by a brace, signify the brace as
33964         a bracelist.
33966         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
33967         the start of a "local" declaration, move out from an enclosing brace when
33968         that is the start of a brace list.
33970 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
33972         Update from gnulib
33974         This incorporates:
33975         2016-08-17 maint: preprocessor changes to support z/OS
33976         2016-08-17 string: rename to avoid '__string'
33977         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
33978         Copy from gnulib.
33980 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
33982         Minor text-quoting-style fixes
33984         * src/charset.c (check_iso_charset_parameter):
33985         * src/frame.c (store_frame_param):
33986         * src/xselect.c (x_fill_property_data):
33987         Use grave accent for left single quote in ‘error’ format strings.
33989 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
33991         Fix semantics of 'minibuffer' frame parameter
33993         The 'minibuffer' frame parameter is now t for a normal frame
33994         (a frame with a root window plus a minibuffer window) and the
33995         frame's minibuffer window for a minibuffer-less frame (a frame
33996         whose minibuffer window is on another frame).  See also:
33997         https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01259.html
33999         * src/frame.c (make_frame, make_frame_without_minibuffer)
34000         (make_minibuffer_frame): When assigning the frame's minibuffer
34001         window also store corresponding 'minibuffer' frame parameter.
34002         (store_frame_param): Move the 'minibuffer' parameter checks to
34003         the beginning so we can silently override the value before it
34004         gets stored in the parameter alist.  Fix error handling.
34005         (Fframe_parameters): Return value of 'minibuffer' parameter
34006         unmodified.
34008         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
34009         the parameter is a minibuffer window, save (minibuffer . nil)
34010         instead of (minibuffer . t).
34011         (frameset--reuse-frame): To find a non-minibuffer-only frame
34012         look out for a frame whose 'minibuffer' parameter is t instead
34013         of that frame's minibuffer window.
34014         (frameset-minibufferless-first-p): To find a minibuffer-less
34015         frame look out for a frame whose 'minibuffer' parameter is a
34016         window instead of nil.
34018 2016-08-20  Alan Mackenzie  <acm@muc.de>
34020         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
34022 2016-08-20  Alan Mackenzie  <acm@muc.de>
34024         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
34026         Check the limit both at macro expansion time (for a hard coded nil) and at run
34027         time in the generated code.  Tidy up these macros generally.
34029         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
34030         not identically nil before generating a narrow-to-region call.  Generate code
34031         to check `limit' is not nil at run time.
34032         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
34033         narrow-to-region, instead calling c-safe-scan-lists directly.
34034         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
34035         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
34036         to determine the destination position instead of generating a redundant
34037         narrow-to-region.
34039 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
34041         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
34043         The docstring referenced a non-existant parameter, as well as a
34044         parameter that has been renamed since the docstring was written. Fix
34045         both errors, fixing (Bug#24182).
34047 2016-08-19  Alan Mackenzie  <acm@muc.de>
34049         Amend hack-local-variables-prop-line not always to return any mode on line 1.
34051         This fixes bug #24266.
34053         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
34054         parameter mode-only to handle-mode.  Change its meaning, such that it being
34055         set to a value non-nil and not t removes any mode parameter from the result
34056         list.  Leave its values nil and t with the same meanings they had.
34057         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
34059 2016-08-19  Daiki Ueno  <ueno@gnu.org>
34061         Improve doc string of epg-*-program
34063         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
34064         Suggest to use Customize when setting.  (Bug#24229)
34066 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
34068         Add tests for Bug#24264
34070         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
34071         Add test for Bug#24264.
34072         (cl-seq-fill-test, cl-seq-replace-test)
34073         (cl-seq-remove-test ,cl-seq-delete-test)
34074         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
34075         (cl-seq-nsubstitute-test, cl-seq-position-test)
34076         (cl-seq-count-test, cl-seq-mismatch-test)
34077         (cl-seq-search-test, cl-seq-test-bug24264):
34078         Add tests for all functions in the file; test all keywords.
34080 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
34082         Fix bug in --eval reply message from server
34084         * lisp/server.el (server-reply-print): Fix check for truncated quote
34085         sequence at end of message. Problem reported in:
34086         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00101.html
34088 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
34090         Add tests for 'substitute-command-keys'
34092         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
34093         tests.
34095 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
34097         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
34099         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
34100         `completing-read'.
34102 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
34104         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
34106         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
34107         without any files being extracted.
34109 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
34111         Don't let window start override window point in `window-state-put' (Bug#24240)
34113         * lisp/window.el (window--state-put-2): Set 'noforce argument
34114         when restoring a window's start position.  This avoids that the
34115         effect of `set-window-point' gets overidden by that of
34116         `set-window-start' (Bug#24240).
34118 2016-08-17  Alan Mackenzie  <acm@muc.de>
34120         Fontify constructs following "::" in C++ argument lists correctly - part 2.
34122         This fixes bug #24246.
34124         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
34125         `save-match-data' around the new `looking-at' introduced by the previous CC
34126         Mode patch this evening.
34128 2016-08-17  Alan Mackenzie  <acm@muc.de>
34130         Fontify constructs following "::" in C++ argument lists correctly.
34132         This fixes bug #24246.
34134         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
34135         match" loop, test a found string for a match with c-opt-identifier-concat-key
34136         (e.g. with "::").
34138 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
34140         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
34142 2016-08-17  K. Handa  <handa@gnu.org>
34144         Fix hz encoding and decoding (bug#23814)
34146         * lisp/language/china-util.el (decode-hz-region): Pay
34147         attention to "~~}" sequence at the end of Chinese character
34148         range.
34149         (hz-category-table): New variable.
34150         (encode-hz-region): Convert non-encodable characters to
34151         \u... and \U...  Preserve ESC on ecoding.  Put
34152         `chinese-gb2312' `charset' text property in advance to force
34153         iso-2022-encoding to select chinese-gb2312 designation.
34155 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
34157         file-attribute-collect: New defun
34159         * lisp/files.el (file-attribute-collect):
34160         Return a sublist of the attributes returned by 'file-attributes'.
34161         Suggested by Ted Zlatanov in:
34163         https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01195.html
34165 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
34167         Fix Bug#24203
34169         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
34171 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
34173         Improve doc string.
34175         * src/fileio.c (Ffile_name_as_directory): Be precise about the
34176         conditions under which a slash is appended.
34178 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
34180         Omit substitute-command-keys code no longer needed
34182         * src/doc.c (Fsubstitute_command_keys):
34183         Remove duplicate initializations.
34185 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
34187         Allow not erase output buffer in shell commands
34189         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
34190         not erasing the output buffer between shell commands.  Defaults to nil.
34191         (shell-command-on-region): Use it.
34192         (shell-command--save-pos-or-erase): New defun; store a buffer position
34193         if 'shell-command-not-erase-buffer' is non-nil; otherwise
34194         erase the output buffer of the shell command.
34195         (shell-command, shell-command-on-region): Use it.
34196         (shell-command--set-point-after-cmd): New defun;
34197         if 'shell-command-not-erase-buffer' is non-nil, set point
34198         in the output buffer to the position in 'shell-command-saved-pos'.
34199         (shell-command-sentinel, shell-command-on-region): Use it.
34200         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
34201         Document this feature in the manual.
34202         See discussion on:
34203         https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00610.html
34205 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
34207         Rearrange Tramp manual title page
34209         * doc/misc/tramp.texi: Move @insertcopying out of the title
34210         page.  Do not use @ifnottex anymore.
34212 2016-08-15  Glenn Morris  <rgm@gnu.org>
34214         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
34216 2016-08-15  Alan Mackenzie  <acm@muc.de>
34218         Fix minor bug in c-syntactic-re-search-forward.
34220         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
34221         non-nil, and the first internal search attempt fails, point wrongly ends up at
34222         BOUND, rather than just before the next closing paren.
34224         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
34225         the above situation.
34227 2016-08-15  Alan Mackenzie  <acm@muc.de>
34229         Handle C++11 lambda functions.
34231         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
34232         handle C++ lambda functions.
34233         (c-looking-at-c++-lambda-capture-list): New function.
34235         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
34236         parameter list of a lambda function and set `context' and
34237         `c-restricted-<>-arglists' suitably for it.
34238         (c-font-lock-c++-lambda-captures): New function.
34239         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
34241         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
34242         New language constants/variables.
34243         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
34245         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
34246         function capture list.
34248 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
34250         Fix stale cache problem in Tramp
34252         * lisp/net/tramp-cache.el (tramp-get-connection-property):
34253         Check, that a process as key is still running.  (Bug#22478)
34255 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34257         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
34259 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
34261         Another fix for scroll-conservatively and overlay strings
34263         * src/xdisp.c (redisplay_window): Handle also the case where the
34264         calculated window-start point has an overlay string touching it.
34265         (Bug#24179)
34267 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
34269         Improve handling of defcustoms in tramp
34271         * doc/misc/tramp.texi: Protect all multi-line examples by
34272         @group ... @end group.  Use proper `custom-set-variables'
34273         examples.  Use consequently @option for user options.  Remove
34274         superfluous @cindex and @vindex entries.
34275         (Top): Remove reference to outdated mail archives.
34276         (Configuration): Tune references.
34277         (Default Method): Make `tramp-default-method' and
34278         `tramp-default-method-alist' a @defopt.
34279         (Default User): Make `tramp-default-user' and
34280         `tramp-default-user-alist' a @defopt.
34281         (Default Host): Make `tramp-default-host' and
34282         `tramp-default-host-alist' a @defopt.
34284         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
34285         (tramp-backup-directory-alist, tramp-auto-save-directory)
34286         (tramp-encoding-shell, tramp-encoding-command-switch)
34287         (tramp-encoding-command-interactive, tramp-default-method)
34288         (tramp-default-method-alist, tramp-default-user)
34289         (tramp-default-user-alist, tramp-default-host)
34290         (tramp-default-host-alist, tramp-default-proxies-alist)
34291         (tramp-save-ad-hoc-proxies)
34292         (tramp-restricted-shell-hosts-alist)
34293         (tramp-local-end-of-line, tramp-rsh-end-of-line)
34294         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
34295         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
34296         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
34297         (tramp-terminal-prompt-regexp)
34298         (tramp-operation-not-permitted-regexp)
34299         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
34300         (tramp-syntax, tramp-chunksize)
34301         (tramp-process-connection-type, tramp-connection-timeout)
34302         (tramp-connection-min-time-diff)
34303         (tramp-completion-reread-directory-timeout):
34304         * lisp/net/tramp-adb.el (tramp-adb-program)
34305         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
34306         * lisp/net/tramp-cache.el (tramp-connection-properties)
34307         (tramp-persistency-file-name):
34308         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
34309         (tramp-gvfs-zeroconf-domain)
34310         (tramp-bluez-discover-devices-timeout):
34311         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
34312         (tramp-copy-size-limit, tramp-terminal-type)
34313         (tramp-histfile-override)
34314         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
34315         (tramp-remote-process-environment, tramp-sh-extra-args):
34316         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
34317         (tramp-smb-conf, tramp-smb-winexe-program)
34318         (tramp-smb-winexe-shell-command)
34319         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
34321 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34323         Minor text-quoting-style fixes
34325         * lisp/cus-edit.el (custom-buffer-create-internal):
34326         * lisp/recentf.el (recentf-edit-list):
34327         Follow text-quoting-style preference when quoting in UI strings.
34328         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
34329         quotes are substituted for, as this is no longer true.
34331 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34333         Fix substitute-command-keys unibyte, alloc bugs
34335         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
34336         unibyte strings and with buffer allocation.  Make strings
34337         multibyte, to avoid problems with unibyte strings that are not
34338         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
34339         O(N), not O(N**2).  Avoid going past the end of the input string
34340         when given invalid input.  Avoid some unlikely problems in
34341         accessing the wrong storage after a GC.
34343 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
34345         Fix "C-u" when an input method is active
34347         * lisp/international/quail.el (quail-input-method): Defer to the
34348         input method iff 'overriding-terminal-local-map' is
34349         'universal-argument-map' and the given key has no binding there.
34350         (Bug#22958)
34352 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
34354         Fix docs on `display-buffer-below-selected' (Bug#24213)
34356         * lisp/window.el (display-buffer-below-selected): Fix
34357         doc-string (Bug#24213).
34358         * doc/lispref/windows.texi (Display Action Functions): Fix
34359         documentation of `display-buffer-below-selected'.
34361 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
34363         cl-fill: Rename arguments to cl-seq and cl-item
34365         * lisp/emacs-lisp/cl-seq.el (cl-fill):
34366         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
34368 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
34370         Fix display.texi typo
34372         * doc/lispref/display.texi (Faces): Fix typo.
34374 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
34376         Fix process leak with make-network-process
34378         This problem was introduced by the recent async changes (Bug#23808).
34379         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
34380         so that it follows the start_process_unwind unwind-protect.
34381         Set pid to -1 while the process is being created.
34382         (start_process_unwind): Omit unnecessary emacs_abort test.
34383         (connect_network_socket): Simplify use of counts.  Unwind
34384         bind_polling_period a bit earlier, so that a remove_process
34385         unwind-protect can be added when needed; this is the heart of
34386         the fix.  Undo the unwind-protect just before returning.
34388 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
34390         Avoid annoying re-scroll when buffer has many overlay strings
34392         * src/xdisp.c (redisplay_window): Add better recovery from a
34393         situation where window-start is on buffer position which has a
34394         before-string that includes newlines, with the result that point
34395         is not visible in the window, because the display engine starts
34396         displaying with the before-string.  (Bug#24179)
34398 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34400         Omit unnecessary process initialization
34402         * src/process.c (make_process, Fmake_process)
34403         (Fmake_pipe_process, Fmake_serial_process)
34404         (Fmake_network_process, server_accept_connection):
34405         Omit unnecessary initialization of already-cleared storage.
34407 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
34409         cl-delete-duplicates: Parse :if to have cl-if bound
34411         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
34412         We need also to parse keyword :if, otherwise cl-if
34413         is unbound.
34414         This reverts commit:
34415         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
34417 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
34419         cl-delete-duplicates: do not parse :if keyword
34421         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
34422         Parse only the supported keywords.
34424 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
34426         Add compatibility layer for `temporary-file-directory-function'
34428         * lisp/net/tramp-compat.el
34429         (tramp-compat-temporary-file-directory-function): New defalias.
34431         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
34433         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
34434         Skip for older Emacs versions.
34436 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
34438         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
34440         (Bug#24059)
34442 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
34444         Handle nil cell value in compiled printer functions.
34446         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
34447         ses-range `!' modifier.
34448         (More on cell printing): Fix this that the fallback printer is
34449         `ses-prin1', not "%S".  That makes a difference for any cell value for
34450         which "%S" would insert a backslash characters.
34452         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
34453         --- contrary to emacs-25 branches ses-call-printer does not handle
34454         prior to calling a function printer.  Not doing this would still work
34455         because the compiled function would throw and error and SES would in
34456         the end resort to the ses-prin1 fallback, however this way would not
34457         be in line with the raison d'être of compiling printer which is speed.
34459 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
34461         Turn on lexical-binding in json.el
34463         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
34464         showed 12-31% reduction in execution time.
34465         * lisp/json.el: Turn on lexical-binding.
34467 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
34469         Nudge WoMan toward lexical-binding
34471         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
34472         Use cl-pushnew instead of add-to-list.
34473         (woman-justify-list): Rename to woman-justify-styles.
34474         (woman-justify-styles): New array.
34475         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
34476         (woman-cached-data): Use cl-pushnew instead of add-to-list.
34478 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
34480         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
34482         Here follows the logs from the two commits which I apply to master.
34484         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
34485         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
34486         Date:   Fri Jul 29 13:44:14 2016 +0200
34488         Fix ses-delete-blanks to delete only blanks + documentation.
34490         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
34491         'ses-range' modifier as an alternative to 'ses+'.
34492         (Advanced Features): Add a refernce to node 'Nonrelocatable
34493         references' concerning function 'ses-rename-cell'.
34494         (Standard formula functions): Mention the '!' 'ses-range'
34495         modifier as an alternative to 'ses-delete-blanks'.
34496         (More on cell printing): Fix fallback printer
34497         definition.  Minor editorial formatting changes.
34498         (Nonrelocatable references): Document the use of
34499         'ses-rename-cell' as a better way to make cell reference
34500         non-relocatable.
34501         (The data area): Document the presence of local printer
34502         definitions in the data area.
34504         * lisp/ses.el (ses-delete-blanks): Do not remove
34505         *error*.  Any error in an argument should propagate into the
34506         using formula rather than being silently hidden !
34508         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
34509         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
34510         Date:   Thu Jul 28 19:49:37 2016 +0200
34512         Fix local printer set to left aligned string formatter.
34514         * lisp/ses.el (ses-local-printer-compile): Add missing case
34515         for left-aligned string formatter.
34517 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34519         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
34521 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
34523         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
34525         Change the code which detects and circumvents the case where one of the
34526         variables used in λ-lifting is shadowed, so that it also works when the
34527         shadowing comes before the λ-lifted function (bug#24171).
34529         (cconv--remap-llv): New function, extracted from cconv-convert.
34530         (cconv-convert): Use it, but differently for `let' and `let*'.
34532 2016-08-09  Alan Mackenzie  <acm@muc.de>
34534         CC Mode: check for and fix missing call to before_change_functions.
34536         Fixes bug #24094 and bug #24074.
34538         This can happen with `revert-buffer' or sometimes `find-file', when the file
34539         is already in a buffer, but the file has been changed outside of Emacs.
34541         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
34542         invocation of c-before-change-functions, we assume the changed region is the
34543         entire buffer, and call c-before-change explicitly before proceding.
34545 2016-08-09  Alan Mackenzie  <acm@muc.de>
34547         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
34549         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
34551 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
34553         Support $ENV in Tramp
34555         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
34557         * etc/NEWS: Explain the "ENV" environment variable in
34558         `tramp-remote-process-environment'.
34560         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
34561         (tramp-open-shell): Read $ENV value from
34562         `tramp-remote-process-environment'.
34563         (tramp-open-connection-setup-interactive-shell): Set values in
34564         proper order.
34566 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34568         Simplify exec_byte_code via moving decls etc.
34570         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
34571         initializers into decls, and by omitting some unnecessary
34572         changes to ‘top’.  This improves performance a bit on x86-64,
34573         as it happens.
34575 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34577         Remove interpreter’s byte stack
34579         This improves performance overall on my benchmark on x86-64,
34580         since the interpreted program-counter resides in a machine
34581         register rather than in RAM.
34582         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
34583         is no longer a byte stack to decode.
34584         * src/bytecode.c (struct byte_stack, byte_stack_list)
34585         (relocate_byte_stack): Remove.  All uses removed.
34586         (FETCH): Simplify now that pc is now local (typically, in a
34587         register) and no longer needs to be relocated.
34588         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
34589         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
34590         (exec_byte_code): Allocate a copy of the function’s bytecode,
34591         so that there is no problem if GC moves it.
34592         * src/lisp.h (struct handler): Remove byte_stack member.
34593         All uses removed.
34594         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
34595         SAFE_ALLOCA_LISP.
34596         (SAFE_ALLOCA_LISP): Use it.
34598 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34600         Remove arbitrary limit on bytecode maxdepth
34602         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
34603         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
34605         pipeline is fuller.
34607 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34609         Tune bytecode quitting
34611         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
34612         check only once every 256 times.  This should be good enough, and
34613         improves performance significantly on x86-64 as branch-prediction
34614         typically assumes checking will not be done so the instruction
34615         pipeline stays fuller.
34616         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
34617         directly, as BYTE_CODE_QUIT does that now.
34619 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34621         Simplify BYTE_CODE_SAFE checking
34623         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
34624         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
34625         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
34626         expressions instead of #if expressions when this is easy.
34627         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
34628         as it is no longer needed.
34629         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
34630         Simplify stack-overflow checking when BYTE_CODE_SAFE.
34632 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34634         Get BYTE_CODE_METER working again
34636         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
34637         noticed.  Perhaps we should remove it?
34638         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
34639         Use *aref_addr instead of AREF, since it needs to be an lvalue.
34641 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
34643         Fix cursor position under scroll-conservatively and overlay strings
34645         * src/xdisp.c (try_scrolling): Handle the case where the last
34646         visible screen line of a window displays a before- or after-string
34647         that takes up the whole screen line, and therefore there's no
34648         place to display the cursor, even though the window does seem to
34649         include the position of point.  (Bug#24179)
34651 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
34653         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
34655 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
34657         Tune interpretation of integer arglist descriptor
34659         * src/bytecode.c (exec_byte_code):
34660         Simplify and tune when INTEGERP (args_template).
34662 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
34664         Fix debugging of string-match-p errors
34666         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
34667         that debugger code that needs to do regexp match won't break
34668         (Bug #23949, Bug #24166, Bug#16294).
34670 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
34672         Add `make-nearby-temp-file' and `temporary-file-directory'
34674         * doc/lispref/files.texi (Unique File Names):
34675         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
34676         (Magic File Names): Mention `make-nearby-temp-file' and
34677         `temporary-file-directory'.
34679         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
34680         `temporary-file-directory'.
34682         * lisp/files.el (mounted-file-systems): New defcustom.
34683         (temporary-file-directory, make-nearby-temp-file): New defuns.
34684         (normal-backup-enable-predicate): Fix docstring.
34686         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
34687         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
34688         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
34689         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
34690         <make-nearby-temp-file, temporary-file-directory>: Add handler.
34692         * lisp/net/tramp.el (tramp-file-name-for-operation):
34693         Add `make-nearby-temp-file' and `temporary-file-directory'.
34694         (tramp-get-remote-tmpdir): Remove compatibility code.
34695         (tramp-handle-temporary-file-directory)
34696         (tramp-handle-make-nearby-temp-file): New defuns.
34698         * lisp/org/ob-core.el (org-babel-local-file-name):
34699         * lisp/progmodes/gud.el (gud-common-init):
34700         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
34702         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
34704         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
34705         Check `tramp--test-enabled'.
34706         (tramp-test18-file-attributes): Add tests for
34707         `file-ownership-preserved-p'.
34708         (tramp-test27-start-file-process, tramp-test28-shell-command):
34709         Reduce timeouts in `accept-process-output'.
34710         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
34711         (tramp-test29-environment-variables): Remove additional sleep calls.
34712         (tramp-test32-make-nearby-temp-file): New test.
34713         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
34714         (tramp-test33-special-characters)
34715         (tramp-test33-special-characters-with-stat)
34716         (tramp-test33-special-characters-with-perl)
34717         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
34718         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
34719         (tramp-test34-utf8-with-ls)
34720         (tramp-test35-asynchronous-requests)
34721         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
34722         (tramp--test-ftp-p): Simplify check.
34723         (tramp--test-sh-p): New defun.
34724         (tramp-test20-file-modes, tramp-test22-file-times)
34725         (tramp-test26-process-file, tramp-test27-start-file-process)
34726         (tramp-test28-shell-command)
34727         (tramp-test29-environment-variables)
34728         (tramp-test30-vc-registered)
34729         (tramp-test33-special-characters-with-stat)
34730         (tramp-test33-special-characters-with-perl)
34731         (tramp-test33-special-characters-with-ls)
34732         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
34733         (tramp-test34-utf8-with-ls)
34734         (tramp-test35-asynchronous-requests): Use it.
34736 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
34738         Add missing dcstrings in Tramp, remove chec for obsolee methods
34740         * lisp/net/tramp.el (tramp-progress-reporter-update)
34741         (tramp-unload-file-name-handlers, tramp-get-local-uid)
34742         (tramp-get-local-gid, tramp-get-local-locale):
34743         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
34744         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
34745         * lisp/net/tramp-compat.el (tramp-compat-funcall):
34746         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
34747         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
34748         * lisp/net/tramp-sh.el (tramp-get-remote-path)
34749         (tramp-get-remote-locale, tramp-get-ls-command)
34750         (tramp-get-ls-command-with-dired)
34751         (tramp-get-ls-command-with-quoting-style)
34752         (tramp-get-ls-command-with-w-option)
34753         (tramp-get-test-nt-command, tramp-get-file-exists-command)
34754         (tramp-get-remote-ln, tramp-get-remote-perl)
34755         (tramp-get-remote-stat, tramp-get-remote-readlink)
34756         (tramp-get-remote-trash, tramp-get-remote-touch)
34757         (tramp-get-remote-gvfs-monitor-dir)
34758         (tramp-get-remote-inotifywait, tramp-get-remote-id)
34759         (tramp-get-remote-uid-with-id)
34760         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
34761         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
34762         (tramp-get-remote-gid-with-id)
34763         (tramp-get-remote-gid-with-perl)
34764         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
34765         (tramp-get-env-with-u-option): Add missing docstrings.
34767         * lisp/net/tramp.el (tramp-obsolete-methods)
34768         (tramp-warned-obsolete-methods): Remove.
34769         (tramp-find-method): Do not check for obsolete methods any longer.
34771 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
34773         Make sh-mode always use p-s-lookup-properties
34775         This lets functions which rely on syntax-propertize for parsing
34776         work correctly even before font lock has a chance to run.
34778         * lisp/progmodes/sh-script.el (sh-set-shell): Set
34779         parse-sexp-lookup-properties unconditionally (Bug #4920).
34781 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
34783         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
34785         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
34786         list when showing its (non-existent) arguments (Bug #18587).
34788 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
34790         Don't delete selection after indent-rigidly
34792         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
34793         function to `set-transient-map', this prevents `delete-selection-mode'
34794         from deleting the text that was just indented (Bug #20408).
34796 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
34798         Fix byte-compile of interactive closures
34800         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
34801         bindings after docstring and `interactive' form, if any (Bug #24122).
34803 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
34805         Error if --eval arg has text beyond 1 expression
34807         * lisp/startup.el (command-line-1): If --eval argument has more data
34808         than constitutes a single Lisp expression, signal an error (Bug #23159).
34810 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
34812         Fix quoted lambda warning from lexical-let
34814         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
34815         with `function', not `quote' (Bug #11357).
34817 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
34819         Make emerge always use shell-quote-argument
34821         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
34822         (emerge-protect-metachars): Delete.
34823         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
34824         `emerge-protect-metachars' with `shell-quote-argument' so that shell
34825         quoting is done the same on all system types (Bug #6136).  Also shell
34826         quote `emerge-diff-program' and `emerge-diff3-program'.
34828 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
34830         Fix 'dired-diff' when backup file is in another directory
34832         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
34833         the default for FILE is computed, especially when backup files
34834         are involved.  Support backup files in another directory.
34835         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
34837 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
34839         Fix the 'T' command in Dired with non_ASCII file names
34841         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
34842         to correctly encode file names passed to the invoked PROGRAM.
34843         (Bug#24162)
34845 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
34847         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
34849 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34851         Merge from origin/emacs-25
34853         d841a03 ; Spelling fix
34854         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
34855         d35d398 Update to the AUTHORS file for Bob Weiner
34856         4d2f4df Revert "Fix local printer set to left aligned string formatter."
34857         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
34858         f7ceb8e Revert "Fix English."
34859         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
34860         aa4271a Fix doc string of 'minibuffer-message-timeout'
34861         b275cc7 Fix English.
34862         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
34863         272391f profiler: document prefix arg for tree expansion
34864         442cc39 Clarify usage of eshell-visual-options
34865         b443c3c Fix comment in files-in-below-directory
34866         8a38e94 Fix local printer set to left aligned string formatter.
34867         0f0b191 ; Fix typos in NEWS
34868         6bdf687 ; * etc/NEWS: Remove temporary marks
34870 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34872         Merge from origin/emacs-25
34874         d08afa1 * etc/AUTHORS: Update the AUTHORS file
34875         2668500 ;; * ChangeLog.2: ChangeLog update.
34876         7acfaea ; ChangeLog fixes
34877         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
34878         9ab52f6 * admin/authors.el: Additions.
34879         0e646c7 Warn about Cairo-related problems
34880         bc4c07f Don't let completion break `declare' handling
34881         66f95e0 Adjust match data before calling after-change-funs
34882         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
34883         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
34885         # Conflicts:
34886         #       ChangeLog.2
34887         #       src/lisp.h
34889 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34891         Merge from origin/emacs-25
34893         9a41cd1 ; Fix typo
34894         9356fe2 Expand FIXME near definition of fboundp
34895         219b39f kill-rectangle should mention killed-rectangle
34896         59fa4c3 Avoid assertion violations in nhexl-mode
34898 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34900         Merge from origin/emacs-25
34902         9ba51ed Document buffer-swap-text+save-excursion interaction
34903         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
34904         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
34905         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
34906         05ba7a0 Add test for handling environment variables in Tramp
34907         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
34908         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
34909         90f2169 ; Spelling fixes
34910         069fc05 Improve documentation of search functions
34911         0a0144a Delete environment variables in Tramp when needed
34912         f624671 Add "New in Emacs 25" section to the FAQ
34913         658daf9 Fix 'vertical-motion' in non-interactive sessions
34914         686b520 Fix memory leak in imagemagick-types
34915         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
34916         1b2d6a6 Clarify docstring of find-feature-regexp
34917         aac62a6 Add details to cl-lib defining macros' docstrings
34918         d6aa4da Clarify doc string of 'save-buffer'
34919         03bcf11 Un-confuse doc string of 'string-collate-equalp'
34920         c53135b Clarify documentation of 'mouse-on-link-p'
34922         # Conflicts:
34923         #       lisp/emacs-lisp/eieio-core.el
34925 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34927         Merge from origin/emacs-25
34929         6f285d9 Amend last addition to etc/PROBLEMS
34930         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
34932 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34934         Merge from origin/emacs-25
34936         d4c6774 Fix missing point information in undo
34937         3a9d629 Avoid crashes when buffer modification hooks clobber match data
34938         178b2f5 Note combine-and-quote-strings doesn't shell quote
34939         dec7567 Explain when package-initialize isn't called
34940         113d1e2 Fix escaping in sh-indent-after-continuation docstr
34941         80e2044 ; * etc/NEWS: Improve previous change.
34942         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
34943         38f4b8e Clarify the documentation of back-references in replacements
34945 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34947         Merge from origin/emacs-25
34949         850ba44 Clarify lexical binding with symbol args behavior
34950         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
34951         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
34952         21110af Avoid assertion violations when rendering some fonts
34953         6192b6c Document more details of package activation
34954         272ddc6 Fixup warning message regarding HOME a bit more
34955         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
34956         d41f7ff Fix input method "probhat" for Bengali
34957         c150a64 ; Fix typo in commit before last
34958         ebf0472 Add to elisp-completion-at-point's docstring
34959         fd9fad0 Give more helpful warning about setting HOME
34960         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
34962         # Conflicts:
34963         #       lisp/term.el
34965 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34967         Merge from origin/emacs-25
34969         26d4da0 New input method "probhat" for Bengali
34970         4f445bf ; Spelling fix
34971         f403f03 ; Fix typo
34973 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
34975         Spelling and minor grammar fixes
34977         * test/file-organization.org: Rename from test/file-organisation.org.
34979 2016-08-04  Alan Mackenzie  <acm@muc.de>
34981         Widen in certain low level CC Mode functions.  This fixes bug #24148.
34983         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
34984         (c-state-full-pp-to-literal): Widen around the functionality.
34985         (c-parse-ps-state-below): Correct the order of save-excursion and
34986         save-restriction.
34988 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
34990         Fix Bug#24149
34992         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
34993         overriding-terminal-local-map.  (Bug#24149)
34995 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
34997         Update from gnulib
34999         This incorporates:
35000         2016-07-03 mktime: call tzset as per POSIX
35001         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
35002         Copy from gnulib.
35004 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35006         Fix GnuTLS includes
35008         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
35009         a second time; although it doesn’t hurt, it’s not needed.
35010         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
35011         as it may not be available.  Problem reported by Glenn Morris in:
35012         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00100.html
35014 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
35016         Fix accessing regex-resources in out-of-tree test runs in regex-tests
35018         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
35019         fix regex-tests failing when run from the source tree (i.e. via make)
35020         by hard-coding path to regex-resources directory relative to the test
35021         directory.
35023         This fixed runs from the tree but broke the test when run using other
35024         methods.
35026         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
35028         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
35029         storing path to the regex-resources directory.
35030         (regex-tests-generic-line): Use aforementioned variable.
35032 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35034         Simplify by assuming GnuTLS 2.12.2 or later
35036         * src/gnutls.c (gnutls_certificate_details):
35037         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
35039 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35041         Port to systems lacking GNUTLS_NONBLOCK
35043         Problem reported by Colin Baxter in:
35044         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00096.html
35045         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
35047 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35049         Fix non-blocking GnuTLS with slow connection
35051         Although the problem is reported for OS X (Bug#23982), it seems to
35052         be possible on other POSIXish platforms.
35053         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
35054         New function.
35055         (emacs_gnutls_handshake) [!WINDOWSNT]:
35056         Use it as the errno function, if non-blocking.
35057         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
35059 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35061         Require GnuTLS 2.12.2 or later
35063         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
35064         instead of merely 2.6.6 or later (Bug#23982#20).
35065         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
35066         [WINDOWSNT]: Don’t bother with gnutls_check_version or
35067         gnutls_transport_set_lowat, as they are no longer needed now that
35068         we require gnutls 2.12.2 or later.
35070 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35072         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
35074         * src/window.h (sanitize_window_sizes): Adjust prototype.
35075         * src/frame.c (adjust_frame_size): Adjust calls.
35077 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35079         Fix (mapcar F S) crash when F alters S’s length
35081         * src/fns.c (mapcar1): Return number of elements computed,
35082         which can be less than LENI if the function alters the list.
35083         All callers changed.  (Bug#24118)
35085 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35087         Port window changes to --enable-gcc-warnings
35089         * src/window.c (sanitize_window_sizes): Return void.
35090         This pacifies GCC, and no caller uses the return value anyway.
35092 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35094         * src/window.c: Fix bootstrap failure due to window.el changes
35096         (sanitize_window_sizes): Adjust to new calling convention of
35097         window--sanitize-window-sizes and only call it if defined.
35098         (Fwindow__sanitize_window_sizes): Remove.
35099         (syms_of_window): Don't defsubr it.
35101 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
35103         Fix Bug#23883
35105         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
35106         Call `process-actions' with adapted position.  The connection
35107         buffer might have been cleaned up already.  (Bug#23883)
35109 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35111         Port regex changes to strict ISO C
35113         * src/regex.c (regex_compile): Redo casts.
35115 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35117         * lisp/window.el: Use lexical-binding
35119         (window--min-size-ignore-p): Remove unused arg `horizontal'.
35120         (window--sanitize-window-sizes): Remove unused arg `frame'.
35121         (window-edges): Remove unused vars left-off and right-off.
35122         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
35123         Avoid extraneous setq and do a bit of CSE.
35124         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
35125         and `toolbar-extra-height'.
35126         (window-adjust-process-window-size): Remove unused arg `process'.
35128 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35130         Fix unused lexical variable
35132         This fixes the following warning:
35134             In toplevel form:
35135             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
35137         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
35138         variable.
35140 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35142         Remove unused STREQ macro
35144         This fixes the following compilation warning:
35146             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
35147              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
35148              ^
35150         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
35151         in a [4538a5e: Refactor regex character class parsing in [:name:]]
35152         commit but was mistakenly left out.
35154 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35156         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
35157         load-history format
35159         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
35160         (cl-generic-define-method, cl--generic-describe): Use it.
35161         (cl--generic-search-method): Adjust for new format.
35163         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
35164         * test/lisp/progmodes/elisp-mode-tests.el:
35165         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
35166         internal format.
35168 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35170         Hardcode regex syntax to remove dead code handling different syntax
35172         Emacs only ever uses its own regex syntax so support for other syntaxes
35173         is never used.  Hardcode the syntax so that the compilar can detect such
35174         dead code and remove it from compiled code.
35176         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
35177         specified.  Handle this separatelly with a function argument (replacing
35178         now unnecessary syntax argument).
35180         With this patchset, size of Emacs binary on x86_64 machine is reduced by
35181         around 60 kB:
35183                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
35184                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
35186         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
35187         (re_compile_pattern): Replace syntax with posix_backtracking argument.
35189         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
35190         (regex_compile): #ifdef emacs, replace syntax argument with
35191         posix_backtracking which is now used instead of testing for
35192         RE_NO_POSIX_BACKTRACKING syntax.
35193         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
35194         (re_compile_pattern): Replace syntax with posix_backtracking argument.
35196         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
35197         instead of syntax to re_compile_pattern.
35199 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35201         Get rid of re_set_whitespace_regexp
35203         * src/regex.h (re_set_whitespace_regexp): Delete.
35204         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
35206         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
35207         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
35208         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
35209         unless building Emacs.
35210         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
35212         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
35213         pass the regex as argument to re_compile_pattern instead.
35215 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35217         Get rid of re_set_syntax
35219         Instead of using a global variable for storing regex syntax, pass it
35220         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
35221         ‘#ifdef emacs’).
35223         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
35224         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
35226         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
35227         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
35229         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
35230         instead pass syntax to re_compile_pattern directly.
35232 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35234         Remove dead opcodes in regex bytecode
35236         There is no way to specify before_dot and after_dot opcodes in a regex
35237         so code handling those ends up being dead.  Remove it.
35239         * src/regex.c (print_partial_compiled_pattern, regex_compile,
35240         analyze_first, re_match_2_internal): Remove handling and references to
35241         before_dot and after_dot opcodes.
35243 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35245         Refactor regex character class parsing in [:name:]
35247         re_wctype function is used in three separate places and in all of
35248         those places almost exact code extracting the name from [:name:]
35249         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
35250         string, so the name of the character class is copied to a temporary
35251         buffer.
35253         The code duplication and unnecessary memory copying can be avoided by
35254         pushing the responsibility of parsing the whole [:name:] sequence to
35255         the function.
35257         Furthermore, since now the function has access to the length of the
35258         character class name (since it’s doing the parsing), it can take
35259         advantage of that information in skipping some string comparisons and
35260         using a constant-length memcmp instead of strcmp which needs to take
35261         care of NUL bytes.
35263         * src/regex.c (re_wctype): Delete function.  Replace it with:
35264         (re_wctype_parse): New function which parses a whole [:name:] string
35265         and returns a RECC_* constant or -1 if the string is not of [:name:]
35266         format.
35267         (regex_compile): Use re_wctype_parse.
35268         * src/syntax.c (skip_chars): Use re_wctype_parse.
35270 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35272         Split regex glibc test cases into separet tests
35274         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
35275         tests cases.
35276         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
35277         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
35278         from ‘regex-tests’.
35280 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35282         Don’t (require 'cl)
35284         * test/src/regex-tests.el: Don’t (require 'cl).
35285         (regex-tests-PCRE): s/loop/cl-loop/
35287 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35289         Fix reading of regex-resources in regex-tests
35291         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
35292         ‘buffer-file-name’ does not work when running the test from command
35293         line, i.e. via make, which results in (wrong-type-argument stringp nil)
35294         failures.  Replace it with hard-coded path.
35295         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
35296         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
35297         the ‘regex-resources’ path component so the tests don’t need to specify
35298         it explicitly.
35300 2016-08-02  Dima Kogan  <dima@secretsauce.net>
35302         Added driver for the regex tests
35304         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
35305         cases.
35307         [mina86@mina86.com: merged test with existing file]
35309 2016-08-02  Dima Kogan  <dima@secretsauce.net>
35311         New regex tests imported from glibc 2.21
35313         * test/src/regex-resources/BOOST.tests:
35314         * test/src/regex-resources/PCRE.tests:
35315         * test/src/regex-resources/PTESTS:
35316         * test/src/regex-resources/TESTS:
35317         New test data files
35319         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
35321 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35323         Fix use-after-close in connect_network_socket
35325         * src/process.c (connect_network_socket):
35326         Reverse sense of previous fix.  Problem reported by Ken Brown in:
35327         https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00004.html
35329 2016-08-01  Glenn Morris  <rgm@gnu.org>
35331         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
35332         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
35334 2016-07-31  Stefan Merten  <stefan@merten-home.de>
35336         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
35338         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
35339         representing reStructuredText section header concepts.
35340         (rst-mode-map, rst-new-preferred-hdr)
35341         (rst-update-section, rst-classify-adornment)
35342         (rst-ttl-at-point, rst-all-ttls-cache)
35343         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
35344         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
35345         (rst-all-ttls-with-level, rst-get-previous-hdr)
35346         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
35347         (rst-adjust-section, rst-promote-region)
35348         (rst-display-hdr-hierarchy, rst-straighten-sections)
35349         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
35350         (rst-toc-insert-node, rst-toc-node, rst-toc)
35351         (rst-forward-section, rst-adornment-level)
35352         (rst-font-lock-handle-adornment-pre-match-form)
35353         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
35354         using classes.
35355         (rst-compare-adornments, rst-get-adornment-match): Remove
35356         functions now in classes.
35357         (rst-re-alist-def, rst-toc-mode)
35358         (rst-font-lock-extend-region-extend): Minor improvements.
35359         (rst-mode, rst-compile): Use `setq-local'.
35360         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
35361         (rst-official-version, rst-official-cvs-rev)
35362         (rst-package-emacs-version-alist): Maintain version tags.
35364 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
35366         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
35368         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
35369         bar width (Bug#24107).  Reindent.
35370         * src/xfns.c (frame_geometry): Fix calculation of tool bar
35371         width on non-GTK builds.
35373 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
35375         Fix region display while dragging mouse
35377         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
35378         buffer of the drag event, to allow mark to be set and the region
35379         be shown as we drag the mouse.  (Bug#24030)
35381 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
35383         Copy just non-empty strings to kill-ring
35385         * lisp/dired.el (dired-copy-filename-as-kill):
35386         Do not change the kill ring when the string is empty (Bug#24103).
35388 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
35390         Avoid warnings about undo list while decoding
35392         * src/coding.c (coding_restore_undo_list): New function.
35393         (decode_coding_gap, decode_coding_object): Temporarily set the
35394         buffer's undo list to t, to avoid warnings when decoding changes
35395         the buffer many times, e.g. due to post-read-conversion.  Use
35396         coding_restore_undo_list to make sure the undo list is restored.
35397         (Bug#23813)
35399 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
35401         profiler: Add mouse-1 binding for tree expansion
35403         (profiler-report-mode-map): Add mouse-1 binding for
35404         profiler-report-toggle-entry (Bug #13455).
35406 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
35408         Enable addition of local printers from a mode hook.
35410         * doc/misc/ses.texi (Printer functions): Split the node into 5
35411         sub-nodes + add some extra documentation.
35412         (Various kinds of printer functions): Make an itemisation to
35413         disintguish better the 3 types of printers, give an example of
35414         lambda printer definition.
35415         (Standard printer functions): Add documentation for ses-prin1
35416         printer function.
35417         (Local printer functions): Add documentation for creating
35418         local printers programmatically from a hook.
35419         (Writing a lambda printer function): Add documentation about
35420         anti-stackoverflow precautions to take when you call the
35421         standard printer functions from inside a local printer.
35423         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
35424         among standard printer function, and update docstring
35425         accordingly.
35426         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
35427         of prin1-to-string.
35428         (ses-define-local-printer): Add definition to arguments so
35429         that a local printer can be defined programmatically from a
35430         mode hook.  Make docstring more substantial.  Use completing
35431         read for local printer name input.  Plus some minor
35432         optimization.
35433         (ses-define-if-new-local-printer): New defsubst.
35434         (ses-center, ses-center-span, ses-dashfill)
35435         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
35436         as an optional argument to superseed column printer/default
35437         spreadsheet printer.
35438         (ses-prin1): New defun.
35440 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
35442         Prompt to save gnus-cloud-method.
35444         Since `gnus-cloud-method' is a defcustom, when it's set, we should
35445         prompt the user to save it, so the customization is not lost on
35446         restart.
35448         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
35449         Prompt to save the customization of `gnus-cloud-method'.
35451 2016-07-27  Ken Brown  <kbrown@cornell.edu>
35453         Fix dired-test-bug22694
35455         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
35456         "bug22694" directory, if it exists, before running the test.  It
35457         might be left over from a previous aborted run of the test.
35459 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
35461         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
35463         * src/regex.c (mutually_exclusive_p): Fix how whether character is
35464         unibyte is tested when calling execute_charset function.  This bug has
35465         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
35466         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
35467         Reinstitute it.
35469 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
35471         Remove hook when disabling ibuffer-auto-mode
35473         * lisp/ibuf-ext.el (ibuffer-auto-mode):
35474         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
35476 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
35478         * lisp/subr.el (cancel-change-group): Reset cell in case of error
35480         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
35481         to make sure we properly undo the temporary change even in case of error.
35483 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
35485         Avoid segfaults in compute_motion
35487         * src/indent.c (compute_motion): Don't turn on and don't use the
35488         width cache unless the buffer's width-table is non-nil.  This
35489         avoids segfaults because code that uses the width cache assumes
35490         the width-table exists.  (Bug#24064)
35492 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
35494         Do not sharp-quote lambdas
35496         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
35498 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
35500         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
35501         'base64-gzip encoding.
35503 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
35505         Add warning to format-alist docs.
35507         */doc/lispref/files.texi (format-alist) Change documentation for
35508         format-alist to warn against file modifications when formatting, which
35509         leads to incorrect results.  (Bug#5440)
35511         Changes suggested by Eli.
35513 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
35515         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
35516         Preserve key bindings that shr adds (bug#23964).
35518 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
35520         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
35522         The regex engine tries to optimise Kleene star by avoiding backtracking
35523         when it can detect that star’s operand cannot match what follows it in
35524         the pattern.
35526         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
35527         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
35528         the entire string.  Literal digit one still present in the pattern will
35529         however not match the remaining empty string.
35531         Normally, backtracking would be performed trying a shorter match for the
35532         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
35533         engine knows whatever would be put back into the string cannot possibly
35534         match literal digit one so no backtracking will be attempted.
35536         In the regexes of the form ‘[[:CC:]]*X’, the optimisation can be applied
35537         if the character class CC does not match character X.  In the above
35538         example, this holds because digit one is not in alpha character class.
35540         This test is performed by mutually_exclusive_p function but it did not
35541         check class bits of a charset opcode.  This resulted in an assumption
35542         that character classes do not match multibyte characters.  For example,
35543         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
35545         This, in turn, led to the aforementioned Kleene star optimisation being
35546         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
35547         match ‘☠’ but doesn’t as can be tested by executing
35548             (string-match-p "[[:graph:]]*☠" "☠")
35549         which should return 0 but instead yields nil.
35551         This issue affects any class witch matches multibyte characters, i.e.
35552         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
35553         fail to match ‘X’.
35555         * src/regex.c (executing_charset): A new function for executing the
35556         charset and charset_not opcodes.  It performs check on the character
35557         taking into consideration existing bitmap, range table and class bits.
35558         It also advances the pointer in the regex bytecode past the parsed
35559         opcode.
35560         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
35561         Code now included in executing_charset.
35562         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
35563         of executing_charset function.
35565         * test/src/regex-tests.el: New file with tests for the character class
35566         matching.
35568 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
35570         Fix auto-reverting image-mode buffer (bug#21598)
35572         When auto-reverting an image buffer, `image-mode' is not called since
35573         `revert-buffer' is called with `preserve-modes' set to non-nil.
35575         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
35576         image display property for the current buffer before updating it.
35578 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
35580         ‘signal’ no longer returns
35582         Although for decades ‘signal’ has been documented to not return,
35583         a corner case in the Lisp debugger causes ‘signal’ to return.
35584         Remove the corner case and adjust Emacs internals accordingly.
35585         An alternative would be to document the corner case, but this
35586         would complicate the Lisp API unnecessarily.  (Bug#24047)
35587         * src/eval.c (signal_or_quit): New function, with most of the
35588         old contents of Fsignal.
35589         (quit): New function, which uses signal_or_quit and which
35590         might return.  All keyboard-based callers of Fsignal (Qquit,
35591         Qnil) changed to use this new function instead.
35592         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
35593         changed.
35594         (xsignal): Move to lisp.h.
35595         * src/lisp.h (xsignal): Now an inline function, as it's now
35596         just an alias for Fsignal.
35598 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
35600         Require libgnutls unless --with-gnutls=no
35602         * configure.ac: Report an error if the gnutls library is missing,
35603         unless --with-gnutls=no is specified.
35605 2016-07-23  Alan Mackenzie  <acm@muc.de>
35607         Fontify C++ parameter packs.
35609         This fixes debbugs #23610.
35611         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
35612         c-lang-defconsts/defvars.
35613         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
35615         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
35617 2016-07-23  Alan Mackenzie  <acm@muc.de>
35619         Java Mode: Handle strings as case labels correctly.
35621         This fixes debbugs #23901.
35623         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
35624         Java value.
35626 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
35628         Avoid repeated warnings while restoring desktop
35630         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
35631         when files are being opened during desktop restore.
35633 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
35635         Fix compilation warning in the MinGW build
35637         * nt/inc/ms-w32.h: Include stdint.h.
35638         (_execvp, execve): Provide prototypes.
35640         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
35641         it is now in nt/inc/ms-w32.h.
35642         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
35643         mismatch.
35644         (sys_ctime): Remove, not used.
35646 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
35648         Move read-multiple-choice to subr-x.el
35650         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
35652         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
35653         from subr.el.
35655         * lisp/gnus/message.el (subr-x): Ditto.
35657         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
35659         read-multiple-choice doesn't need to be in the dumped Emacs, so move
35660         it to a less central file.
35662 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
35664         Update define-ibuffer-op doc string
35666         * lisp/ibuf-macs.el (define-ibuffer-op):
35667         Mention that BODY is evaluated with 'buf' bound to the actual
35668         marked buffer being processed.
35670 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
35672         Update define-ibuffer-op doc string
35674         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
35675         instead of refer the reader to the source code.
35676         Document arg BODY.
35678 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
35680         Fix shell-command[-on-region] doc strings
35682         * lisp/simple.el (shell-command, shell-command-on-region):
35683         Drop the sentence saying that the command may delete the buffer
35684         '*Shell Command Output*': the command never delete such
35685         buffer (Bug#23936).
35687 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
35689         ;Revert ";Partially revert 2649105a"
35691         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
35693 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
35695         ;Partially revert 2649105a
35697         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
35698         setq-local to modify prettify-symbols-compose-predicate.
35700 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
35702         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
35704         (struct byte_stack): Re-add `bottom'.
35705         (exec_byte_code): Initialize it.
35707 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
35709         Ibuffer: Use default output buffer for shell commands
35711         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
35712         '*Shell Command Output*', as command 'shell-command-file'.
35714 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
35716         Fix failing test
35718         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
35719         Enable Font Lock mode in order to initialize
35720         'char-property-alias-alist' (Bug#23954).
35722 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
35724         Fix use-after-close in connect_network_socket
35726         * src/process.c (connect_network_socket): Don’t use
35727         external_sock_fd after closing it.  Problem found by Coverity Scan.
35729 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
35731         * lisp/net/shr.el (shr-fill-line):
35732         Preserve text properties in folded lines (bug#24034).
35734 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
35736         Fix lifetime bug in tzlookup
35738         * src/editfns.c (tzlookup): Fix storage lifetime bug when
35739         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
35741 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
35743         Fix shr.el/image build problem
35745         (Bug#24035)
35747         * lisp/net/shr.el: Require image, since some builds seem to
35748         break without it (bug#24035).
35750 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
35752         Bring the Gnus Cloud package into working order.
35754         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
35756         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
35757         simplify non-file data.
35758         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
35759         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
35760         EPG if that's available, Base64+gzip otherwise.
35761         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
35762         interactive, defaults to enabled.
35763         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
35764         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
35765         "Version".
35766         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
35767         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
35768         storage methods as per gnus-cloud-storage-method.
35769         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
35770         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
35771         entries.
35772         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
35773         file and data handlers.
35774         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
35775         entries.
35776         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
35777         be more careful.
35778         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
35779         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
35780         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
35781         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
35782         (gnus-cloud-prune-old-chunks): Fix indentation.
35783         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
35784         timestamp.
35785         (gnus-cloud-file-new-p): Use it.
35786         (gnus-cloud-upload-all-data): Add interactive convenience function to
35787         upload all data.
35788         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
35789         data separately; refresh Gnus Cloud group after insert.
35790         (gnus-cloud-download-all-data): Add interactive convenience function to
35791         download all data.
35792         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
35793         marker and different storage methods.
35794         (gnus-cloud-host-server-p): New function to check if a server is the
35795         Gnus Cloud host.
35796         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
35797         (gnus-cloud-host-acceptable-method-p): New function so
35798         other code can check if a server method can host the Gnus cloud.
35799         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
35800         (gnus-cloud-method): Make this a defcustom and note how to set it.
35802         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
35803         keybindings under the `~' prefix.
35805         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
35806         (gnus-server-cloud, gnus-server-cloud-host)
35807         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
35808         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
35809         synchronized servers and synchronization host server toggling (`i' and
35810         `I') and visual display.
35811         (gnus-server-toggle-cloud-method-server): Use
35812         gnus-cloud-host-acceptable-method-p.
35813         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
35814         set the gnus-cloud-method. Ask the user if it's OK to upload the data
35815         right now.
35817         * doc/misc/gnus.texi: Document Gnus Cloud package.
35819 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
35821         Remove CHECK_FRAME_FONT cruft from bytecode.c
35823         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
35824         Remove some old ‘#if 0’ code.
35826 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
35828         Work around GCC bug 54561 in a better way
35830         The new approach is less selective, but also less intrusive on C code.
35831         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
35832         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
35834 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
35836         Fix port to glibc 2.24 (pre-release) + ppc64
35838         * src/callproc.c (child_setup): Use emacs_exec_file
35839         so that ASLR is enabled in the child process.
35840         * src/emacs.c: Move some personality details into sys/sysdep.c.
35841         Do not include <sys/personality.h>.
35842         (main): Disable ASLR earlier, so that we don’t chdir twice.
35843         * src/lisp.h (disable_address_randomization): New decl.
35844         * src/sysdep.c (disable_address_randomization)
35845         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
35846         here from emacs.c.
35847         (emacs_exec_file): New function.
35849 2016-07-19  Alan Third  <alan@idiocy.org>
35851         Prevent bar cursor overwriting next glyph (bug#16856)
35853         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
35854         before setting final size.
35856 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
35858         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
35860         * src/insdel.c (adjust_markers_bytepos): New function.
35861         * src/lisp.h (adjust_markers_bytepos): Add prototype.
35862         * src/insdel.c (replace_range, replace_range_2):
35863         * src/editfns.c (Ftranspose_regions): Call
35864         adjust_markers_bytepos.  (Bug#5131)
35866         * test/src/editfns-tests.el (transpose-test-reverse-word)
35867         (transpose-test-get-byte-positions): New functions.
35868         (transpose-ascii-regions-test)
35869         (transpose-nonascii-regions-test-1)
35870         (transpose-nonascii-regions-test-2): New tests.
35872 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
35874         Make gif animation work (bug#24004)
35876         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
35877         an animation is too big (bug#24004).
35879 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
35881         * lisp/simple.el (undo-amalgamate-change-group): New function
35883         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
35884         (viper-set-complex-command-for-undo): Save current state with
35885         prepare-change-group.
35886         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
35887         (viper-buffer-undo-list-mark): Remove.
35889 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
35891         Keep w32 environment settings internal only
35893         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
35894         set_initial_environment call.  This prevents Emacs' modifications to the
35895         environment from contaminating Vprocess_environment and
35896         Vinitial_environment (Bug #10980).
35897         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
35898         environment in as a fallback to Vprocess_environment.
35899         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
35901 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
35903         Better documentation for cl-reduce (bug#24014)
35905         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
35907 2016-07-17  Alan Third  <alan@idiocy.org>
35909         Remove separate pool for popup dialogs (bug#23856)
35911         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
35912         autorelease pool and Popdown_data struct.
35914 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
35916         Use eldoc-documentation-functions
35918         * lisp/hexl.el (hexl-mode):
35919         * lisp/ielm.el (inferior-emacs-lisp-mode):
35920         * lisp/progmodes/cfengine.el (cfengine3-mode):
35921         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
35922         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
35923         * lisp/progmodes/python.el (python-mode):
35924         * lisp/simple.el (read--expression): Add buffer-locally to hook
35925         eldoc-documentation-functions.
35927 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
35929         Optimize ucs-normalize.el compilation
35931         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
35932         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
35933         regexp-opt.
35934         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
35935         temp buffer for the whole loop.
35937 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
35939         Add tests for ucs-normalize.el
35941         Some tests are marked as expected to fail.
35943         * test/lisp/international/ucs-normalize-tests.el: New tests.
35944         * admin/unidata/NormalizationTest.txt: Add data for tests.
35945         * admin/unidata/README: Add URL for NormalizationTest.txt.
35946         * admin/notes/unicode: Add note about running (and updating the data
35947         for) the new tests.  Remove note about normalization being unsupported.
35949 2016-07-16  Alan Third  <alan@idiocy.org>
35951         Fix cursor display (bug#23993)
35953         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
35955 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35957         Stop worrying about Alliant in bytecode.c
35959         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
35961 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35963         Remove BYTE_MAINTAIN_TOP
35965         It is no longer needed now that we assume GC_MARK_STACK ==
35966         GC_MAKE_GCPROS_NOOPS.
35967         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
35968         All uses removed, and code simplified accordingly.
35969         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
35970         are always no-ops now.  All uses removed.
35971         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
35972         since it is now equivalent.
35974 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35976         Remove now-inaccurate bytecode comments
35978         * src/bytecode.c: Remove comments that are no longer accurate.
35979         Most of these are actually old ChangeLog entries.
35981 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35983         Port to glibc 2.24 (pre-release) + ppc64
35985         Inspired by a suggestion by Florian Weimer in:
35986         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
35987         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
35988         Rename from HAVE_PERSONALITY_LINUX32, and check for
35989         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
35990         All uses changed.
35991         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
35992         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
35993         flag ourselves.  Just set that flag, rather than also setting the
35994         persona.  When doing it, avoid functions like putenv that may
35995         allocate memory.
35997 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
35999         Revert "Add a couple cells to lisp-prettify-symbols-alist"
36001         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
36003 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
36005         * lisp/simple.el (shell-command): Add save-match-data comment
36007 2016-07-14  Alan Mackenzie  <acm@muc.de>
36009         CC Mode: correct incorrect invocation of parse-partial-sexp.
36011         Fixes bug #23944.
36013         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
36014         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
36016 2016-07-14  Andreas Schwab  <schwab@suse.de>
36018         Fix configure summary for hybrid malloc configurations
36020         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
36021         parenthesize value of GNU_MALLOC_reason.
36023 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
36025         Fix delete-duplicate-lines
36027         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
36028         first line when operating backward (bug#23863).
36030 2016-07-14  Andreas Schwab  <schwab@suse.de>
36032         Remove unused SHEAP_OBJ
36034         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
36036 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
36038         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
36039         Use shr-image-map instead of shr-map (bug#23964).
36041 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
36043         * lisp/mouse.el (mouse): Consolidate group definition here
36045         * lisp/cus-edit.el (mouse): Remove both group definitions.
36047 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
36049         Include versioned preloaded libraries in `package--builtin-versions'
36051         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
36052         exclude preloaded libraries or remove entries generated for them.
36053         (autoload-generate-file-autoloads): Do not generate autoload
36054         statements for preloaded libraries.
36056 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36058         Omit unnecessary #includes from xwidget.c
36060         * src/xwidget.c: Remove #include directives that are not needed.
36061         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
36062         file is compiled only if the X interface is available.
36064 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36066         Port xwidget.c to GCC 6 with --enable-gcc-warnings
36068         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
36069         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
36070         possible bugs found by GCC.
36072 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
36074         Escape meta chars in commands processed by shell
36076         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
36077         in all commands to be passed to a shell (Bug#23959).
36079 2016-07-12  John Wiegley  <johnw@newartisans.com>
36081         Revert "Cleanup tooltips"
36083         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
36085         I am reverting this change because it was applied without prior discussion
36086         on emacs-devel, and has been found to break the NS port.  It needs more
36087         testing and review before it should be applied here.
36089 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
36091         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
36093         (cl-prog, cl-prog*): New macros.
36095 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
36097         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
36099         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
36100         (cl--generic-make-defmethod-docstring): New function for that.
36101         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
36102         (cl-generic-define-method, cl--generic-describe): Change `load-history'
36103         format of cl-defmethods, so as not to confused methods with equal
36104         specializers but different qualifiers.
36105         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
36107 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
36109         Don't install keyboard hook when debugged on MS-Windows
36111         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
36112         hook if we are being debugged.  This avoids hosing the debugger,
36113         because the hook is global, and is called in the context of the
36114         thread which installed it, and that thread is stopped when GDB has
36115         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
36117 2016-07-12  Alan Mackenzie  <acm@muc.de>
36119         Amend CC Mode to handle big C++ raw strings correctly.
36121         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
36122         in the +-500 bytes boundaries imposed for macros.
36124         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
36125         macro boundaries here.
36126         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
36127         lower boundary.  Fix the check on the upper boundary.
36129         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
36130         point already being within a raw string.
36132         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
36133         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
36134         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
36135         with other Emacsen.
36137 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
36139         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
36141 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
36143         Cleanup tooltips
36145         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
36146         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
36147         (FRAME_TOOLTIP_P): New macro.
36148         * src/frame.c (make_frame): Mark new frame as regular frame by default.
36149         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
36150         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
36151         and 'Qtooltip_parameters' instead.
36152         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
36153         * src/gtkutil.c (xg_hide_tip): New function.
36154         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
36155         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
36156         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
36157         * src/w32fns.c (unwind_create_tip_frame): Remove.
36158         (w32_display_monitor_attributes_list)
36159         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
36160         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
36161         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
36162         as a tooltip frame and record it using appropriate display info.
36163         (x_hide_tooltip): Add frame arg.
36164         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
36165         base frame parameters, store tooltip hide timer among tooltip frame
36166         parameters.
36167         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
36168         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
36169         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
36170         * src/w32term.c (w32_read_socket): Extract tooltip window id from
36171         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
36172         (x_new_font): Use FRAME_TOOLTIP_P.
36173         (x_free_frame_resources): Reset pointer to tooltip frame.
36174         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
36175         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
36176         Use FRAME_TOOLTIP_P.
36177         * src/xfns.c (x_make_monitor_attribute_list)
36178         (Fx_display_monitor_attributes_list): Likewise.
36179         (unwind_create_tip_frame): Remove.
36180         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
36181         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
36182         as a tooltip frame and record it using appropriate display info.
36183         (x_hide_tooltip): Add frame arg.
36184         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
36185         base frame parameters, store tooltip hide timer among tooltip frame
36186         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
36187         event loop.
36188         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
36189         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
36190         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
36191         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
36192         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
36193         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
36194         (x_free_frame_resources): Reset pointer to tooltip frame.
36195         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
36196         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
36198 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
36200         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
36202 2016-07-11  Mario Lang  <mlang@delysid.org>
36204         Test mapcan
36206         * test/src/fns-tests.el (fns-tests-mapcan): New test.
36208 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
36210         Prevent to apply funcall on t
36212         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
36213         'ediff-after-quit-hook-internal' hook (Bug#23933).
36215 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
36217         Ignore angle mode while simplifying units
36219         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
36220         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
36221         is non-nil (Bug#23889).
36222         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
36223         (math-from-radians-2, math-to-radians-2): Idem.
36225 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
36227         Fix display of composed characters
36229         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
36230         iteration through composition glyphs.  (Bug#23938)
36232 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
36234         Fix composition bug caused by off-by-1 typo
36236         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
36237         computing composition glyph (Bug#23938).
36239 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
36241         Dired always read file system
36243         * lisp/dired.el (dired-always-read-filesystem): Add new option.
36244         (dired-mark-files-containing-regexp): Use it (Bug#22694).
36245         * doc/emacs/dired.texi: Mention it in the manual.
36246         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
36247         ;* etc/NEWS: Add entry for this change.
36249 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36251         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
36253 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
36255         Avoid 'unused var' 'not left unused var' warnings
36257         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
36258         Rename used var '_buffer' to 'cbuffer'.
36260         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
36261         to cmark'.
36263 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
36265         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
36267 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
36269         Add a note how to use `tramp-own-remote-path'
36271         * doc/misc/tramp.texi (Inline methods, External methods)
36272         (Remote shell setup, Android shell setup)
36273         (Frequently Asked Questions, Frequently Asked Questions):
36274         Use @command and @samp consequently.
36275         (Remote programs): The remote shell must support the -l
36276         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
36278 2016-07-10  Alan Third  <alan@idiocy.org>
36280         Remove App Nap setting from Info.plist (bug#22993)
36282         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
36283         it doesn't actually disable app nap.
36285 2016-07-09  Mario Lang  <mlang@delysid.org>
36287         An efficient built-in mapcan
36289         A built-in version of `mapcan' avoids consing up (and GC'ing) the
36290         intermediate list.
36292         * src/fns.c (Fmapcan): New built-in.
36293         (syms_of_fns): Define.
36295         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
36297         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
36298         if only one sequence is provided.
36300         * lisp/progmodes/hideif.el (hif-delimit):
36301         * lisp/dired-aux.el (dired-do-find-regexp):
36302         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
36303         `cl-mapcan'.
36305         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
36306         compiling.
36308         * lisp/mouse.el (mouse-buffer-menu-map):
36309         * lisp/net/pop3.el (pop3-uidl-dele):
36310         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
36311         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
36312         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
36313         * lisp/gnus/nnmail.el (nnmail-split-it):
36314         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
36315         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
36316         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
36318 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
36320         Detect aliases to built-in functions
36322         * lisp/help-fns.el (describe-function-1): Check for aliases
36323         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
36325         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
36326         failing this test.
36328 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
36330         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
36332         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
36333         New variable.
36334         (tramp-gvfs-maybe-open-connection): Use it.
36336         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
36337         Reorder test.
36339 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
36341         Wrap around error in coreutil's ls
36343         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
36344         "--quoting-style=literal" if remote host supports quoting style.
36345         Recent versions of coreutils changed default quoting style to
36346         "--quoting=shell-escape".
36348 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
36350         Minor tweaks of copying text properties when padding strings
36352         * src/editfns.c (styled_format): Don't include padding on the left
36353         in the properties at the beginning of the string.  (Bug#23897)
36355         * test/src/editfns-tests.el (format-properties): Add tests for
36356         faces when the string is padded on the left or on the right.
36358 2016-07-08  Mario Lang  <mlang@delysid.org>
36360         No need to require the same feature twice.
36362         * lisp/dired-aux.el (require 'cl-lib): Remove.
36364 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
36366         Turn on lexical binding
36368         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
36369         (secrets-search-items, secrets-create-item): Use append.
36370         (secrets-show-secrets): Remove unused binding.
36371         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
36372         Ignore unused arguments.
36374 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
36376         Derive secrets-mode from special-mode
36378         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
36379         (secrets-mode-map): New variable.  Add key bindings to n and p for
36380         navigating lines.
36381         (secrets-mode): Derive from special-mode.  Remove keymap code and
36382         initialization code.  Do not record undo information.  Make
36383         secrets-show-collections the local revert-buffer-function.
36384         (secrets-show-collections): Change signature to satisfy revert-buffer.
36386 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
36388         Add a couple cells to lisp-prettify-symbols-alist
36390         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
36391         "sqrt" and "not".
36393 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
36395         Detect remote uid and gid in tramp-gvfs.el
36397         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
36398         (tramp-gvfs-handler-mounted-unmounted)
36399         (tramp-gvfs-connection-mounted-p):
36400         Make "default-location" a connection property.
36401         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
36402         (tramp-gvfs-maybe-open-connection): Use them.
36404 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
36406         Yet another fix for copying properties by 'format'
36408         * src/textprop.c (extend_property_ranges): Accept an additional
36409         argument OLD_END, and only extend the end of a property range if
36410         its original end is at OLD_END; all the other ranges are left
36411         intact.  (Bug#23897)
36412         * src/editfns.c (styled_format): Pass the original length of the
36413         string to 'extend_property_ranges'.
36414         * src/intervals.h (extend_property_ranges): Adjust prototype.
36416         * test/src/editfns-tests.el (format-properties): Add tests for
36417         bug#23897.
36419 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
36421         Allow selecting region with mouse to move point to beginning
36423         * etc/NEWS: Mention new user option
36424         `mouse-select-region-move-to-beginning'.
36426         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
36427         to the following.
36428         (Word and Line Mouse): Describe how double-clicking mouse-1 to
36429         activate region and `mouse-select-region-move-to-beginning'
36430         affect point.
36432         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
36433         (mouse-set-point): Use it.  (Bug#23478)
36435 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
36437         Fix menu bar breakage
36439         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
36440         to prevent void variable errors, and fix typo (bug#23918).
36442 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
36444         Copy buffer names to kill ring
36446         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
36447         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
36448         ;* etc/NEWS: Add entry for this new feature.
36450 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36452         Remove just input mark
36454         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
36455         just MARK.
36457 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36459         Ibuffer change marks
36461         * lisp/ibuffer.el (ibuffer-change-marks): New command.
36462         (ibuffer-mode-map): Bind it to '* c'.
36463         (ibuffer-mode-groups-popup): Update menus.
36464         (ibuffer-mode): Update mode doc.
36466 2016-07-07  Alan Third  <alan@idiocy.org>
36468         Prevent NS event loop being re-entered (bug#11049)
36470         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
36471         in event loop instead of aborting.
36473 2016-07-07  Alan Third  <alan@idiocy.org>
36475         Fix some deprecated functions
36477         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
36478         convertBaseToScreen with convertRectToScreen.
36479         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
36480         OS X 10.2, and always seems to return nil.
36482 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
36484         Disable App Nap (bug#22993)
36486         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
36488 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
36490         Fix an error in Tramp for rsync
36492         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
36493         Make it work for "rsync".
36494         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
36496 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36498         Ibuffer: Mark locked buffers
36500         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
36501         (ibuffer-mark-by-locked): New command.
36502         (ibuffer-mode-map): Bind it to '% L'; update menus.
36503         (ibuffer-mode): Update mode doc.
36504         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
36506 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36508         * lisp/ibuffer.el: Add face for locked buffers
36510         * lisp/ibuffer.el: Add mark for locked buffers
36512         ;* etc/NEWS (Ibuffer): Update entry according with last commit
36514 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36516         Remove duplicate binding
36518         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
36519         just bound to '% g'.
36520         As suggested in:
36521         https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00165.html
36523 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36525         Ibuffer: Drop needless binding
36527         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
36528         already bound to 't' inside 'ibuffer-set-mark'.
36530 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
36532         Run tests from non-byte compiled files
36534         * test/Makefile.in: Eval non-byte-compiled files for tests.
36536 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
36538         Replace eldoc-documentation-function with a hook
36540         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
36541         (eldoc-documentation-function): Make into obsolete alias.
36542         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
36543         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
36544         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
36545         on eldoc-documentation-functions.
36546         (eldoc-supported-p): New function.
36547         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
36548         * etc/NEWS: Mention eldoc-documentation-functions.
36549         * doc/lispref/modes.texi: Update reference.
36551 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
36553         Complete "initial" and "unset" in CSS mode
36555         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
36556         "initial" and "unset" completion candidates for all CSS properties,
36557         just like "inherit".
36559         * test/lisp/textmodes/css-mode-tests.el
36560         (css-test-complete-property-value): Update test to reflect the above
36561         change.
36563 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
36565         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
36567 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
36569         Simplify rfc1345.el a bit
36571         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
36572         that would no longer parse.  Replace control characters with
36573         escapes in character constants.  Omit unnecessary \ after ?.
36574         This does not change behavior.
36576 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
36578         Prefer 'frame-parameter' where it is expected to be a bit faster
36580         * lisp/international/mule-diag.el (mule-diag):
36581         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
36582         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
36583         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
36584         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
36586 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
36588         Reduce consing caused by vertical motion commands
36590         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
36591         parameters frequently requested by calls to 'next-line' and 'previous-line'.
36593 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
36595         Make all Tramp tests pass for "gdrive" method
36597         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
36598         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
36599         (tramp-compat-delete-directory):
36600         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
36601         Use `directory-files-no-dot-files-regexp'.
36603         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
36604         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
36605         case of problems.
36607         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
36608         Adapt docstring.
36609         (tramp-test14-delete-directory): Make further tests.
36611 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
36613         Fix redisplay with window-start on continuation lines
36615         * src/xdisp.c (pos_visible_p): Return false if the window starts
36616         after CHARPOS.
36617         (compute_window_start_on_continuation_line): Don't return
36618         window-start position that is after point in the buffer, as the
36619         callers don't expect this to happen, and will generally display an
36620         empty window with the cursor in its middle.  (Bug#23871)
36622 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
36624         Add :expected-result :failed for unfixed bug test
36626         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
36628 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
36630         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
36632 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
36634         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
36636         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
36637         there is no need for the end-marker to be created.
36639 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
36641         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
36643         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
36644         syntax to non-whitespace so that ‘\s-’ regular expression does not match
36645         it.
36647         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
36648         as a consequence ‘line-beginning-position’ function does not need to be
36649         called any longer.
36651         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
36652         expression ends up matching empty lins since ‘\s-’ matches newline
36653         characetr of proceeding line.  This leads to needless loop iterations.
36655         Since previous change to ‘delete-trailing-whitespace’ already introduced
36656         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
36657         character syntax.
36659 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
36661         Make ‘delete-trailing-whitespace’ delete spaces after form feed
36663         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
36664         a non-whitespace character (regradless of whether it’s character syntax
36665         is whitespace) and delete any whitespace following it instead of leaving
36666         lines with form feeds completely unchanged.  I.e. a line like "\f " will
36667         now became "\f".
36669 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
36671         Cleanup XEditRes hack
36673         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
36674         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
36675         linked with -lXmu.  This should work with any non-ancient Xmu library.
36676         * src/xfns.c (toplevel): Remove old cruft.
36677         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
36678         * src/xterm.c (toplevel): Remove old cruft.
36679         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
36680         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
36682 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
36684         Add Google Drive support to Tramp
36686         * doc/misc/tramp.texi: Add `gdrive' method.
36688         * doc/misc/trampver.texi:
36689         * lisp/net/trampver.el: Change version to "2.3.1-pre".
36691         * etc/NEWS: Add Tramp connection method "gdrive".
36693         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
36694         (tramp-default-user-alist, tramp-default-host-alist): Add rule
36695         for "gdrive".
36696         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
36697         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
36698         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
36699         "standard::display-name" as file name, if available.
36700         (tramp-gvfs-handle-file-name-all-completions): Simplify.
36701         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
36702         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
36703         Map between "gdrive" and "google-drive".
36705         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
36707         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
36708         Do not enable `tramp-message-show-message'.
36709         (tramp-test13-make-directory, tramp-test14-delete-directory):
36710         Do not specify error type.
36712 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
36714         Calc: Update mode line after change mode
36716         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
36718 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
36720         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
36722 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36724         Re-fix open-network-stream responsiveness
36726         Problem reported by Christer Ekholm (Bug#23864).
36727         * src/process.c (wait_reading_process_output): Further fix for
36728         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
36729         wait == INFINITY and got_output_end_time is invalid.  See:
36730         https://bugs.gnu.org/23864#20
36732 2016-07-03  Alan Mackenzie  <acm@muc.de>
36734         Remove redundant forms from CC Mode for faster fontification
36736         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
36737         the "main" cond form in the function, which have been redundant since the
36738         extraction of c-font-lock-cut-off-declarators from the function on
36739         2016-06-15/16.
36741 2016-07-03  Alan Mackenzie  <acm@muc.de>
36743         Speed up CC Mode fontification with less accurate functions extending region
36745         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
36746         (c-font-lock-enclosing-decls)
36747         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
36748         c-beginning-of-decl-1 with less accurate invocations of
36749         c-syntactic-skip-backwards to speed up fontification.
36751 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
36753         Ibuffer: unmark all buffers without confirmation
36755         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
36756         (ibuffer-mouse-popup-menu): Use it.
36757         (ibuffer-mode): Update mode doc.
36758         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
36759         Rebind 'ibuffer-do-replace-regexp' to 'r'.
36761 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36763         Fix open-network-stream responsiveness
36765         Problem reported by Constantin Kulikov (Bug#23684).
36766         * src/process.c (wait_reading_process_output):
36767         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
36768         when wait == INFINITY and got_output_end_time is invalid.
36769         In this case the code should break, not continue.
36771 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
36773         Ibuffer: Mark buffers by content
36775         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
36776         (ibuffer-never-search-content-name): New option.
36777         (ibuffer-never-search-content-mode): Idem.
36778         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
36780         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
36781         (ibuffer-mode): Update mode documentation.
36783 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
36785         ibuffer-copy-filename-as-kill verbosity increase
36787         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
36788         Use shorter name, result, for a local bound var.
36789         Show the string result in the echo area.
36791 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
36793         Fix cursor positioning on TTY frames after stretch glyph
36795         * src/term.c (append_glyph, append_composite_glyph)
36796         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
36797         members of the produced 'struct glyph'.  Fixes cursor positioning
36798         on the first character after a stretch glyph produced from
36799         line-prefix, wrap-prefix, etc. on TTY frames.
36801 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
36803         Fix vertical-movement in buffers with wrap-prefix
36805         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
36806         whenever we zero the vpos vertical position of the iterator.
36807         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
36808         wrap-prefix regardless of whether the current Y coordinate is
36809         inside the window dimensions.  (Bug#23879)
36811 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
36813         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
36815         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
36816         FACE_OPT_FROM_ID; all callers changed.
36817         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
36818         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
36819         dereferenced.
36820         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
36821         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
36822         when the glyph string is drawn.
36823         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
36824         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
36825         in fill_composite_glyph_string.
36826         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
36827         FACE_FROM_ID, since the function and its caller can cope with that
36828         situation.  Conflate 3 tests of missing face or font into just
36829         one.
36830         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
36831         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
36832         functions can cope with that situation.
36833         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
36834         not be used.
36835         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
36837 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
36839         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
36841 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
36843         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
36845         i.e. rename from auto-source--symbol-keyword.
36847 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
36849         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
36851         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
36852         get_widget_info.
36854 2016-06-30  Alan Mackenzie  <acm@muc.de>
36856         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
36858         This applies to applying or removing syntax-table text properties in raw
36859         strings which affect the stringiness of a piece of text.  This fixes the
36860         bug
36861         reported in
36862         https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00695.html.
36864         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
36865         defsubst.
36866         (c-invalidate-state-cache-1): Call new function in place of inline
36867         manipulation.
36868         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
36869         semi-nonlit cache when pertinent syntax-table text properties get applied to
36870         the text.
36872 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
36874         Minor tweaks to openp
36876         * src/lread.c (openp): Move invariant code out of the loop
36877         and thus avoid redundant calls to memcpy.  Adjust comments.
36879 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
36881         Simplify handling of frame parameters
36883         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
36884         foreground color, background color and font parameters.  Adjust
36885         comments.
36887 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
36889         Cleanup around mature character manipulation functions
36891         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
36893         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
36895         * lisp/subr.el (toplevel): Do not advertise calling conventions
36896         for 'decode-char' and 'encode-char'.
36898         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
36900 2016-06-29  Alan Mackenzie  <acm@muc.de>
36902         Fix C-M-a in a C function finding the start of a macro preceding it.
36904         Also amend some pertinent documentation.  This fixes bug #23818.
36906         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
36907         virtual semicolon at a place where we check for other types of statement ends.
36909         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
36910         doc string the bit saying that the variable is a prototype and liable to
36911         change.
36913         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
36914         macros with semicolon can prevent C-M-a missing the beginning of defun.
36916 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
36918         Avoid possible NULL pointer dereference found by GCC 6.1.1
36920         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
36921         the value returned by XRRGetOutputInfo.
36923 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
36925         Dired recognize dirs when file size in human units
36927         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
36928         to match when Dired displays the allocated file size column
36929         in human readable units (Bug#22255).
36931 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
36933         Fix breakage from previous change
36935         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
36936         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
36938 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
36940         Fix breakage from previous change.
36942         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
36944 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
36946         Add tests for copying properties by 'format'
36948         * test/src/editfns-tests.el (format-properties): New test.
36950 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
36952         Fix copying properties in 'format' when it produces padding
36954         * src/textprop.c (extend_property_ranges): Correct range extension
36955         when the new end is beyond the old end.  (Bug#23859)
36957 2016-06-27  Alan Third  <alan@idiocy.org>
36959         Enable dividers in NS (bug#22973)
36961         src/nsfns.m: Add colour settings functions to ns_frame_park_handlers.
36962         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
36963         attempt to set the colour.
36964         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
36965         above, although I didn't see any errors.
36967 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
36969         Fix the prefix action of shr-copy-url
36971         * lisp/net/shr.el (shr-copy-url): Make the command really copy
36972         the image url if given a prefix.
36974 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
36976         New functions svg-text and svg-remove
36978         * doc/lispref/display.texi (SVG Images): Document svg-remove.
36980         * doc/lispref/display.texi (SVG Images): Document svg-text.
36982         * lisp/svg.el (svg-remove): New function.
36983         (svg-text): New function.
36985 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
36987         Add new function dom-remove-node
36989         * doc/lispref/text.texi (Document Object Model): Document
36990         dom-remove-node.
36992         * lisp/dom.el (dom-remove-node): New function.
36994 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
36996         Add a new function `svg-embed'
36998         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
37000         * lisp/svg.el (svg-embed): New function.
37001         (svg--image-data): Ditto.
37003 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
37005         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
37007 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
37009         Fix 'move-to-window-line' when EOB is on last screen line
37011         * src/window.c (displayed_window_lines): Fix an off-by-one error
37012         when the bottom of the last display line is exactly at window's
37013         last pixel.  Remove kludgey fix for TTY frames that is no longer
37014         needed.  (Bug#15760)
37015         (Fmove_to_window_line): Doc fix.
37017         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
37018         accurate the documentation of 'move-to-window-line'.
37020 2016-06-27  Alan Mackenzie  <acm@muc.de>
37022         Amend a cache so that typing into C++ raw strings has no undue delay.
37024         Also amend the code so that low-level searches to the end of literals are done
37025         only when these positions get used.
37027         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
37028         c-literal-start instead of c-literal-limit.
37029         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
37030         it stores details of the literal at a point, rather than merely points outside
37031         of literals.
37032         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
37033         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
37034         (c-parse-ps-state-below, c-literal-start): New functions.
37035         (c-state-semi-safe-place): Removed.
37036         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
37037         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
37038         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
37039         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
37041         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
37042         to end of literals.
37044         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
37045         literals.
37047         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
37048         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
37050 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
37052         Also handle escaping when string begins with a quote
37054         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
37055         Handle quoting of the first character in the string.
37057         * test/lisp/progmodes/ruby-mode-tests.el
37058         (ruby-toggle-string-quotes-quotes-correctly): Update.
37060 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
37062         Fix quote escaping in ruby-toggle-string-quotes
37064         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
37065         Change logic to quote based on the current quote of the string.
37067         * test/lisp/progmodes/ruby-mode-tests.el
37068         (ruby-toggle-string-quotes-quotes-correctly): Add test.
37070 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
37072         Fix test-completion with completion-regexp-list
37074         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
37075         completion-regexp-list (Bug #23533).
37077 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37079         Try other addresses when connecting to multihomed
37081         Problem reported by Juliusz Chroboczek (Bug#17976)
37082         and by Artur Malabarba (Bug#23620).
37083         Patch from a suggestion by Andreas Schwab in:
37084         https://bugs.gnu.org/17976#39
37085         This patch is for non-MS-Windows platforms.
37086         I don't know the situation on MS-Windows.
37087         * src/process.c (connecting_status):
37088         New function, for (connect . ADDRINFOS).
37089         (connect_network_socket, check_for_dns, wait_for_socket_fds)
37090         (wait_while_connecting, wait_reading_process_output, status_notify):
37091         Use it.
37092         (decode_status, Fmake_network_process):
37093         Support (connect . ADDRINFOS) status.
37094         (connect_network_socket) [!WINDOWSNT]:
37095         If the connection failed and there are other addresses to try, do not
37096         signal an error; instead, loop around to try the next address.
37097         (wait_reading_process_output): Advance to the next address
37098         if there are multiple addresses and the first remaining address
37099         failed.
37100         * src/process.h (struct Lisp_Process.status): Adjust comment
37101         to describe (connect . ADDRINFOS).
37103 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37105         Fix GNUC_PREREQ for GCC 2.8.1 etc.
37107         Problem reported by Eli Zaretskii in:
37108         https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00608.html
37109         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
37110         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
37111         patchlevel numbers.
37113 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
37115         Don't set 'bidi-paragraph-direction' in 'ansi-term'
37117         * lisp/term.el (ansi-term): Remove unnecessary setting of
37118         'bidi-paragraph-direction'.  The underlying problem is solved in
37119         bidi.c by changing the regexps that define the paragraph beginning
37120         and end.  (Bug#20611)
37122 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
37124         Sync with Tramp 2.3.0
37126         * doc/misc/trampver.texi:
37127         * lisp/net/trampver.el: Change version to "2.3.0".
37129 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37131         Fix GNUC_PREREQ off-by-1 typo
37133         Problem reported by Martin Rudalics in:
37134         https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00587.html
37135         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
37136         Fix < vs <= typo.
37138 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
37140         Fix some oddities in Tramp's rsync and smb methods
37142         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
37143         "-s" arguments.
37144         (tramp-do-copy-or-rename-file-out-of-band):
37145         Call `file-name-directory' also for remote NEWNAME.
37147         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
37148         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
37149         (tramp-test24-file-name-completion): Improve check for
37150         hostname completion.
37151         (tramp--test-rsync-p): New defun.
37152         (tramp-test31-special-characters)
37153         (tramp-test31-special-characters-with-stat)
37154         (tramp-test31-special-characters-with-perl)
37155         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
37156         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
37157         (tramp-test32-utf8-with-ls): Skip for "rsync".
37159         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
37160         Check also for CIFS capabilities.
37162 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
37164         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
37166         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
37167         FRAME_INTERNAL_BORDER_WIDTH.
37169 2016-06-25  Leo Liu  <sdl.web@gmail.com>
37171         Deprecations (bug#23850)
37173         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
37174         string-to-multibyte, string-as-multibyte): Make obsolete.
37176 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
37178         Do not prompt twice to save a buffer
37180         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
37182 2016-06-25  Alan Third  <alan@idiocy.org>
37184         Move text line right when in box (bug#23755)
37186         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
37187         CHAR_GLYPH specific code and move glyphs right if within a box.
37188         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
37189         function.
37191 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
37193         Merge from origin/emacs-25
37195         0377fe2 ; Spelling fixes
37196         f253695 Update docs for `customize-mode'
37197         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
37198         ab0ebb9 ; Only load .elc file in tests.
37199         a98aa02 Error on multibyte characters in HTTP request
37200         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
37201         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
37202         dc5e65b Unset GIT_DIR when calling Git commands
37203         6cdd8f7 Ensure undo-boundary after insert-file-contents.
37204         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
37205         5f37572 Fix removal of variables from process-environment
37206         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
37207         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
37209         # Conflicts:
37210         #       doc/lispref/modes.texi
37211         #       lisp/gnus/mm-decode.el
37213 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
37215         Teach net-utils more iproute2 and nl80211 tools
37217         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
37218         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
37219         option is "phy"; beyond that one needs to know the interface name.
37220         (netstat-program): Add ss(8).
37221         (route-program): Add ip(8).
37222         (route-program-options): Add "route" argument for ip.
37224 2016-06-24  Leo Liu  <sdl.web@gmail.com>
37226         Use use-region-p in prolog.el
37228         * lisp/progmodes/prolog.el (region-exists-p): Remove.
37229         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
37230         prolog-edit-menu-insert-move): Use use-region-p.
37232 2016-06-24  Leo Liu  <sdl.web@gmail.com>
37234         Remove compatibility with Emacs 24.3 in octave-mode
37236         * lisp/progmodes/octave.el: Clean up and remove compatibility with
37237         Emacs 24.3.
37239 2016-06-24  Alan Mackenzie  <acm@muc.de>
37241         Ensure hack-local-variables is run in a fundamental mode buffer.
37243         This fixes bug #23827.
37245         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
37246         gets set to that mode, so that `run-mode-hooks', and thus
37247         `hack-local-variables' get run.
37249 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
37251         Fix caller to ediff-setup
37253         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
37255 2016-06-24  Alan Mackenzie  <acm@muc.de>
37257         Implement ' separators in C++ integer literals.
37259         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
37260         c-before-after-change-digit-quote into the C++ value.
37261         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
37262         for all languages.  Insert c-before-after-change-digit-quote into the C++
37263         value.
37265         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
37266         c-save-buffer-state.
37267         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
37269 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
37271         Update from gnulib
37273         This incorporates:
37274         2016-06-24 intprops: port better to GCC 7
37275         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
37276         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
37277         Copy from gnulib.
37279 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
37281         Remove two uses of 'min' in Fwindow_text_pixel_size
37283         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
37284         it calls move_it_to twice.  Suggested by Eli Zaretskii.
37286 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37288         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
37290         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
37291         since it is intended to be used only when it returns a non-null
37292         pointer, and here the pointer might be null.
37293         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
37295 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
37297         Remove some more face aliases obsoleted in 22.1
37299         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
37300         eshell-ls-executable-face, eshell-ls-readonly-face,
37301         eshell-ls-unreadable-face, eshell-ls-special-face,
37302         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
37303         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
37304         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
37305         (isearch-lazy-highlight-update): Use face symbol.
37306         * lisp/net/sieve-mode.el (sieve-control-commands-face,
37307         sieve-action-commands-face, sieve-test-commands-face,
37308         sieve-tagged-arguments-face): Remove.
37309         (sieve-font-lock-keywords): Use non-obsolete faces.
37310         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
37311         (sh-get-indent-info, sh-prev-line): Use face symbol.
37312         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
37313         Use non-obsolete face.
37314         (tex-math-face, tex-verbatim-face): Remove.
37315         (tex-font-lock-syntactic-face-function): Use face symbols.
37317 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
37319         Remove some face aliases obsoleted in 22.1
37321         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
37322         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
37323         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
37324         Info-title-4-face, info-menu-5):
37325         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
37326         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
37327         * lisp/progmodes/make-mode.el (makefile-space-face):
37328         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
37329         (texinfo-font-lock-keywords): Use texinfo-heading face.
37330         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
37331         change-log-email-face, change-log-file-face, change-log-list-face,
37332         change-log-conditionals-face, change-log-function-face,
37333         change-log-acknowledgement-face):
37334         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
37335         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
37336         diff-changed-face, diff-function-face, diff-context-face,
37337         diff-nonexistent-face): Remove.
37338         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
37339         symbols.
37340         (diff-hunk-file-names): Fix comment.
37341         (diff-refine-change): Remove.
37342         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
37343         non-obsolete face.
37344         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
37345         (log-view-font-lock-keywords): Use non-obsolete face names.
37346         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
37347         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
37348         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
37349         widget-field-face, widget-single-line-field-face, widget-inactive-face,
37350         widget-button-pressed-face):
37351         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
37352         woman-addition-face): Remove.
37354 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
37356         * lisp/international/characters.el (standard-case-table): Improve last change.
37358 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
37360         Improve results of 'upcase' for characters with title-case
37362         * lisp/international/characters.el (standard-case-table): Swap the
37363         order of some lines, to have 'upcase' return the upper-case
37364         variant, not the title-case, for some characters whose lower-case
37365         map to the same codepoints.  (Bug#23833)
37367 2016-06-23  Alan Mackenzie  <acm@muc.de>
37369         Make typing into incomplete C++ raw strings work, and make it work fast enough
37371         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
37372         Put `save-match-data' around calls to `looking-at' to enable the use of the
37373         match data in higher level functions.
37375         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
37376         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
37377         limit to speed up handling of C++ raw strings.
37379 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
37381         Fix handling of LWINDOW key on MS-Windows
37383         * src/w32fns.c (funhook): Correct a typo which broke handling of
37384         the LWINDOW key.  (Bug#23830)
37386 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
37388         Update Unicode data files from Unicode 9.0.0
37390         * admin/unidata/copyright.html:
37391         * admin/unidata/BidiBrackets.txt:
37392         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
37393         released.
37395 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
37397         Fix test for whether the '.el' file is newer than '.elc'
37399         * src/lread.c (Fload): Don't overwrite the last character of the
37400         file name in FOUND with 'c', unless the file name ended in ".elc"
37401         to begin with.  Don't treat empty files as byte-compiled.  See
37402         https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00463.html
37403         for more details of the problem this caused.
37405 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
37407         Fix 'insert-file-contents' when REPLACE is non-nil
37409         * src/fileio.c (maybe_move_gap): New function to move the gap to
37410         the end of a buffer, if it isn't there already.
37411         (Finsert_file_contents): Call 'maybe_move_gap' before using
37412         conversion_buffer's text as a C 'char' array.  (Bug#23659)
37413         * src/coding.c (decode_eol): Compute the byte increment before
37414         calling del_range_2, because the latter can invalidate the pointer
37415         to buffer text.
37417 2016-06-22  Ken Brown  <kbrown@cornell.edu>
37419         Avoid compiler warning
37421         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
37423 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
37425         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
37427 2016-06-22  Ken Brown  <kbrown@cornell.edu>
37429         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
37431         * src/w32fns.c (x_set_internal_border_width): Don’t use
37432         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
37433         lvalue.
37435 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37437         Improve --without-x GCC pacification
37439         * src/composite.c (autocmp_chars):
37440         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
37441         Use simpler ((void) 0) for no-op expression returning void.
37442         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
37443         Include fontset.h, for face_for_char.
37444         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
37445         Now inline functions instead of macros.  This avoids the need for
37446         all those casts to void.
37447         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
37448         All uses changed.
37449         * src/frame.c (Ficonify_frame, Fset_frame_position):
37450         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
37451         * src/xdisp.c (note_mode_line_or_margin_highlight)
37452         (note_mouse_highlight):
37453         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
37454         now work either way without generating warnings.
37455         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
37456         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
37457         (decode_window_system_frame): Use check_window_system instead of
37458         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
37459         (decode_window_system_frame, check_window_system):
37460         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
37461         * src/frame.c (Ficonify_frame, Fset_frame_position):
37462         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
37463         (note_mouse_highlight):
37464         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
37465         this is a better way to pacify GCC.
37466         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
37467         (x_set_right_divider_width, x_set_bottom_divider_width):
37468         * src/xfns.c (x_set_internal_border_width):
37469         Don’t use what are now function calls as lvalues.
37470         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
37471         (decode_window_system_frame, check_window_system):
37472         Use it, to avoid the need for duplicate declarations.
37473         (window_system_available): Now an inline function.
37474         (display_available): New decl.
37475         (frame_dimension): New inline function.
37476         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
37477         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
37478         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
37479         (FRAME_BOTTOM_DIVIDER_WIDTH):
37480         Use it, to avoid the need for duplicate definitions.
37481         Now inline functions instead of macros.
37482         * src/gnutls.c (gnutls_log_function2i): Remove.
37483         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
37484         This avoids complaints about gnutls_log_function2i being defined
37485         and not used on older platforms that do not need to call GNUTLS_LOG2i.
37486         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
37487         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
37488         expr’ to ‘type id; id = expr’, as this would suppress valid
37489         jump-misses-init diagnostics.  Let’s find a better way to address
37490         the problem.
37491         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
37492         Define only if needed.
37493         * src/xdisp.c (handle_single_display_spec):
37494         Simplify fringe_bitmap computation.
37495         (define_frame_cursor1): Do nothing unless in a window system.
37496         All callers changed and simplified.
37497         * src/xfaces.c (realize_default_face):
37498         Use a simpler way to pacify GCC when a return value is not used
37499         on some platforms.
37501 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
37503         Ensure undo-boundary after all commands
37505         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
37506           every command whether it (apparently) changes the buffer or not.
37508         See Bug#23785 for discussion.
37510 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
37512         Fix vertical layout calculations when newline has line-height property
37514         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
37515         'constrain_row_ascent_descent_p' flag after processing the
37516         newline, similar to what 'display_line' does.  Without this, the
37517         flag remains set once set by x_produce_glyphs, and causes the
37518         vertical layout calculations to go awry, because Emacs thinks the
37519         screen lines have zero height.  (Bug#23850)
37521 2016-06-20  Ken Brown  <kbrown@cornell.edu>
37523         Fix compiler warnings in Cygwin-w32 build
37525         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
37526         loop to avoid compiler warnings about empty body of 'if'
37527         statement.
37529         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
37530         macro.
37531         (x_create_bitmap_from_data): Declare 'frame'.
37532         (x_create_bitmap_from_file): Don't declare unused variable
37533         'dpyinfo'.
37535         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
37536         prevent "jump-misses-init" compiler warnings.
37538         * src/w32fns.c (check_w32_winkey_state): Define and use only if
37539         WINDOWSNT.
37540         (Fx_show_tip): Declare 'f'.
37541         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
37542         (w32_strerror): Use format specifier %d for sprintf argument of
37543         type int.
37544         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
37545         int, and use format specifier %x, for compatibility with Cygwin.
37546         (unicode_append_menu) [NTGUI_UNICODE]:
37547         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
37548         (set_menu_item_info, unicode_append_menu)
37549         (unicode_message_box):
37550         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
37551         functions rather than macros to avoid "address will always
37552         evaluate as true" compiler warnings.
37554         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
37555         sprintf argument of type int.
37557         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
37558         sprintf argument of type int to unsigned int to match %X format
37559         specifier.
37560         (w32_scroll_bar_handle_click):
37561         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
37563         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
37564         argument.
37566 2016-06-20  Ken Brown  <kbrown@cornell.edu>
37568         Fix compiler warnings in no-window-system-build
37570         * src/composite.c (autocmp_chars): Declare and set 'f' only if
37571         HAVE_WINDOW_SYSTEM.
37573         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
37574         (FACE_FOR_CHAR): Explicitly discard unused arguments.
37576         * src/font.c (font_open_entity): Declare 'min_width' where it is
37577         first set, and only if HAVE_WINDOW_SYSTEM.
37579         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
37580         Define _Noreturn version to avoid "suggest attribute noreturn"
37581         compiler warning.
37582         (check_window_system): Declare as _Noreturn.
37583         (Ficonify_frame):
37584         (Fset_frame_position): Don’t declare and set 'f'.
37586         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
37587         (check_window_system):  Add _Noreturn prototypes.
37588         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
37589         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
37590         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
37591         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
37593         * src/xdisp.c (handle_single_display_spec): Declare
37594         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
37595         (append_space_for_newline): Declare 'g' where it is first set.
37596         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
37597         HAVE_WINDOW_SYSTEM.
37598         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
37599         if HAVE_WINDOW_SYSTEM.
37600         (note_mode_line_or_margin_highlight):
37601         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
37602         only if HAVE_WINDOW_SYSTEM.
37604         * src/xfaces.c (realize_default_face): Declare and set 'face' only
37605         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
37607 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
37609         Weaken test conditions in filenotify-tests.el
37611         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
37612         Fix thinko in test.
37613         (file-notify-test02-events, file-notify-test04-file-validity)
37614         (file-notify-test07-backup)
37615         (file-notify-test08-watched-file-in-watched-dir): Make test
37616         conditions more weak.  (Bug#23618)
37618 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
37620         Minor ABLOCKS_BUSY cleanups in alloc.c
37622         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
37623         with member ‘abase’ in definiens.
37624         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
37625         Avoid compiler warning with fewer casts.
37626         (lisp_align_free): Check busy-field values; this can help the
37627         compiler a bit when optimizing, too.
37629 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
37631         ASCII-fy coding-system-for-read used for Git commands
37633         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
37634         New function.
37635         (vc-git-diff, vc-git-annotate-command): Use it.
37637 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
37639         Prohibit multibyte characters in url-http-data
37641         It didn't work anyway, but this makes any such errors more obvious
37642         by catching them earlier.
37644         * lisp/url/url-http.el (url-http-create-request):
37645         Use string-to-unibyte (bug#23750).
37647 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
37649         Fix setting a range of char-table slots in a singular case
37651         * src/chartab.c (char_table_set_range): Start the loop from the
37652         first character of the block to which FROM belongs.  (Bug#23797)
37654         * test/src/chartab-tests.el: New test file.
37656 2016-06-19  Alan Mackenzie  <acm@muc.de>
37658         Fix CC Mode fontification problem apparent in test file decls-6.cc.
37660         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
37661         "bar (gnu);" as a declarator only when the construct is directly inside a
37662         class (etc.) called "bar".
37663         (c-directly-in-class-called-p): New function.
37665 2016-06-19  Alan Mackenzie  <acm@muc.de>
37667         c-renarrow-state-cache: take care when new point is inside old brace pair.
37669         Also add display of point-min to the c-parse-state debugging output.
37671         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
37672         point is inside an old recorded brace pair, clear the cache.
37673         (c-debug-parse-state): Output the value of point-min.
37675 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37677         Rename ALIGN to pointer_align
37679         * src/alloc.c (pointer_align): Rename from ALIGN.
37680         This fixes Bug#23764 in a simpler way.
37682 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37684         Merge from origin/emacs-25
37686         d1efbaf Fix documentation of completion functions
37687         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
37688         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
37689         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
37691 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37693         Merge from origin/emacs-25
37695         2317c61 Fix last todo-mode change
37696         5d4d8a3 Improve last todo-mode fix
37697         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
37698         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
37699         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
37700         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
37701         d308aa1 Minor grammar fix (bug#23746)
37702         20de667 Doc fixes for grammar and typos (bug#23746)
37703         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
37704         27f440e Add cross-reference to ELisp manual
37705         10802d8 ; make change-history-commit
37706         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
37707         12e009e Restore initial undo boundary with viper
37708         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
37709         6921f4a Fix dbus crash on 32-bit Cygwin
37711 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37713         Merge from origin/emacs-25
37715         9ae514a * etc/AUTHORS: Update the AUTHORS file
37716         3ca428e add entries to authors.el
37717         66d556b Fix eldoc-related freezes in python mode
37718         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
37719         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
37720         a813487 Fix undo boundary in recursive edit (Bug#23632)
37721         1f85b7c Doc fixes re alist-get.  (Bug#23548)
37722         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
37723         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
37724         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
37725         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
37726         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
37728 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
37730         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
37732 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
37734         Fix seq-contains
37736         Make sure seq-contains return the element of the sequence instead of t.
37738         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
37739         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
37741 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
37743         Add new function map-do
37745         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
37746           functions.
37747         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
37749 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
37751         Add seq-do-indexed
37753         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
37754         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
37756 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
37758         map.el (map-merge*): Use `map-into' at beginning rather than end
37760         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
37761         and don't use of an intermediate alist.
37762         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
37763         3 lookups per inner iteration.
37765 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
37767         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
37769 2016-06-15  Alan Mackenzie  <acm@muc.de>
37771         Speed up CC Mode's font locking by taking some code out of a hot loop.
37773         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
37774         tests for bare declarators.
37775         (c-font-lock-cut-off-declarators): New function.
37776         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
37778 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
37780         Automatically find vars and functions via definition-prefixes
37782         * lisp/help-fns.el (help-definition-prefixes): New var and function.
37783         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
37784         New functions.
37785         (describe-function, describe-variable): Use them.
37787         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
37788         (radix-tree-prefixes, radix-tree-from-map): New functions.
37790 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
37792         Automatically detect whether .h file is C or C++
37794         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
37795         analyses contents of the buffer to determine whether it looks like C++
37796         source code and based on that enables c-mode or c++-mode.
37797         (c-or-c++-mode--regexp): Regular expression which, when matches
37798         a buffer, signals file is C++.
37800 2016-06-15  Alan Mackenzie  <acm@muc.de>
37802         Parse compound identifiers in C++ member initialization lists.
37804         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
37805         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
37806         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
37807         than c-simple-skip-symbol-backward.
37809 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
37811         Advertize set-keymap-parent as replacement for copy-keymap
37813         * doc/lispref/keymaps.texi (Creating Keymaps):
37814         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
37816 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
37818         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
37819         value is missing
37821 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
37823         Add new ansible-inventory-generic-mode (Bug#23762)
37825         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
37827 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
37829         Fix ifdef-vs-if typo with RANDR13_LIBRARY
37831         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
37832         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
37833         https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html
37835 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
37837         Port to platforms where char * has top bit set
37839         This fixes a five-year-old FIXME comment.  Although I don’t know
37840         of a platform where this is a problem in practice, better safe
37841         than sorry.
37842         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
37843         as it is now an integer, not char *.
37844         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
37845         this is a file offset and EMACS_INT is better if --with-wide-int.
37846         If SUBRP, simply store the offset rather than negating it and
37847         converting it to char *.
37848         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
37850 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
37852         Remove recursion from store_function_docstring
37854         * src/doc.c (store_function_docstring):
37855         Refactor to avoid the need for C-level recursion.
37857 2016-06-14  Ken Brown  <kbrown@cornell.edu>
37859         Remove system-specific -I switch from Cygwin-w32 build
37861         Suggested by Eli Zaretskii in discussion of bug#18302.
37863         * src/image.c [HAVE_NTGUI]: Remove the unused macro
37864         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
37865         "X11/xpm.h".
37867         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
37868         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
37870 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
37872         Make python.el work in Emacs 24
37874         * lisp/progmodes/python.el: Bump version.
37875         (python-define-auxiliary-skeleton): Only use format-message if
37876         fbound (Bug#23126).
37878 2016-06-13  Ken Brown  <kbrown@cornell.edu>
37880         Avoid compiler warning
37882         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
37883         'type_CtrlAlt'.
37885 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37887         Call tzset after setting TZ
37889         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
37890         the setting change propagates into Emacs local time (Bug#23600).
37891         (emacs_setenv_TZ): Clarify comments.
37893 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37895         Update texinfo.tex
37897         * doc/misc/texinfo.tex: Update from gnulib.
37899 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
37901         New macro GNUC_PREREQ for GCC version
37903         * src/conf_post.h (GNUC_PREREQ): New macro.
37904         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
37905         macro instead, for clarity and consistency.
37906         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
37907         if glibc, since non-GNU platforms don’t necessarily support GNU
37908         printf formats.
37909         (ATTRIBUTE_FORMAT_PRINTF): Use it.
37911 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
37913         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
37915 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
37917         Fix printf-related compilation warnings on MinGW
37919         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
37920         '__ms_printf__', not '__gnu_printf__', as the latter is not what
37921         MS 'printf' supports, and causes bogus compilation warnings.
37922         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
37923         doesn't support the "ll" modifier.
37925 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
37927         emacs_strerror cleanups
37929         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
37930         no longer needed, now that emacs_strerror is declared by lisp.h.
37931         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
37932         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
37933         to lisp.h.
37934         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
37935         convert result string; this is now the caller’s responsibility,
37936         as some need conversion and others don’t.
37937         * src/fileio.c (report_file_errno, report_file_notify_error):
37938         Use emacs_strerror rather than rolling it ourselves.
37939         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
37940         * src/lread.c (dir_warning): Just call emacs_strerror rather than
37941         both strerror and emacs_strerror.  Convert its result from
37942         locale-coding-system, since it no longer does that conversion.
37943         * src/sound.c (sound_perror):
37944         * src/sysdep.c (emacs_perror, str_collate):
37945         Use emacs_strerror, not strerror.
37947 2016-06-10  David Reitter  <david.reitter@gmail.com>
37949         Prevent compiler warning for unused arguments
37951         * lisp/international/ucs-normalize.el
37952         (ucs-normalize-hfs-nfd-pre-write-conversion):
37953         Prevent compiler warning for unused arguments, add coment.
37955 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
37957         Catch malloc_get_state, malloc_set_state failure
37959         This should help insulate Emacs better from configuration screwups.
37960         Future versions of the GNU C library are planned to deprecate
37961         these functions, but will continue to support them in
37962         already-built-and-dumped Emacs executables.
37963         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
37964         Abort if malloc_set_state fails.
37965         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
37966         Report malloc_get_state failure, and exit.
37968 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
37970         Show returned value after gdb-mi "finish" command
37972         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
37973         "Value returned" message in response to "finish", when not
37974         produced by GDB/MI.  (Bug#23720)
37976 2016-06-10  David Reitter  <david.reitter@gmail.com>
37978         Simplify pre-write-conversion for utf-8-hfs coding system
37980         * lisp/international/ucs-normalize.el
37981         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
37983         May address an issue where Emacs consumed large amounts of CPU
37984         because of neverending toolbar updating (which was caused
37985         by, but also called this function).
37987 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
37989         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
37991         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
37992         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
37993         Monnier.  (Bug#19185, Bug#20398)
37995         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
37997         That commit did more harm than good (Bug#23571).
37999 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
38001         Port __builtin_assume_aligned to Sun C 5.13
38003         * src/conf_post.h (__builtin_assume_aligned):
38004         Fix typo: the extra arg did not conform to C99.
38006 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
38008         Prefer getsockopt to getpeername on non-MS-Windows
38010         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
38011         * configure.ac: Don’t check for getpeername.
38012         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
38013         Use getsockopt even if not GNU/Linux, as the platforms where
38014         getsockopt used to hang are no doubt long dead.
38016 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
38018         Fix XFASTINT of non-fixnum in process status
38020         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
38021         not int *, and is not decoded.  All uses changed.
38022         (status_message): Do not assume ‘failed’ code is an integer.
38023         * src/process.h: Document codes better.
38025 2016-06-09  Glenn Morris  <rgm@gnu.org>
38027         Make messcompat.el obsolete.
38029         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
38030         * doc/misc/message.texi (Compatibility): Remove section.
38032 2016-06-09  Glenn Morris  <rgm@gnu.org>
38034         Leading "*" in the doc of defvars is long obsolete.
38036         * lisp/plstore.el (plstore-encrypt-to):
38037         * lisp/cedet/semantic/lex-spp.el
38038         (semantic-lex-spp-macro-max-length-to-save):
38039         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
38040         * lisp/cedet/semantic/bovine/el.el
38041         (semantic-elisp-store-documentation-in-tag):
38042         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
38043         (wisent-expected-conflicts):
38044         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
38045         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
38046         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
38047         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
38048         (gnus-browse-menu-hook):
38049         * lisp/gnus/message.el (message-shoot-gnksa-feet):
38050         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
38051         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
38052         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
38053         * lisp/gnus/mml.el (mml-generate-multipart-alist):
38054         * lisp/gnus/nndraft.el (nndraft-required-headers):
38055         * lisp/gnus/nnheader.el (nnheader-max-head-length)
38056         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
38057         (nnheader-directory-separator-character)
38058         (nnheader-pathname-coding-system):
38059         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
38060         (nnmail-active-file-coding-system):
38061         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
38062         * lisp/gnus/nntp.el (nntp-record-commands):
38063         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
38064         (gnus-score-mode-hook, gnus-score-menu-hook):
38065         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
38066         (rfc2047-allow-irregular-q-encoded-words)
38067         (rfc2047-allow-incomplete-encoded-text):
38068         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
38069         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
38070         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
38071         * lisp/net/pop3.el (pop3-password):
38072         * lisp/play/animate.el (animate-n-steps):
38073         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
38074         Convert from defvar with leading * to defcustom.
38077         * lisp/emulation/viper-init.el (viper-heading-end):
38078         * lisp/gnus/mm-url.el (mm-url-html-entities):
38079         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
38080         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
38081         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
38083         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
38084         (message-from-style, message-interactive, message-indentation-spaces)
38085         (message-signature, message-signature-file):
38086         Remove settings that match the defaults.
38087         (message-setup-hook, message-mode-hook, message-default-headers)
38088         (message-send-hook, message-send-mail-function):
38089         Just use setq rather than redefining.
38091         * lisp/gnus/nnrss.el (nnrss):
38092         * lisp/mail/rfc2047.el (rfc2047):
38093         * lisp/play/animate.el (animate): New custom groups.
38095 2016-06-09  Glenn Morris  <rgm@gnu.org>
38097         Remove obsolete leading * from defcustom, defface doc strings.
38099         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
38100         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
38101         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
38102         * lisp/cedet/semantic/decorate/include.el:
38103         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
38104         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
38105         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
38106         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
38107         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
38108         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
38109         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
38110         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
38111         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
38112         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
38113         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
38114         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
38115         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
38116         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
38117         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
38118         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
38119         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
38120         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
38121         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
38122         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
38123         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
38124         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
38125         Remove obsolete leading * from defcustom, defface doc strings.
38127 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
38129         Fix copying text properties by 'format'
38131         * src/editfns.c (styled_format): Fix copying text properties from
38132         the format specification to the produced string representation.
38133         (Bug#23730)
38134         (Fformat) Doc fix.
38136         * doc/lispref/strings.texi (Formatting Strings): Document that
38137         text properties from the format specifiers are also copied to the
38138         produced string.
38140 2016-06-09  Alan Mackenzie  <acm@muc.de>
38142         Handle C++ raw strings.
38144         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
38145         (c-depropertize-raw-strings-in-region,
38146         c-before-change-check-raw-strings)
38147         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
38148         functions.
38150         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
38151         c-font-lock-raw-strings.
38152         (c-font-lock-raw-strings): New function.
38154         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
38155         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
38156         into the values for C, C++, and Objective C.
38157         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
38158         the C++ value.
38160         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
38161         (c-depropertize-CPP): New function, extracted from
38162         c-neutralize-syntax-in-and-mark-CPP.
38163         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
38164         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
38165         of the function.
38166         (c-after-change): Set c-old-BEG and c-old-END to the current values of
38167         c-new-BEG and c-new-END.
38169 2016-06-09  Daiki Ueno  <ueno@gnu.org>
38171         epg: don't use obsolete function
38173         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
38174         redundant configuration check, which is now done in
38175         `epg-make-context'.
38177 2016-06-09  Daiki Ueno  <ueno@gnu.org>
38179         epg: don't start pinentry if it is useless
38181         * lisp/epg.el (epg--start): Don't start pinentry server if the
38182         session is non-interactive or pinentry-mode is set.
38184 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
38186         Replace IF_LINT by NONVOLATILE and UNINIT
38188         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
38189         * .dir-locals.el (c-mode): Adjust to macro changes.
38190         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
38191         (IF_LINT): Remove.  All uses replaced by the new macros.
38193 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
38195         Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro
38197         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
38198         in favour of ‘cl-letf’ macro which is more generic.  All existing
38199         uses are migrated accordingly.  The macro has not been included in
38200         an official release yet so it should be fine to delete it.
38202 2016-06-08  Glenn Morris  <rgm@gnu.org>
38204         * test/lisp/emacs-lisp/package-tests.el
38205         (package-test-update-archives-async): Try re-enabling on hydra.
38207 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
38209         * src/fileio.c (auto_save_error): Omit unused local.
38211 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
38213         Simplify overflow check via INT_SUBTRACT_WRAPV
38215         * src/editfns.c (check_tm_member): Simplify integer overflow check.
38217 2016-06-07  Glenn Morris  <rgm@gnu.org>
38219         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
38221         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
38222         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
38223         Ensure gnutls-serv process gets killed.
38224         (echo-server-nowait, connect-to-tls-ipv4-nowait):
38225         Limit the amount of time we might wait.
38227 2016-06-07  Glenn Morris  <rgm@gnu.org>
38229         Reduce allout.el's pollution of the namespace.
38231         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
38232         Keep old name as obsolete alias.
38233         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
38234         (allout-solicit-char-in-string)
38235         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
38236         Rename to add an "allout-" prefix.
38238 2016-06-07  Glenn Morris  <rgm@gnu.org>
38240         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
38242 2016-06-07  Glenn Morris  <rgm@gnu.org>
38244         Misc small webjump updates.
38246         * lisp/net/webjump.el (webjump): Add custom group.
38247         (webjump-sample-sites): Make it a constant.
38248         Remove explicit, old list of GNU ftp mirrors.
38249         (webjump-state-to-postal-alist): Make it a constant.
38250         (webjump-sites): Make it a defcustom.
38251         (webjump-to-iwin): Update for changed remote service.
38253 2016-06-07  Glenn Morris  <rgm@gnu.org>
38255         Do not hard-code port for package test server.  (Bug#23708)
38257         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
38258         Do not hard-code port.
38259         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
38260         Update for the above change.
38262 2016-06-07  Tino Calancha  <f92capac@gmail.com>
38264         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
38266 2016-06-07  Glenn Morris  <rgm@gnu.org>
38268         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
38270 2016-06-07  Tino Calancha  <f92capac@gmail.com>
38272         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
38273         Fix non-file-visiting-buffer case.  (Bug#22678)
38275 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38277         Port --enable-gcc-warnings to clang 3.7.0
38279         * configure.ac: Add -Wno-tautological-compare to avoid bogus
38280         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
38281         seem to be needed, at least in Fedora 23 x86-64.
38283 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38285         Use __builtin_assume_aligned on untagged Lisp vals
38287         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
38288         New macros, for compilers not already defining them.
38289         (__has_builtin___builtin_assume_aligned): New macro.
38290         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
38291         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
38293 2016-06-07  Glenn Morris  <rgm@gnu.org>
38295         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
38296         aliases as the type of their targets.
38298 2016-06-07  Tino Calancha  <f92capac@gmail.com>
38300         * lisp/simple.el (process-menu-mode, list-processes--refresh):
38301         Include PID.  (Bug#21725)
38303 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38305         Merge from origin/emacs-25
38307         6e3adf8 Fix crash in syntax.c after GC
38308         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
38309         9d5cceb Fix doc string quoting
38310         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
38311         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
38313 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38315         Merge from origin/emacs-25
38317         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
38318         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
38319         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
38320         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
38322 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
38324         Use standard Unicode names for Thai, Lao
38326         * lisp/language/lao-util.el, lisp/language/thai-util.el:
38327         Don’t override standard Unicode character name (Bug#23698).
38329 2016-06-06  Glenn Morris  <rgm@gnu.org>
38331         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
38332         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
38334 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
38336         Some fixes in filenotify-tests.el for cygwin
38338         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
38339         Reintroduce value for cygwin, it's needed on slow systems.
38340         (file-notify--wait-for-events): Move up definition.
38341         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
38342         (file-notify--test-with-events-check, file-notify--test-with-events)
38343         (file-notify-test08-watched-file-in-watched-dir):
38344         Use :random rather than `random.
38345         (file-notify-test06-many-events): Do not skip for cygwin.
38347 2016-06-05  Juri Linkov  <juri@linkov.net>
38349         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
38351         If non-nil, operate on multiple chunks.  (Bug#23655)
38353         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
38355 2016-06-05  Juri Linkov  <juri@linkov.net>
38357         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
38359         to interactive spec to handle shift-selection.  (Bug#23642)
38361 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
38363         Improve robustness of filenotify-tests.el (Bug#23618)
38365         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
38366         (file-notify--test-no-descriptors-explainer)
38367         (file-notify--test-cleanup-p): New defuns.
38368         (file-notify--test-cleanup): Don't check for
38369         `file-notify--test-event' anymore, that's done in
38370         `file-notify--test-no-descriptors'.
38371         (file-notify--test-with-events-check)
38372         (file-notify--test-with-events): Handle the `random' marker.
38373         (file-notify--test-with-events-explainer): Improve readability.
38374         (file-notify-test00-availability)
38375         (file-notify-test01-add-watch, file-notify-test02-events)
38376         (file-notify-test03-autorevert)
38377         (file-notify-test04-file-validity)
38378         (file-notify-test05-dir-validity)
38379         (file-notify-test06-many-events, file-notify-test07-backup)
38380         (file-notify-test08-watched-file-in-watched-dir)
38381         (file-notify-test09-sufficient-resources): Check also
38382         `file-notify--test-cleanup-p'.
38383         (file-notify-test04-file-validity)
38384         (file-notify-test05-dir-validity): Use `ignore' as handler.
38385         (file-notify-test05-dir-validity)
38386         (file-notify-test06-many-events): Delete directory finally.
38387         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
38389 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
38391         man.el: Fix links on hyphenated words (bug#23647)
38393         * lisp/man.el (Man-bgproc-sentinel): Make links work on
38394         hyphenated words.
38396 2016-06-05  K. Handa  <handa@gnu.org>
38398         Add category 'j' to more characters.
38400         * lisp/international/characters.el: Add category 'j' (Japanese)
38401         to characters in japanese-jisx0213.2004-1.
38403 2016-06-04  Tino Calancha  <f92capac@gmail.com>
38405         isearch-edit-string resumes multi isearches
38407         * lisp/isearch.el (with-isearch-suspended): Remember and restore
38408         multi-isearch variables.  (Bug#21663)
38410 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
38412         Fix Eshell display when RTL characters are involved
38414         * lisp/eshell/esh-mode.el (eshell-mode): Set
38415         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
38417 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
38419         Make ses-jump with completing input.
38421         * lisp/ses.el (ses-jump): Make symbol input completing against list of
38422           named cells.
38424 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
38426         Port angle-bracket TZ settings to MS-Windows
38428         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
38429         lack of support for numeric time zone abbreviations.
38430         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
38431         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
38432         Problem reported by Kazuhiro Ito (Bug#23600).
38434 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
38436         Avoid delving into Git internals for version
38438         * lisp/loadup.el (exec-path): Set it to nil later, so that
38439         emacs-repository-get-version can invoke git commands in the PATH.
38440         * lisp/version.el (emacs-repository--version-git-1): Remove.
38441         (emacs-repository-get-version): Let Git do it rather than
38442         delving into Git internals.
38444 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
38446         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
38448 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
38450         Fix emacs-repository-get-version with packed .git
38452         * lisp/version.el (emacs-repository-get-version):
38453         Parse .git/packed-refs if it exists.
38454         Problem reported by Martin Rudalics in:
38455         https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00554.html
38457 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
38459         Minor change in tramp.texi
38461         * doc/misc/tramp.texi (Password handling): Do not discuss
38462         anymore how to get password-cache.el.  It is bundled with
38463         Emacs.
38465 2016-06-01  Alan Mackenzie  <acm@muc.de>
38467         Correct fontification and indentation of C++'s "constexpr" expressions
38469         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
38470         (c-modifier-kwds): Add "constexpr".
38472 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
38474         Cosmetic change to kinsoku-eol.  (tiny change)
38476         * lisp/international/kinsoku.el (kinsoku-eol): Make the
38477         order of characters match with the comments.
38479 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
38481         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
38483         * lisp/language/japan-util.el (japanese-kana-table): Add an
38484         entry for HIRAGANA ITERATION MARK (U+309D).
38485         (japanese-alpha-numeric-table): Fix docstring.
38487 2016-05-31  K. Handa  <handa@gnu.org>
38489         Fix incomplete handling of translation table in a coding system.
38491         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
38492         is an alist, return a character or a vector of character.
38493         (produce_chars): Adjust for the above change.
38494         (consume_chars): Likewise.
38496 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
38498         Improve robustness for out-of-band copy in Tramp
38500         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
38501         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
38502         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
38503         Cosmetic changes.
38505         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
38506         Use local `default-directory'.  Simplify command to send.
38507         Don't check return code, this was already done in
38508         `tramp-process-actions'.
38509         (tramp-get-inline-coding): Don't set `default-directory'.
38511         * lisp/net/tramp.el (tramp-action-out-of-band):
38512         Throw `out-of-band-failed'.
38513         (tramp-process-actions): Handle `out-of-band-failed'.
38514         (tramp-call-process, tramp-call-process-region):
38515         Use local `default-directory'.
38517 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
38519         Merge from origin/emacs-25
38521         788c9b6 ; Spelling fix
38522         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
38523         0992ec3 Correct cl-flet usage (Bug#22317)
38524         50caae3 Release MH-E manual version 8.6
38525         602bb40 Update MH-E's documentation about HTML renderers
38526         89018f0 Fx the we->the typo
38527         845ee57 Restore frames into the current display by default
38528         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
38529         01c3cd1 etc/TODO: Remove out-of-place issue
38530         5e18486 Clarify doc string of 'file-name-sans-extension'
38531         bffda22 Fix the MSDOS build
38532         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
38533         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
38534         f7ffc4b Fix infloop in 'number-sequence'
38535         4ab2673 ; Spelling and punctuation fixes in comments
38536         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
38538 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
38540         * lisp/emacs-lisp/autoload.el: Use radix-tree.
38542          (autoload--make-defs-autoload): Rewrite.
38543         (autoload--split-prefixes-1): Remove.
38544         (autoload-def-prefixes-max-entries): Rename from
38545         autoload-defs-autoload-max-size.
38546         (autoload-popular-prefixes): Remove.
38547         (autoload-def-prefixes-max-length): New const.
38549         * lisp/emacs-lisp/radix-tree.el: New file.
38551 2016-05-30  Ken Brown  <kbrown@cornell.edu>
38553         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
38555 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
38557         Omit IF_LINT code that no longer seems needed
38559         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
38560         and now is as good a time as any to remove uses of IF_LINT that
38561         now seem to be unnecessary.
38562         * lib-src/emacsclient.c (set_local_socket):
38563         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
38564         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
38565         * src/casefiddle.c (casify_region):
38566         * src/charset.c (load_charset_map):
38567         * src/coding.c (decode_coding_object, encode_coding_object):
38568         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
38569         (cons_to_unsigned, cons_to_signed):
38570         * src/frame.c (make_frame, x_set_frame_parameters):
38571         * src/keyboard.c (read_event_from_main_queue):
38572         * src/regex.c (regex_compile):
38573         * src/syntax.c (back_comment):
38574         * src/window.c (Frecenter):
38575         * src/xfaces.c (Fx_list_fonts):
38576         Remove IF_LINT that no longer seems necessary.
38577         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
38578         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
38579         a pragma dance to pacify GCC -Wclobbered.
38580         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
38582         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
38583         mean we do not need IF_LINT any more.
38584         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
38585         at the end, to forestall warnings from older compilers.
38587 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
38589         Port --enable-gcc-warnings to Cygwin, FreeBSD
38591         These platforms have a bug where _Noreturn is empty when 'lint' is
38592         defined.  Problem reported by Ken Brown (Bug#23640).
38593         * configure.ac (GCC_LINT): Rename from 'lint'.
38594         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
38596 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
38598         Update from gnulib
38600         This incorporates:
38601         2016-05-30 Use GCC_LINT, not lint
38602         2016-05-29 secure_getenv: Port to many more platforms.
38603         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
38604         * m4/secure_getenv.m4: Copy from gnulib.
38606 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
38608         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
38610         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
38612 2016-05-30  Ken Brown  <kbrown@cornell.edu>
38614         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
38616 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
38618         Fix Bug#23631 for Tramp
38620         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
38621         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
38622         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
38623         Fix caching problems.
38625         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
38627         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
38628         Move duplicate deletion ...
38629         (tramp-smb-handle-file-name-all-completions): ... here.
38631         * lisp/net/tramp.el (tramp-handle-file-name-completion):
38632         Handle `completion-ignored-extensions'.  (Bug#23631)
38634         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
38635         Test also `completion-regexp-list' and `completion-ignored-extensions'.
38637 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
38639         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
38641         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
38643 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
38645         Fix up remainder of the mml property change
38647         * lisp/gnus/message.el (message-send-mail): Use the renamed
38648         mml-buffer-substring-no-properties-except-some function.
38649         (message-send-news): Ditto.
38651 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
38653         Allow preserving EXIF rotations when sending HTML messages
38655         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
38656         rotation if you have exiftool installed and the image format
38657         supports it.
38658         (mml-expand-html-into-multipart-related): Use it.
38659         (mml-buffer-substring-no-properties-except-some): Renamed and
38660         copy display properties, too.
38662 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
38664         Make message-toggle-image-thumbnails work better
38666         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
38667         `insert-image' instead of `put-image' to make it possible to
38668         edit the resulting text in a sensible manner.
38670 2016-05-29  Alan Mackenzie  <acm@muc.de>
38672         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
38674         Remove the now redundant c-old-BOM and c-old-EOM.
38676         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
38677         meaning.
38678         (c-macro-cache-no-comment): New variable.
38679         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
38680         the new c-macro-cache-no-comment.
38681         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
38682         (c-no-comment-end-of-macro): New function.
38684         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
38685         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
38687         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
38688         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
38689         c-old-BOM/EOM.
38690         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
38691         a cons for the new region, since the function is now called as an after-change
38692         function.  No longer adjust c-new-END for the length of inserted/deleted
38693         text.  Move the size restrictions on macros to here from
38694         c-neutralize-syntax-in-and-mark-CPP.
38695         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
38696         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
38697         upper boundary to "neutralize" syntactically obtrusive characters.
38698         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
38699         one.
38701 2016-05-28  Ken Brown  <kbrown@cornell.edu>
38703         Avoid compiler warnings
38705         * src/cygw32.c (chdir_to_default_directory): Use "void" as
38706         argument list.  Use SSDATA instead of SDATA.
38708         * src/unexcw.c (fixup_executable): Use %td as format specifier for
38709         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
38711 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
38713         Fix 'next-line' and 'previous-line' during keyboard macro
38715         * lisp/simple.el (line-move-visual): Handle the case when point
38716         moves outside of the visible portion of the buffer while executing
38717         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
38719 2016-05-28  Alan Mackenzie  <acm@muc.de>
38721         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
38723         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
38724         back over noise clauses and attribute clauses.
38726         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
38728 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
38730         Prevent locked-file errors in Rmail
38732         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
38733         calling 'rmail-insert-inbox-text'.  Unlock if
38734         'rmail-insert-inbox-text' doesn't modify buffer.
38735         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
38737 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
38739         Sync with Tramp repository.
38741         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
38742         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
38743         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
38744         Create BUFFER if it doesn't exist.  Reported by Nikolay
38745         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
38747         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
38748         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
38749         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
38750         (tramp-gvfs-get-directory-attributes)
38751         (tramp-gvfs-get-root-attributes)
38752         (tramp-gvfs-get-file-attributes): New defun.
38753         (tramp-gvfs-handle-file-attributes)
38754         (tramp-gvfs-handle-file-name-all-completions): Use them.
38755         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
38756         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
38757         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
38758         (top): Suppress D-Bus error messages during zeroconf initialization.
38760         * lisp/net/tramp.el (tramp-unknown-id-string)
38761         (tramp-unknown-id-integer): New defconst.
38762         (tramp-check-cached-permissions)
38763         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
38764         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
38765         (tramp-convert-file-attributes, tramp-get-remote-uid)
38766         (tramp-get-remote-gid): Use them.
38768         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
38769         Rename from `tramp-color-escape-sequence-regexp'.
38770         (tramp-sh-handle-insert-directory)
38771         (tramp-convert-file-attributes): Adapt callees.
38772         (tramp-device-escape-sequence-regexp): New defconst.
38773         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
38774         Gissurarson <icetritlo@gmail.com>.
38776         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
38777         Simplify.
38779         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
38780         (tramp-test28-shell-command):
38781         Use `tramp-display-escape-sequence-regexp'.
38783 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38785         Don’t document declare-function internals
38787         Suggested by Stefan Monnier in:
38788         https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00618.html
38789         * doc/lispref/functions.texi (Declaring Functions):
38790         * lisp/subr.el (declare-function):
38791         * lisp/emacs-lisp/bytecomp.el:
38792         (byte-compile-macroexpand-declare-function):
38793         Document as (fn file &optional arglist fileonly)
38794         even though it is really (fn file &rest args).
38796 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38798         * src/puresize.h (BASE_PURESIZE): Increase it some more.
38800 2016-05-27  Glenn Morris  <rgm@gnu.org>
38802         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
38804         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
38805         avoid build failure.
38807 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38809         Port to platforms where rlim_max < 0
38811         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
38812         this can happen if a special value like RLIM_INFINITY is negative.
38814 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38816         Robustify stack-size calculation
38818         * src/emacs.c: Include getpagesize.h.
38819         (main): Check for integer overflow when computing stack size.
38820         Round new rlim_cur to pagesize boundary on all platforms, as this
38821         is easy and would have prevented Bug#23622.  If setrlimit
38822         fails, use current limit to determine re_max_failures.
38824 2016-05-27  Ken Brown  <kbrown@cornell.edu>
38826         Adjust filenotify-tests on Cygwin
38828         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
38829         Remove special case for Cygwin.
38830         (file-notify-test07-backup): Update expected results on Cygwin.
38832 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38834         Improve define-function omitted-arg documentation
38836         * doc/lispref/functions.texi (Declaring Functions):
38837         * lisp/subr.el (declare-function):
38838         Be clearer when documenting omitted args for define-function.
38840 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
38842         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
38844 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
38846         * lisp/subr.el (definition-prefixes): Expand docstring
38848         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
38849         Remove unused function.
38851 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
38853         Fix broken viper deactivation
38855         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
38856           args to advice-remove.
38857           (viper--advice-add): Use cons not list.
38859         Addresses bug#23625
38861 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
38863         Preserve buffer point in windows by default (Bug#4041).
38865         * doc/lispref/windows.texi: Mention new default.
38866         * etc/NEWS: Mention new default.
38867         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
38869 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38871         Fix byte-compiler pacification for declare-function
38873         Problem reported by Michael Heerdegen in:
38874         https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00590.html
38875         * lisp/emacs-lisp/bytecomp.el:
38876         (byte-compile-macroexpand-declare-function):
38877         Revert signature to previous value.
38878         * lisp/subr.el (declare-function): Change signature to
38879         match the reverted signature used in the byte compiler.
38881 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38883         Update texinfo.tex
38885         This fixes Bug#23611 in a different (and presumably better) way.
38886         * doc/misc/texinfo.tex: Update from gnulib.
38888 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38890         Pacify 'make check-declare'
38892 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38894         Repair damage from emacs-25 merge
38896         * test/lisp/character-fold-tests.el:
38897         Remove, as it was renamed to test/lisp/char-fold-tests.el.
38898         * test/lisp/emulation/viper-tests.el:
38899         Rename from test/automated/viper-tests.el.
38901 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38903         Merge from origin/emacs-25
38905         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
38906         a4d882c Correct old cell name unbinding when renaming cell.
38907         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
38908         0be6725 Document problem: slow screen refresh on missing font.
38909         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
38910         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
38911         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
38912         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
38913         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
38914         897fb6f ; 'Changes from the pre-25.1 API' copyedits
38915         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
38916         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
38917         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
38918         2e589c0 Fix cross-references between manuals
38919         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
38920         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
38921         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
38922         503e752 ; * CONTRIBUTE: Fix a typo.
38923         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
38924         bdfbe6d ; * admin/release-process: Copyedits.
38925         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
38926         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
38927         df4a14b Add automated test for viper-tests.el
38928         c0139e3 Fix viper undo breakage from undo-boundary changes
38929         920d76c Fix reference to obsolete fn ps-eval-switch
38930         18a9bc1 Do not trash symlinks to init file
38931         2671179 Don't print the "decomposition" line for control chars in wha...
38932         869092c Bring back xterm pasting with middle mouse
38933         5ab0830 Provide workaround for xftfont rendering problem
38934         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
38935         30989a0 Mention GTK+ problems in etc/PROBLEMS
38936         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
38937         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
38938         e41a5cb Avoid errors with Czech and Slovak input methods
38939         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
38940         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
38941         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
38942         c45d9f6 Improve documentation of 'server-name'
38943         3b5e38c Modernize ASLR advice in etc/PROBLEMS
38944         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
38946 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
38948         Avoid byte-compiler warnings due to 'declare-function'
38950         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
38951         (w32-get-valid-locale-ids):
38952         * lisp/progmodes/js.el (ido-mode): Specify arglist in
38953         'declare-function' forms, to avoid byte-compiler warnings.
38955 2016-05-26  Glenn Morris  <rgm@gnu.org>
38957         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
38959         No-one puts info pages there.  If /share does exist, it's likely to
38960         contain remote file systems where access could be slow.
38962 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38964         Merge from origin/emacs-25
38966         2d76405 etc/AUTHORS: Update the AUTHORS file
38968 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38970         Merge from origin/emacs-25
38972         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
38974 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38976         Merge from origin/emacs-25
38978         939eb75 Fix bug in default setting of 'ps-paper-type'
38980 2016-05-26  Glenn Morris  <rgm@gnu.org>
38982         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
38984 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
38986         Fix Bug#23614.
38988         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
38989         Let-bind `process-coding-system-alist' in order to suppress
38990         the value for "cmdproxy".
38992         * lisp/net/tramp.el (tramp-encoding-shell):
38993         `w32-shell-name' is a function.
38994         (tramp-encoding-command-switch)
38995         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
38997         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
38998         Suppress some tests on MS Windows.  (Bug#23614)
39000 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
39002         hl-line.el: Fix flickering of highlighted line (bug#23510)
39004         * lisp/hl-line.el (hl-line-maybe-unhighlight)
39005         (global-hl-line-highlight-all)
39006         (global-hl-line-maybe-unhighlight): New functions.
39007         (hl-line-overlay-buffer): New variable.
39008         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
39009         pre-command-hook by hl-line-maybe-unhighlight on
39010         post-command-hook, to prevent hl-line from flickering.
39011         Adjust document string.
39012         (global-hl-line-mode): Use global-hl-line-highlight-all to
39013         simultaneously highlight the current line in all live windows.
39014         Replace global-hl-line-unhighlight on pre-command-hook by
39015         global-hl-line-maybe-unhighlight on post-command-hook, to
39016         prevent global-hl-line from flickering.  Remove
39017         global-hl-line-unhighlight from change-major-mode-hook on
39018         disabling the mode.  Adjust document string.
39020 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
39022         Make autoloads populate a new definition-prefixes table
39024         * lisp/subr.el (definition-prefixes): New hash table.
39025         (register-definition-prefixes): New function.
39027         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
39028         (autoload--split-prefixes-1, autoload--split-prefixes)
39029         (autoload--make-defs-autoload): New functions.
39030         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
39031         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
39032         (update-directory-autoloads): Don't touch loaddefs.el if the set of
39033         autoloads hasn't changed (i.e. if only the timestamp would change).
39035         * lisp/loadup.el: Purify definition-prefixes.
39037         * lisp/w32-fns.el: Keep name space clean.
39038         (w32-set-default-process-coding-system): Rename from
39039         set-default-process-coding-system.
39040         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
39042 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39044         Allow network-stream-tests to work for out-of-tree builds
39046         * test/lisp/net/network-stream-tests.el
39047         (network-stream-tests--datadir): New defconst.
39048         (make-tls-server): Use it.
39050 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39052         Fix failing echo-server-nowait test
39054         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
39055         Specify IPv4 for the client, to match the family of the server.
39056         (Bug#23606)
39058 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39060         Allow shr-tests to work for out-of-tree builds
39062         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
39063         (shr-test, rendering): Use it.
39065 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39067         Update allowable arguments for open-network-stream
39069         * src/coding.c (Ffind_operation_coding_system): Allow t as a
39070         target for open-network-stream.  (Bug #23540)
39072 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
39074         Make js-mode's syntax highlighting work again
39076         * lisp/progmodes/js.el (js-mode): Fix the assigned
39077         font-lock-defaults value (bug#23603).
39079 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39081         * lisp/progmodes/cc-mode.el: Add minor comments
39083         (c-change-expand-fl-region): Mark args as unused.
39085 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39087         * lisp/url/url-http.el: Use lexical-binding
39089         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
39090         (url-http-wait-for-headers-change-function): Remove unused var
39091         `content-length'.
39092         (url-http): Remove unused vars `host' and `port'.
39094 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39096         * lisp/widget.el (define-widget): Use `declare' (which does work now).
39098         (widget-plist-member): Mark as obsolete.
39100 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39102         * lisp/image.el: Use lexical-binding
39104         (image-scaling-factor, imagemagick-types-inhibit)
39105         (imagemagick-enabled-types): Remove redundant :group.
39106         (image--get-image): Apply de-Morgan and use car-safe.
39107         (image-compute-scaling-factor): Use the argument.
39109 2016-05-23  Glenn Morris  <rgm@gnu.org>
39111         * lisp/image.el (image--get-image): Remove nonsensical code.
39113         * lisp/image.el (image--get-image): Avoid requiring a library for
39114         one trivial operation.
39116 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39118         Don’t use only last protocol from getaddrinfo
39120         Problem reported by Ken Brown in:
39121         https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00483.html
39122         * src/process.c (conv_addrinfo_to_lisp): New function.
39123         (connect_network_socket): Arg is now a list of addrinfos, not
39124         merely IP addresses.  All uses changed.  Use protocol from
39125         each addrinfo.
39126         (Fmake_network_process): Accumulate protocols into addrinfos
39127         rather than just using the last one found.
39128         (check_for_dns): Accumulate protocols here, too.
39129         * src/process.h (struct Lisp_Process): Remove ai_protocol;
39130         no longer needed.
39132 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39134         Fix seq requirement that broke bootstrap
39136         * lisp/image.el (image--get-image): Require seq here, not at the
39137         top level, to avoid ‘(require seq) while preparing to dump’ while
39138         bootstrapping.  Suggested by Tino Calancha in:
39139         https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00477.html
39141 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
39143         Add missing dependencies to seq.el
39145         * lisp/emacs-lisp/find-func.el:
39146         * lisp/ibuffer.el:
39147         * lisp/image.el: Require seq.
39149 2016-05-22  Alp Aker  <alp@food52.com>
39151         * src/process.c (SOCK_NONBLOCK): Fix typo.
39153 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
39155         Add completion of colors in CSS mode
39157         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
39158         from "CSS Color Module Level 3".
39160         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
39161         Update test.
39163 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
39165         Prefer SOCK_NONBLOCK to O_NONBLOCK
39167         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
39168         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
39169         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
39170         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
39171         the order does not matter here.
39173 2016-05-21  Alan Third  <alan@idiocy.org>
39175         Fix bug#16856, cursor leaves garbage in fringe on OS X.
39177         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
39178         being drawn outside the text area.
39180 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
39182         Fix compiler warnings in the MinGW build
39184         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
39185         -Wno-pointer-sign, to keep the noise level down.
39187         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
39188         -Wredundant-decls, as that produces a lot of noise due to
39189         redeclaration of time-related functions by gnulib.
39190         * nt/runemacs.c (set_user_model_id): Fix argument type of
39191         'SetCurrentProcessExplicitAppUserModelID'.
39193         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
39194         declare 'dpyinfo', as it is unused.
39195         (xpm_load): Fix warnings about pointer signedness.
39196         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
39197         prototypes.
39198         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
39199         (sys_select): Provide prototype.
39200         (g_b_init_compare_string_w): Move declaration to file scope.
39201         * src/w32heap.c (dumped_data_commit): Now static.
39202         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
39203         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
39204         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
39205         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
39206         Provide prototypes.
39207         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
39208         redundant prototypes.
39209         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
39210         (init_environment, sys_ctime): Avoid warnings about discarding
39211         'const' qualifier.
39212         Include utimens.h.
39213         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
39214         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
39215         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
39216         prototypes.
39217         (sys_rename_replace): Use %d to avoid compiler warnings.
39218         (_wsa_errlist): Make the message text 'const char *', to avoid
39219         compilation warnings.
39220         (dynlib_reset_last_error): Move prototype to file scope.
39221         (w32_get_resource): First argument is now 'const char *'.
39222         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
39223         (otf_features): Second argument is no 'const char *'.
39224         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
39225         (x_set_window_size): Remove redundant prototypes.
39226         (XChangeGC, XGetGCValues, w32_draw_underwave)
39227         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
39228         (x_calc_absolute_position, x_destroy_window): Now static.
39229         (menubar_selection_callback): Move prototype to file scope.
39230         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
39231         declaration.
39232         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
39233         (w32font_full_name): Fix warnings about implicit conversion of
39234         'float' to 'double'.
39235         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
39236         discarding 'const' qualifier.
39237         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
39238         (set_frame_menubar): Remove redundant prototypes.
39239         (menubar_selection_callback, w32_menu_display_help): Provide
39240         prototypes.
39241         (simple_dialog_show): Avoid warnings about discarding 'const'
39242         qualifier.
39243         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
39244         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
39245         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
39246         redundant prototypes.
39247         (current_popup_menu): Remove redundant declaration.
39248         (colormap_t): Member 'name' is now 'const char *'.
39249         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
39250         (x_decode_color, x_set_border_pixel)
39251         (x_clear_under_internal_border, x_set_name, hook_w32_key)
39252         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
39253         static.
39254         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
39255         (w32_msg_worker, w32_last_error): Provide prototypes.
39256         (funhook, lookup_vk_code): Avoid warnings about missing
39257         parentheses.
39258         (x_default_font_parameter, Fw32_notification_notify): Avoid
39259         warnings about discarding 'const' qualifier.
39260         (Fx_create_frame): Avoid warnings about empty body of 'else'.
39261         (x_screen_planes): Ifdef away unused function.
39262         (Fx_show_tip): Remove unused variables.
39263         (Fw32_battery_status): Avoid warnings about implicit promotion
39264         from float to double.
39265         (Fw32_notification_notify): Initialize 'timeout'.
39266         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
39267         define the TIMER_SETTIME_RUNNING value if it will be used.
39268         * src/w32notify.c (send_notifications): Ifdef away an empty if
39269         clause.  Remove unused variable.
39270         (watch_end, watch_completion): Provide prototypes.
39271         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
39272         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
39273         warning with pointer signedness.
39274         * src/gnutls.c (gnutls_x509_crt_get_signature)
39275         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
39276         don't load them from the GnuTLS library, as they are no longer
39277         used.
39278         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
39279         define, as it's unused.
39280         * src/unexw32.c (open_input_file, open_output_file)
39281         (close_file_data): Remove redundant prototypes.
39282         (_start): provide prototype.
39283         (mainCRTStartup): Move prototype to file level.
39284         (find_section): Use type-cast to shut up compiler warnings.
39285         (offset_to_section, relocate_offset): Now static.
39286         (find_section): First argument is now a 'const char *'.
39287         (offset_to_section): Ifdef away, as it's unused.
39288         * src/w32heap.h (find_section): Adjust prototype.
39289         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
39290         * src/dired.c (directory_files_internal_w32_unwind): Avoid
39291         warnings about missing prototypes.
39292         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
39293         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
39294         signedness.
39295         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
39296         Fix warnings about pointer signedness.
39297         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
39298         unused.
39299         * src/sysdep.c (_getpid): Remove redundant prototype.
39300         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
39301         [!MSDOS]: Don't define 'st', it's unused.
39302         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
39303         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
39304         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
39305         n_to_read, as it is not used.
39306         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
39307         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
39308         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
39309         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
39310         not used by DOS_NT builds, to avoid compiler warnings.
39311         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
39312         declaration.
39313         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
39314         up compiler warnings.
39315         * src/w32term.h (x_set_window_size, x_get_focus_frame)
39316         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
39317         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
39318         (x_free_frame_resources, x_real_positions)
39319         (display_x_get_resource): Remove redundant prototypes.
39321         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
39322         (sys_rename, gettimeofday): Provide prototypes.
39323         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
39324         declarations.
39325         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
39326         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
39327         (close_winsock, initialize_sockets, w32_set_user_model_id)
39328         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
39329         prototypes.
39330         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
39331         difference.
39332         (w32_set_user_model_id): Update prototype of
39333         SetCurrentProcessExplicitAppUserModelID to avoid compiler
39334         warnings.
39335         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
39336         shut up compiler warnings.
39337         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
39339 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
39341         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
39343         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
39344         wrap on a whitespace character if it's followed by another
39345         whitespace character.  When returning under WORD_WRAP for a screen
39346         line that is continued, restore to wrap point when atpos/atx
39347         position would be displayed on the next screen line due to
39348         line-wrap.  (Bug#23570)
39350 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
39352         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
39354 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
39356         Added tests for dos unibyte decoding.
39358         The underlying bug was previously fixed by Eli Zaretskii in commit
39359         c8109d9c4057d8cac79e2c139758cadd410e7446.
39361 2016-05-20  Philipp Stephani  <phst@google.com>
39363         Fix handling of ‘mouse-on-link-p’.
39365         If ‘mouse-on-link-p’ returns a string or vector, the first element
39366         is to be used as new event.  Translation to ‘mouse-2’ should only
39367         happen if the return value is not a string or vector.  See
39368         docstring of ‘mouse-on-link-p’ and Bug#23288.
39370         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
39371         value of ‘mouse-on-link-p’ according to documentation.
39373         * test/lisp/mouse-tests.el (bug23288-use-return-value)
39374         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
39376 2016-05-20  Daiki Ueno  <ueno@gnu.org>
39378         epg: Add a way to detect gpg1 executable for tests
39380         Fixes bug#23561.
39382         * test/automated/epg-tests.el
39383         (epg-tests-program-alist-for-passphrase-callback): New
39384         constant.
39385         (epg-tests-find-usable-gpg-configuration): New function,
39386         renamed from `epg-tests-gpg-usable'.  All callers changed.
39387         (epg-tests-gpg-usable): Remove.
39389         * lisp/epg-config.el (epg-config--program-alist): Factor out
39390         constructor element to...
39391         (epg-config--configuration-constructor-alist): ...here.
39392         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
39393         and add PROGRAM-ALIST argument.
39395 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
39397         Put point at beginning of display-time-world buffer.
39399         If display-time-world decides to popup vertically from the bottom of the
39400         frame and scroll-margin is nonzero, the top of the buffer contents are
39401         hidden due to scroll.
39402         * lisp/time.el (display-time-world-display): Move point to point-min
39403         after inserting contents.
39405 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39407         Allow null entries in face and image cache
39409         Problem reported by Tino Calancha (Bug#23580).
39410         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
39411         Don’t assume that the result is non-null.
39412         * src/xdisp.c (fill_image_glyph_string):
39413         Restore check that image pointer is non-null.
39415 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39417         Fix flyspell highlighting
39419         Problem reported by Jim Meyering (Bug#23575).
39420         * src/xdisp.c (extend_face_to_end_of_line):
39421         Fix typo in previous change.
39423 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
39425         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
39427 2016-05-18  Sam Steingold  <sds@gnu.org>
39429         python-describe-at-point: add and bind
39431 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39433         ‘make check-declare’ now chatters less
39435         * etc/NEWS: Document this.
39436         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
39437         Return relative names, not absolute.
39438         (check-declare-scan, check-declare-verify, check-declare-warn)
39439         (check-declare-file, check-declare-directory):
39440         Generate less chatter.  Use relative file names rather than
39441         absolute.  Don’t give up on computing a good file name for a
39442         diagnostic merely because the function name was bad.  Make
39443         malformed declarations more noticeable.  Don’t warn about
39444         "ext:..." declarations if check-declare-ext-errors is nil.
39445         (check-declare-errmsg): Remove.
39446         (check-declare-warn): New optional arg LINE.
39447         (check-declare-files): Put status into mode line rather than
39448         chattering.
39450 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39452         Pacify byte-compiler for byte-compile-macroexpand-declare-function
39454         * lisp/emacs-lisp/bytecomp.el: Change signature of
39455         byte-compile-macroexpand-declare-function to match that of
39456         declare-function.
39458 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39460         Pacify byte-compiler for with-wrapper-hook
39462         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
39463         New macro, split out from with-wrapper-hook.
39464         * lisp/abbrev.el (abbrev--default-expand):
39465         * lisp/minibuffer.el (completion--in-region):
39466         * lisp/simple.el (buffer-substring--filter):
39467         * lisp/subr.el (with-wrapper-hook):
39468         Use it.
39470 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39472         Pacify byte-compiler in lisp/url
39474         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
39475         Add decl.
39477 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39479         Port --enable-gcc-warnings to GCC 6.1
39481         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
39482         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
39483         Omit test whether pointer plus a constant equals a null pointer.
39484         * src/alloc.c (compact_small_strings):
39485         Avoid pointer arithmetic on null pointers.
39486         * src/alloc.c (mark_face_cache):
39487         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
39488         * src/fringe.c (draw_fringe_bitmap_1)
39489         (Fset_fringe_bitmap_face):
39490         * src/macfont.m (macfont_draw):
39491         * src/msdos.c (IT_set_face, IT_clear_screen):
39492         * src/nsfont.m (nsfont_draw):
39493         * src/nsterm.h (FRAME_DEFAULT_FACE):
39494         * src/nsterm.m (ns_draw_window_cursor)
39495         (ns_draw_vertical_window_border, ns_draw_window_divider)
39496         (ns_dumpglyphs_box_or_relief)
39497         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
39498         (ns_dumpglyphs_stretch):
39499         * src/w32term.c (w32_draw_vertical_window_border)
39500         (w32_draw_window_divider, x_set_mouse_face_gc):
39501         * src/xdisp.c (estimate_mode_line_height, init_iterator)
39502         (handle_face_prop, handle_single_display_spec, pop_it)
39503         (CHAR_COMPOSED_P, get_next_display_element)
39504         (next_element_from_display_vector, extend_face_to_end_of_line)
39505         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
39506         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
39507         (lookup_named_face):
39508         * src/xterm.c (x_draw_vertical_window_border)
39509         (x_draw_window_divider, x_set_mouse_face_gc):
39510         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
39511         * src/xterm.c (try_window_id):
39512         Redo loop to convince GCC 6.1 that it is null pointer safe.
39513         (x_color_cells):
39514         Use eassume as necessary to pacify GCC 6.1.
39515         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
39516         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
39517         behavior of the non-_OPT macro, to be used when the result
39518         might be a null pointer.
39519         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
39520         [HAVE_WINDOW_SYSTEM]:
39521         * src/intervals.h (INTERVAL_WRITABLE_P):
39522         * src/term.c (turn_off_face):
39523         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
39524         (produce_image_glyph, produce_xwidget_glyph):
39525         * src/xfaces.c (lookup_named_face):
39526         Remove unnecessary test for null pointer.
39527         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
39528         * src/process.c (would_block): New function.
39529         (server_accept_connection, wait_reading_process_output, send_process):
39530         Use it.
39531         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
39532         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
39533         might be null.
39535 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39537         Sync from gnulib
39539         This incorporates:
39540         2016-05-17 manywarnings: update for GCC 6.1
39541         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
39542         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
39544 2016-05-16  Glenn Morris  <rgm@gnu.org>
39546         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
39547         Include more details on hydra.
39549 2016-05-16  Alan Mackenzie  <acm@muc.de>
39551         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
39553 2016-05-16  Alan Mackenzie  <acm@muc.de>
39555         Fix spurious fontification of "for (; a * b;)" in CC Mode.
39557         This fixes bug #7918 (again).
39559         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
39560         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
39561         cons cell - additionally, return a flag indicating whether the declaration
39562         parsed might have been an expression, and the position of the type identifier
39563         in the said declaration.
39565         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
39566         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
39567         check for it being a spurious declaration in a "for" statement.
39569 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39571         Pacify ‘make check-declare’
39573         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
39574         (data-debug-insert-stuff-list, data-debug-insert-thing):
39575         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
39576         (viper-change-state-to-emacs):
39577         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
39578         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
39579         * lisp/org/ob-awk.el (orgtbl-to-generic):
39580         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
39581         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
39582         * lisp/org/ob-exp.el (org-element-context):
39583         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
39584         (orgtbl-to-generic):
39585         * lisp/org/ob-haskell.el (org-export-to-file):
39586         * lisp/org/ob-latex.el (org-create-formula-image)
39587         (org-latex-compile):
39588         * lisp/org/ob-python.el (run-python):
39589         * lisp/org/ob-sh.el (orgtbl-to-generic):
39590         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
39591         * lisp/org/org-colview.el (org-agenda-redo):
39592         * lisp/org/org-feed.el (url-retrieve-synchronously):
39593         * lisp/org/org-info.el (Info-find-node):
39594         * lisp/org/org-list.el (org-previous-line-empty-p):
39595         * lisp/org/org-macs.el (org-string-match-p):
39596         * lisp/org/org.el (org-beamer-mode):
39597         Fix prototype to match current definition.
39598         * lisp/emacs-lisp/advice.el (function-called-at-point):
39599         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
39600         Fix typo: extra '.
39601         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
39602         Insert ,' to pacify check-declare.
39603         * lisp/org/ob-comint.el (tramp-flush-directory-property):
39604         * lisp/org/ob-tangle.el (org-babel-update-block-body):
39605         * lisp/org/org-bibtex.el (org-babel-trim):
39606         * lisp/org/org-pcomplete.el (org-export-backend-options):
39607         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
39608         Fix file name in declare-function.
39609         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
39610         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
39611         * lisp/org/org.el (org-beamer-mode):
39612         * lisp/url/url-http.el (gnutls-negotiate):
39613         Append ‘t’ to declare-function, since the declaration isn’t a defun.
39614         * lisp/org/ob-core.el (show-all):
39615         Declare outline-show-all instead, since it is the
39616         non-obsolete version of this function.
39617         (org-save-outline-visibility): Remove; not needed.
39618         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
39619         (geiser-eval-region, geiser-repl-exit):
39620         * lisp/org/ox-org.el (htmlize-buffer):
39621         Prepend "ext:" to file name, since it is not part of Emacs.
39622         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
39623         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
39624         Remove decl, since function was removed.
39625         * lisp/org/ob-sh.el (org-babel-comint-with-output):
39626         * lisp/org/org-macro.el (org-with-wide-buffer):
39627         Omit unnecessary (and mismatching) decl.
39628         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
39629         * lisp/org/org-clock.el (calendar-iso-to-absolute):
39630         Declare calendar-iso-to-absolute instead, since it is the
39631         non-obsolete version of this function.
39632         * lisp/org/org-compat.el (w32-focus-frame):
39633         Remove decl, since function is now obsolete.
39635 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
39637         :max-width/height fixes for shr after the scaling changes
39639         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
39640         max-width and max-height even after the scaling changes done
39641         earlier this year.
39643 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
39645         Fix reading minibuffer input in viper-mode
39647         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
39648         Restore an assignment to viper-initial that got lost when
39649         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
39651 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39653         Port autogen.sh to Git 2.4
39655         Problem reported by Michael Brand in:
39656         https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00367.html
39657         * autogen.sh (git_config): Don't assume that git rev-parse
39658         groks --git-common-dir.
39660 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39662         Merge from origin/emacs-25
39664         6de0715 Properly reject malformed or empty package sigs
39665         edae7d9 Remove buggy non-native image scrolling
39667 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39669         Improve display of tex-verbatim and Info quoted
39671         Problem reported by Glenn Morris (Bug#19889).
39672         * doc/emacs/display.texi (Standard Faces):
39673         * doc/lispref/display.texi (Basic Faces):
39674         * etc/NEWS: Mention fixed-pitch-serif.
39675         * lisp/faces.el (face-font-family-alternatives):
39676         New family alias Monospace Serif.
39677         (fixed-pitch-serif): New face, which uses the new family.
39678         * lisp/info.el (Info-quoted):
39679         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
39680         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
39681         Add test case for Monospace Serif.
39683 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
39685         * lisp/net/sieve-mode.el: Handle the text:... notation
39687         Get rid of redundant :group keywords.
39688         (sieve-mode-syntax-table): Move initialization into declaration.
39689         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
39690         (sieve-mode): Use them.
39692 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39694         Tweak check-declare-directory performance
39696         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
39697         Use ‘find ... -exec ... +’ for speed.
39699 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39701         Sync from gnulib
39703         This incorporates a spelling fix, plus:
39704         2016-05-09 Fix undefined behaviour in gettext.h
39705         * lib/gettext.h, lib/mktime.c:
39706         Copy from gnulib.
39708 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39710         Merge from origin/emacs-25
39712         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
39713         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
39714         1a5a05c Do not mistake colon at the end of regexp for slash symbol
39715         4c5a00b Make package-install-from-buffer not move point
39716         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
39717         f79c352 Redo the fix for bug#21839
39718         8d2f78c Don't treat JS spread as contination method call
39720 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
39722         Correct server/client address
39724         * src/process.c (Fmake_network_process): :local is for servers and :remote
39725         is for clients.
39727 2016-05-12  Ken Brown  <kbrown@cornell.edu>
39729         Autosave buffers on logout if HAVE_NTGUI
39731         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
39732         w32_read_socket.
39734         * src/w32term.c (w32_read_socket): Create an event of type
39735         END_SESSION_EVENT if a WM_ENDSESSION message is received.
39737         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
39739         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
39740         `end-session'.
39741         (kbd_buffer_get_event): Return an end-session event if an event of
39742         type END_SESSION_EVENT is read.
39743         (keys_of_keyboard): Bind the end-session event to kill-emacs in
39744         special-event-map.  (Bug#23483)
39746 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
39748         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
39750         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
39751         (object-print): Use cl-call-next-method instead of call-next-method.
39752         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
39754 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
39756         * lisp/cedet/semantic: Silence some warnings
39758         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
39759         (semanticdb-get-database-tables): Use make-instance to silence warnings.
39761         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
39762         some macros from there.  Silence compilation warnings:
39763         Replace initargs with slot names in oref/oset.
39764         Move `SYMREF TOOLS' section earlier so definitions precede their use.
39766 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
39768         Support srcset in <img>
39770         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
39771         with srcset specifiers (bug#23459).
39773 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
39775         Do not autoload some functions of tramp.el
39777         * lisp/net/tramp.el (tramp-completion-file-name-handler):
39778         Autoload a shortened version of this function, avoid recursive load.
39779         (tramp-completion-file-name-handler-alist)
39780         (tramp-completion-mode-p)
39781         (tramp-completion-handle-expand-file-name)
39782         (tramp-completion-handle-file-name-all-completions)
39783         (tramp-completion-handle-file-name-completion): Do not autoload.
39785 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
39787         Avoid recursive load of tramp.el
39789         * lisp/net/tramp.el (tramp-completion-file-name-handler):
39790         Autoload a shortened version of this function, avoid recursive load.
39792 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
39794         Fix a problem of tramp-tests on hydra.
39796         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
39797         Nullify `tramp-default-method' due to hydra.
39799 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39801         Pacify byte-compiler in lisp/vc
39803         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
39804         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
39805         Declare functions defined elsewhere, to forestall “might not
39806         be defined at runtime” warnings.
39808 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39810         Merge from origin/emacs-25
39812         d0d9f55 Allow newlines inside cl function arglists
39813         963541a Publicize cl--generic-all-functions
39814         3c581d5 ; Fix typo
39815         e58f900 Add some "safe-local-variable" declarations for compatibility...
39817 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39819         'text-quoting-style' now affects only ` and '
39821         Change 'text-quoting-style' so that it no longer affects
39822         formatting of curved quotes in format arguments to functions like
39823         'message'.  In particular, when this variable's value is 'grave',
39824         all quotes in formats are output as-is.
39825         * doc/lispref/help.texi (Keys in Documentation):
39826         * doc/lispref/strings.texi (Formatting Strings):
39827         * doc/lispref/tips.texi (Documentation Tips):
39828         * etc/NEWS:
39829         * src/doc.c (syms_of_doc): Document this.
39830         * lisp/help-fns.el (describe-function-1):
39831         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
39832         (syms_of_doc):
39833         * src/editfns.c (styled_format): Omit now-unnecessary code.
39834         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
39836 2016-05-10  Alan Mackenzie  <acm@muc.de>
39838         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
39840         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
39841         being reverted because it slowed down CC Mode's fontification too much
39842         (factor ~3).  It was the fix to bug #7918.
39844 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
39846         Move "Recent messages" earlier in report-emacs-bug
39848         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
39849         messages" part earlier so that users can see it and remove it
39850         if they want.
39852 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
39854         Pacify byte compiler in tramp.el
39856         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
39858 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
39860         Merge from origin/emacs-25
39862         3b47898 Fix doc string in `insert'
39863         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
39864         cd27f73 Say 'All results processed' at the end
39865         4ffec91 Document automatic adjustment of process' logical window dime...
39866         dc66271 ; Fix typos and stylistic glitches in NEWS
39868 2016-05-09  Alan Mackenzie  <acm@muc.de>
39870         CC Mode now uses the new :after-hook feature of define-derived-mode
39872         It now runs internal variable setting functions after the mode hooks, no
39873         longer runs the mode hooks twice, and declares the configuration variables for
39874         noise macros and macros with semicolons as safe variables (when given suitable
39875         arguments).
39877         Fixes bug #16759 and bug #23476.
39879         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
39880         back into the C Mode value.
39882         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
39883         c-make-macro-with-semi-re.
39884         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
39885         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
39886         and c-update-modeline into the :after-hook form.  Remove the explicit settings
39887         of the syntax table, the abbreviation table and the local key map, since they
39888         duplicate forms generated by define-derived-mode.  Remove the explicit
39889         invocation of each mode's mode hook, since they duplicate ones generated by
39890         define-derived-mode.
39892         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
39893         functions.
39894         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
39895         save-local-variable property c-string-list-p.
39896         (c-macro-names-with-semicolon): give the save-local-variable property
39897         c-string-or-string-list-p.
39899         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
39900         necessary to call the regexp generating functions after setting the pertinent
39901         configuration values in a mode hook.
39903 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
39905         Fix the jit-lock-fontify-now test names
39907         * test/lisp/jit-lock-tests.el
39908         (jit-lock-fontify-now-mends-the-gaps)
39909         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
39910         Fix the test names.
39912 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
39914         Extend completion candidates in tramp.el
39916         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
39917         (tramp-get-completion-function): Use it.
39919 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
39921         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
39923         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
39924         compatibility.
39926 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
39928         Emulate interactive mode
39930         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
39931         (jit-lock-does-not-refontify-unnecessarily):
39932         Bind noninteractive to nil (bug#23278).
39934 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
39936         Simplify now that float-time etc. are built-in
39938         This was prompted by warnings about calls to now-obsolete functions.
39939         * lisp/calendar/time-date.el (encode-time-value):
39940         Use setq rather than a recursive call, to avoid a warning
39941         about calling this obsolete function.
39942         * lisp/calendar/time-date.el (encode-time-value)
39943         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
39944         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
39945         * lisp/net/rcirc.el (rcirc-float-time):
39946         * lisp/org/org-compat.el (org-float-time):
39947         Simplify now that time-add and float-time are now built-in.
39948         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
39949         * lisp/net/newst-backend.el (time-add):
39950         * lisp/org/org.el (time-subtract):
39951         Remove backward-compatibility definitions; they are now built-in.
39952         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
39953         (timeclock-seconds-to-time):
39954         * lisp/net/rcirc.el (rcirc-float-time):
39955         * lisp/org/org-compat.el (org-float-time):
39956         Now obsolete, since callers can just use float-time and
39957         seconds-to-time.  All uses changed.
39958         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
39959         * lisp/gnus/gnus-art.el (article-lapsed-string):
39960         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
39961         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
39962         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
39963         * lisp/net/tramp.el (tramp-time-diff):
39964         * lisp/org/org-clock.el (org-clock-timestamps-change):
39965         Prefer the time-subtract builtin to the subtract-time alias.
39966         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
39967         * test/lisp/character-fold-tests.el (character-fold--speed-test):
39968         Prefer the float-time builtin to the time-to-seconds alias.
39969         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
39970         * lisp/org/org-timer.el, lisp/org/org.el:
39971         Adjust to org-float-time deprecation.
39973 2016-05-08  Alan Mackenzie  <acm@muc.de>
39975         Add :after-hook facility to define-derived-mode.
39977         This allow a form to be evaluated _after_ a major mode's hooks have been run.
39978         It is needed to solve some problems in CC Mode, including bug #16759 and
39979         bug #23476.
39981         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
39982         `:after-hook', and generate the requisite code for it.
39983         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
39985         * lisp/subr.el (delayed-after-hook-forms): New variable.
39986         (run-mode-hooks): As the last thing evaluate the forms in
39987         delayed-after-hook-forms.
39989         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
39990         (Mode Hooks): Document the new feature in run-mode-hooks.
39992         * etc/NEWS: Note the new feature.
39994 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
39996         Fix recursive load of tramp.elc
39998         * lisp/net/tramp.el (tramp-completion-file-name-handler):
39999         Check also for `tramp-completion-mode-p'.
40000         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
40002 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
40004         Prefer grep -E/-F to egrep/fgrep
40006         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
40007         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
40008         are probably more portable.
40009         * lib-src/etags.c (main):
40010         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
40011         (eshell/fgrep):
40012         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
40013         * lisp/eshell/esh-var.el (eshell-apply-indices):
40014         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
40015         (ada-find-in-src-path):
40016         * lisp/textmodes/ispell.el (ispell-grep-command):
40017         (ispell-lookup-words):
40018         Use or document grep -E and grep -F instead of egrep and fgrep.
40019         * lisp/textmodes/ispell.el (ispell-grep-options):
40020         Use -Ei on all platforms, not just MS-Windows.
40022 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
40024         Avoid unnecessary work if a chunk is empty
40026         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
40027         if a chunk is empty (bug#23278).
40029 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
40031         * test/lisp/jit-lock-tests.el: New file.
40033 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
40035         Continue to fix Bug#10085
40037         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
40038         <expand-file-name>: Add handler.
40039         (tramp-completion-handle-expand-file-name): New defun.
40040         (tramp-handle-file-name-as-directory): Handle completion mode case.
40042         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40043         Fix test.
40044         (tramp-test24-file-name-completion): Extend test.
40046 2016-05-07  Alan Mackenzie  <acm@muc.de>
40048         Revert change 8e4595a... due to annoyance it causes the development team.
40050         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
40051         +0000 was an enhancement to .dir-locals to allow correct fontification
40052         of certain macro constructs.
40054         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
40056 2016-05-07  Alan Mackenzie  <acm@muc.de>
40058         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
40060 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
40062         Add tests for CSS mode completion
40064         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
40065         (css-test-property-values-no-duplicates)
40066         (css-test-value-class-lookup): Use `seq-sort'.
40067         (css-mode-tests--completions): New helper function for retrieving CSS
40068         completions.
40069         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
40070         (css-test-complete-property-value, css-test-complete-pseudo-class)
40071         (css-test-complete-pseudo-element, css-test-complete-at-rule)
40072         (scss-test-complete-at-rule, css-test-complete-property)
40073         (css-test-complete-selector, css-test-complete-nested-selector)
40074         (scss-test-complete-nested-selector): New tests.
40076 2016-05-06  Alan Mackenzie  <acm@muc.de>
40078         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
40080         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
40081         variables which was missing.
40083         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
40084         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
40086         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
40087         (Edebug Options): Document the new option.  Also add documentation for
40088         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
40089         edebug-print-circle, edebug-sit-for-seconds.
40091         * etc/NEWS: Note the new feature.
40093 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
40095         scheme.el: Turn literal tabs into \t
40097         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
40098         also caught some literal tabs in character classes. Fix this by
40099         adding \t to those classes.
40101 2016-05-07  Tino Calancha  <f92capac@gmail.com>
40103         Make 'backtab' work in table-mode on text terminals
40105         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
40106         explicitly.  (Bug#23456)
40108 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
40110         Try to speed-up display of many all-blank lines
40112         * src/bidi.c (bidi_initialize): Use anchored regexps for
40113         paragraph start and paragraph separator sequences.  (Bug#23457)
40115 2016-05-06  Alan Mackenzie  <acm@muc.de>
40117         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
40119         Prevent hack-local-variables being called from the fundamental-mode mode call
40120         early in normal-mode.  This fixes bug #23460 and bug #23463.
40122         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
40123         the things it calls, with the exception of hack-local-variables.
40125         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
40126         major mode initialization.
40128 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40130         Port xref-tests to master branch
40132         Also, add a test to make this problem less likely in the future.
40133         * test/Makefile.in (check-no-automated-subdir): New rule.
40134         (check, check-expensive, check-maybe): Depend on it.
40135         * test/automated/data/xref/file1.txt: Rename to ...
40136         * test/data/xref/file1.txt: ... here.
40137         * test/automated/data/xref/file2.txt: Rename to ...
40138         * test/data/xref/file2.txt: ... here.
40139         * test/automated/xref-tests.el: Rename to ...
40140         * test/lisp/progmodes/xref-tests.el: ... here.
40141         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
40143 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
40145         Merge from origin/emacs-25
40147         50650cb Doc fixes for fclist and grep
40148         5e814e0 Minor doc fixes for quoting
40149         3347a73 `nreverse' the marker pairs list
40150         1a4127d Use save-excursion in xref-location-marker more
40151         ab3ba91 shell-quote-argument DIR when appropriate
40152         922c7a3 Rework xref-query-replace-in-results
40153         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
40154         0932b94 Fix todo-mode bug involving archived items (bug#23447)
40155         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
40156         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
40157         4d8fd9c Handle "empty line" regexp in xref searches
40158         f559b37 Add tests for xref-collect-matches
40159         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
40160         6f82d8e Clear buffer-undo-list when showing xrefs
40161         c68a091 Note the quote translation in `message' in section "incompati...
40162         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
40163         93703c5 (Common Keywords): Correct what missing :group means
40164         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
40165         2ea2a2f Doc fixes for quoting
40166         8544b98 posnp doc clarification
40167         805204f Mention what a missing :group does
40168         ec554d7 Fix documentation of dired-aux search/replace commands
40170 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
40172         Support completion of HTML tags in CSS selectors
40174         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
40175         list of HTML tags for completion.
40176         (css--nested-selectors-allowed): New variable for determining whether
40177         nested selectors are allowed in the current mode.
40178         (css--complete-selector): New function for completing part of a CSS
40179         selector.
40180         (css-completion-at-point): Support completion of selectors.
40181         (scss-mode): Allow nested selectors.
40183 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
40185         Make `R' in eww work more reliably
40187         * lisp/net/eww.el (eww-score-readability): Protect against
40188         null children.
40190 2016-05-05  Alan Mackenzie  <acm@muc.de>
40192         Call hack-local-variables from major modes rather than from file visiting
40194         This prevents file/directory local variables from being lost when the major
40195         mode is set or changed.
40197         This fixes bug #15577 and bug #23407.
40199         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
40200         function hasn't already done so.
40201         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
40202         its previous non-nil setting be t, and introduce the following action for a
40203         non-nil non-t value: apply all settings apart from `mode'.
40205         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
40206         which are visiting files.
40208         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
40209         sets file variables.
40210         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
40211         dir local variables, but `coding' can't.
40213         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
40214         also calls `hack-local-variables'.
40215         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
40216         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
40217         saying that the mode IS SET, not merely "selected" or "chosen".
40218         (Mode Hooks): Document change to `run-mode-hooks'.
40220         * doc/lispref/variables.texi (File Local Variables): Document change to
40221         `hack-local-variables'.
40223 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
40225         tramp-sh.el: Work around a stat bug
40227         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
40228         stat versions which produce shell quoted output.  See also
40229         coreutils Bug#23422.
40231 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
40233         Fix autogen.sh for separate worktrees
40235         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
40236         of assuming .git/hooks is a directory.
40238 2016-05-04  Alan Mackenzie  <acm@muc.de>
40240         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
40242         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
40243         when text-quoting-style is `leave'.
40245         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
40247         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
40248         `text_quoting_style'.
40249         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
40250         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
40251         LEAVE_QUOTING_STYLE.
40253         * src/editfns.c (styled_format): Set quoting_style to -1 when
40254         text-quoting-style is `leave'.
40256 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
40258         * lisp/emulation/viper.el:
40259         * lisp/emulation/viper-cmd.el: Use lexical-binding.
40260         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
40261         args, for use in advice-add.
40262         (viper--init-message): Rename from init-message.
40263         (viper-minibuffer-standard-hook): Adjust accordingly.
40264         (viper-undo): Remove unused var `modified'.
40265         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
40266         Don't use dynamic vars as args.
40267         (viper-submit-report): Clarify use of dynamic vars.
40269         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
40270         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
40271         Use add-function rather than a `(lambda ...).
40272         (viper--advice-list): New var.
40273         (viper--advice-add, viper--deactivate-advice-list): New funs.
40274         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
40275         (viper-non-hook-settings): Don't hook into find-file any more.
40277 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
40279         * lisp/vc/ediff-util.el: Use lexical-binding.
40281         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
40283 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
40285         Add an animation sanity check
40287         * lisp/image.el (image-multi-frame-p): Give up on animations
40288         if it seems like they are too slow (bug#23431).
40290 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
40292         abbrev-tests.el fix
40294         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
40295         internal implementation detail.
40297 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
40299         (shr-rescale-image): Clarify logic slightly
40301         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
40303 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
40305         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
40307         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
40308         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
40309         Monnier.  (Bug#19185, Bug#20398)
40311 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
40313         Add more abbrev tests
40315         * test/lisp/abbrev-tests.el
40316         (clear-abbrev-table-test): Use `abbrev-expansion'
40317         (abbrev-table-empty-p-test, list-abbrevs-test)
40318         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
40319         (edit-abbrevs-test, define-abbrevs-test)
40320         (read-write-abbrev-file-test)
40321         (abbrev-edit-save-to-file-test): New tests (bug#23139).
40323 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
40325         Allow eval-ing named character literals
40327         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
40328         named character literals.
40329         * test/lisp/progmodes/elisp-mode-tests.el
40330         (elisp--preceding-sexp--char-name): Add test for skipping over
40331         named character literals (bug#23354).
40333 2016-05-02  Aaron Conole  <aconole@redhat.com>
40335         Call va_end in boot_error
40337         * src/gnutls.c (boot_error): A recent change added a function
40338         to signal an error or return an error code. That function uses
40339         a variadic argument list to populate an error message
40340         string. However, it missed calling va_end after using the
40341         variadic argument list.
40343           Copyright-paperwork-exempt: yes
40345 2016-05-02  Aaron Conole  <aconole@bytheb.org>
40347         Fix the call to set_network_coding_system
40349         * src/process.c (Fmake_network_process): A recent commit
40350         modified the set_network_socket_coding_system function to take
40351         arguments host, service, and name. However, those arguments
40352         appear to be swapped.
40354           Copyright-paperwork-exempt: yes
40356 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
40358         Revert "alas, a map can have only one parent"
40360         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
40362         This had already been fixed by using `make-composed-map'.  And
40363         we don't want image-map to inherit from special-mode-map, anyway.
40365 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
40367         Merge from origin/emacs-25
40369         bf21c84 Fix quoting problem in cc-engine debug message
40370         8f36614 Add electric-quote-string unit test
40371         6280531 Don’t electrically quote ‘'’ in Python
40372         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
40374 2016-05-02  Sam Steingold  <sds@gnu.org>
40376         alas, a map can have only one parent
40378         * lisp/image-mode.el (image-model-map): Cannot have two parents.
40379         * lisp/image.el (image-map): Inherit from `special-mode-map'.
40381 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
40383         Fix Bug#10085
40385         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
40386         Add optional arguments OPERATION and COMPETION.  Handle
40387         `file-name-as-directory', `file-name-directory' and
40388         `file-name-nondirectory' also in completion mode.
40389         (tramp-file-name-handler): Use it.  (Bug#10085)
40391         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40392         Extend test.
40394 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
40396         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
40398 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40400         Tweak .gitignore
40402         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
40403         as these files are no longer created.  Add gmon.out, for
40404         -pg profiling.  Sort.
40406 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40408         Sync from gnulib
40410         This incorporates:
40411         2016-05-01 mktime: port to stricter signed overflow checking
40412         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
40413         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
40414         2016-05-01 mktime: simplify DEBUG_MKTIME
40415         2016-05-01 Port mktime_internal offset to unsigned time_t
40416         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
40417         2016-04-13 mktime: improve integer overflow checking
40418         2016-04-13 intprops: check two's complement assumption
40419         2016-04-13 intprops, mktime, strtol: assume two's complement
40420         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
40421         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
40422         Copy from gnulib.
40424 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40426         Merge from origin/emacs-25
40428         c695fb3 ; Spelling fixes
40429         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
40430         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
40432 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40434         Merge from origin/emacs-25
40436         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
40437         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
40438         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
40440         # Conflicts:
40441         #       doc/misc/url.texi
40442         #       lisp/url/url.el
40444 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40446         Merge from origin/emacs-25
40448         16e5e8e Fix last change to isearch-update (bug#23406)
40449         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
40450         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
40451         86aa409 Followup for last commit in the user manual
40452         7004459 Improve doc string of 'set-goal-column'
40453         ccdaf04 Fix the MSDOS build
40454         ffe701c Remove \= from format string (bug#18190)
40455         1c58fa1 Fix variable-pitch font on MS-Windows
40456         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
40457         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
40458         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
40459         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
40460         734fb3a Port dumping to NetBSD with PaX
40461         0255a70 Don't mistake `for' inside a function for a part of array com...
40463         # Conflicts:
40464         #       src/Makefile.in
40466 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40468         Merge from origin/emacs-25
40470         71fb0e0 Improve last change to vc-git-mode-line-string
40471         6858e77 Todo mode doc bug fix
40472         e55d0db Fix revision calculation in vc-git-mode-line-string
40473         ca87b34 ; Fix errant revert ccb75d7
40474         40bfebe Add Python 3.5 keyword "await"
40475         fa7886a Add new keywords of Python 3.5
40476         ccb75d7 Partially revert previous change.
40477         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
40478         b09ca27 Say why text-quoting-style is not a user option
40480 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40482         Merge from origin/emacs-25
40484         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
40485         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
40486         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
40488 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
40490         Mention the `find-library-name' changes
40492 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
40494         Fix text in menu in minor-mode-menu-from-indicator
40496         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
40497         capitalize "Off" in "Turn Off" (bug#11028).
40499 2016-05-01  David Engster  <deng@randomsample.de>
40501         gitmerge: Add cherry pick to gitmerge-skip-regexp
40503         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
40504         from commit", which is the string appended by 'git cherry-pick
40505         -x'.
40507 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
40509         Allow `global-set-key' to bind keys under the `M-o' map
40511         * lisp/subr.el (global-set-key): Allow binding keys under the
40512         `M-o' map (bug#9730).
40514 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
40516         Add `size-indication-mode' to the menu on `mouse-1' "Top"
40518         * lisp/bindings.el (mode-line-column-line-number-mode-map):
40519         Add `size-indication-mode' to the menu (bug#5727).
40521 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
40523         Allow finding libraries loaded manually outside the load-path
40525         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
40526         New function to find a library from a load path (bug#5661).
40527         (find-library-name): Use it.
40529         There are so many combinations of inputs and possibly entries in
40530         `load-history' that the code looks like an entry in a code obfuscation
40531         contest.  If anybody has a better implementation, please substitute.
40533         But remember that the input given may be foo, foo.el, foo.elc, and the
40534         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
40535         want to return only foo.el and foo.el.gz.  *phew*
40537 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
40539         Allow minibuffer prompts to use faces
40541         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
40542         `minibuffer-prompt-properties' and explain how faces work in
40543         the minibuffer prompt.
40545         * src/minibuf.c (read_minibuf): If `face' is in
40546         `minibuffer-prompt-properties', apply it to the end of the
40547         face list to allow users to have their own faces on the
40548         prompts (bug#16136).
40550 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
40552         Add R7RS syntax forms to scheme.el
40554         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
40555         a number of special forms introduced in R7RS-small.
40556         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
40558 2016-05-01  Alan Third  <alan@idiocy.org>
40560         Implement horizontal scroll bars on NS
40562         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
40563         check.
40564         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
40565         scroll-bar mouse clicks to standard handlers.
40566         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
40567         pixel_height to pixel_length.
40568         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
40569         caused scroll-bars to be over-drawn and the best working solution
40570         appears to be complete removal.
40571         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
40572         correctly.
40573         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
40574         (setFrame): Handle horizontal case.
40575         (dealloc): Handle horizontal case.
40576         (judge): Handle horizontal case.
40577         (setPosition): Rename pixel_height to pixel_length.
40578         (sendScrollEventAtLoc): Handle horizontal case.
40579         (mouseDown): Handle horizontal case and general tidy up of code.
40580         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
40581         absolute pixel size instead of ratio.
40582         * src/window.h: Remove NS check.
40584 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
40586         tramp.texi: Revert last change due to backward compatibility
40588 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
40590         Fix the buffer-count patch (Bug#23394)
40592         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
40593         once each time through the loop.  Reported by Lars Ingebrigtsen in:
40594         https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00918.html
40596 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40598         cua-prefix-override-inhibit-delay doc fix
40600         * lisp/emulation/cua-base.el
40601         (cua-prefix-override-inhibit-delay): Typo fix in doc string
40602         (bug#23401).
40604 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
40606         Fix generate-new-buffer-name increment typo
40608         Problem reported by Chaitanya Koparkar (Bug#23394).
40609         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
40610         generating a new buffer.  This fixes a typo I introduced in
40611         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
40613 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40615         global-eldoc-mode doc fix
40617         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
40618         specific about what "applicable" means (bug#23071).
40620 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40622         Make the legend in describe-categories a link
40624         * lisp/help-fns.el (describe-categories): Make the "see
40625         bottom" text a link (bug#22227).
40627 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40629         normal-top-level-add-subdirs-to-load-path doc fix
40631         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
40632         Doc fix (bug#21962).
40634 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40636         isearch-search-fun-function doc tweak
40638         * lisp/isearch.el (isearch-search-fun-function): Mention what
40639         the STRING parameter is (bug#21552).
40641 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40643         Fill some imenu--index-alist doc lines
40645         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
40647 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40649         Make describe-variable look up the variable in the current buffer
40651         * lisp/help-fns.el (describe-variable): Get the variable
40652         definition in the buffer we were called from (in case it only
40653         exists there) (bug#21252).
40655 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40657         Fmarker_position doc string clarification
40659         * src/marker.c (Fmarker_position): Clarify the doc string
40660         (bug#21231).
40662 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40664         Further define-obsolete-* doc fixups
40666         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
40667         Fix up last change.
40668         (define-obsolete-variable-alias): Ditto.
40670 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40672         Describe WHEN in all the define-obsolete- macros
40674         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
40675         Say more verbosely what WHEN is (bug#21225).
40676         (define-obsolete-function-alias): Describe the WHEN parameter.
40677         (define-obsolete-variable-alias): Ditto.
40679 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40681         Mention with-silent-modifications in the lispref manual
40683         * doc/lispref/text.texi (Changing Properties): Document
40684         with-silent-modifications (bug#21171).
40686 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40688         with-silent-modifications doc clarification
40690         * lisp/subr.el (with-silent-modifications): Rearrange the doc
40691         string a bit so that the most pertinent information is at the
40692         top (bug#21171).
40694 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40696         clear-visited-file-modtime doc string fix
40698         * lisp/files.el (clear-visited-file-modtime): Fix possibly
40699         confusing doc string wording (bug#21169).
40701 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40703         Document mode mode line variables
40705         * doc/lispref/modes.texi (Mode Line Variables): Document
40706         `mode-line-front-space, `mode-line-misc-info',
40707         `mode-line-end-spaces' (bug#21014).
40709 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40711         Add a cross ref to Optional Mode Line
40713         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
40714         reference to the Emacs mode line node that explains things
40715         like `display-time-string' (bug#21002).
40717 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40719         Add a doc string to display-time-string
40721         * lisp/time.el: Add a doc string to `display-time-string',
40722         because it's referred to in the manual, and is too mysterious
40723         otherwise (bug#21002).
40725 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40727         custom-buffer-style doc fix
40729         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
40730         value (bug#20724).
40732 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40734         Document how to check for ImageMagick support
40736         * doc/lispref/display.texi (ImageMagick Images): Say how to
40737         check for ImageMagick support, which isn't quite obvious
40738         (bug#20702).
40740 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40742         Minor doc fix for ImageMagick/SVG builds
40744         * doc/lispref/display.texi (SVG Images): Don't imply that you
40745         have to build Emacs yourself (bug#20702).
40746         (ImageMagick Images): Ditto.
40748 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40750         Rearrange the doc of query-replace slightly
40752         * lisp/replace.el (query-replace): Move the mention of the
40753         interactive prefix arg earlier so that users can find it
40754         (bug#20654).
40756 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40758         apropos-print doc fix
40760         * lisp/apropos.el (apropos-print): Document the undocumented
40761         parameters (bug#20520).
40763 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40765         completion-table-with-predicate doc string fix
40767         * lisp/minibuffer.el (completion-table-with-predicate): t ->
40768         non-nil in the doc string (bug#20460).
40770 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40772         Fill the completion-table-with-predicate doc string
40774         * lisp/minibuffer.el (completion-table-with-predicate): Fill
40775         the doc string (bug#20460).
40777 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40779         replace-match-maybe-edit doc clarification
40781         * lisp/replace.el (replace-match-maybe-edit): Say what
40782         MATCH-DATA is (bug#20304).
40784 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40786         add-timeout doc fix
40788         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
40789         value (bug#20181).
40791 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40793         Extremely minor doc fix in Choosing Window
40795         * doc/lispref/windows.texi (Choosing Window): There's only one
40796         action alist, I think (bug#20158).
40798 2016-04-30  Alan Mackenzie  <acm@muc.de>
40800         * .dir-locals.el: Amend for correct fontification of *.[ch]
40801         containing "IF_LINT"
40803 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40805         Transform mentions of `eval-after-load' to `with-eval-after-load'
40807         * doc/lispref/loading.texi (Hooks for Loading): Update text to
40808         not mention `eval-after-load' (bug#20038).
40810 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40812         cursor-type doc fix
40814         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
40815         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
40817 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40819         Add a link from Tool Bar to Images
40821         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
40822         Images node (bug#19722).
40824 2016-04-30  Alan Mackenzie  <acm@muc.de>
40826         CC Mode: Recognize a noise macro with parens after a declarator's identifier
40828         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
40829         following comment "Skip over type decl suffix operators." insert code also
40830         to check for noise macros with parentheses.
40832 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40834         (default-mode-line-format): More explicit obsolete info
40836         * lisp/subr.el (default-mode-line-format): Be more explicit in
40837         how default values are now handled (bug#19424).
40839 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40841         Fcompare_buffer_substrings doc string clarification
40843         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
40844         doc string clarification (bug#19255).
40846 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40848         insert-file-contents-literally doc fix
40850         * lisp/files.el (insert-file-contents-literally): Say that the
40851         parameters are explained in the other function (bug#18317).
40853 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40855         Fix custom types for cursor-in-non-selected-windows
40857         * lisp/cus-start.el (standard): Use the same custom types for
40858         cursor-in-non-selected-windows as for cursor-type (bug#19214).
40860 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40862         Doc clarification to mwheel-scroll
40864         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
40865         does not apply to Windows (bug#19209).
40867 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40869         Clarify the doc of eval-expression-print-format
40871         * lisp/simple.el (eval-expression-print-format): Doc
40872         clarification (bug#19114).
40874 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40876         (extended-command-suggest-shorter): Add a version string
40878         * lisp/simple.el (extended-command-suggest-shorter): Add a
40879         version string.
40881 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40883         Document extended-command-suggest-shorter
40885         * doc/emacs/m-x.texi (M-x): Mention
40886         extended-command-suggest-shorter (bug#19152).
40888 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
40890         Add a variable to control "shorter command" suggestions
40892         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
40893         (execute-extended-command): Use it.
40895 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40897         Explictly explain that package-initialize loads the packages
40899         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
40900         in saying that `package-initialize' obviates adjusting the
40901         path or requiring the packages, as this is a question that
40902         apparently comes up now and then (bug#18829).
40904 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40906         Have the doc strings of `load-path' and `require' mention each other
40908         * src/fns.c (Frequire): Mention `load-path' and fill the doc
40909         string (bug#18829).
40911         * src/lread.c (syms_of_lread): Mention that `require' uses
40912         `load-path'.
40914 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40916         Doc fix for insert-pair-alist
40918         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
40919         COMMAND-CHAR is (bug#18809).
40921 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40923         Move doc of backup-directory-alist to the Backup node
40925         * doc/emacs/files.texi (Backup): Move the documentation of
40926         `backup-directory-alist' here from the "Single or Numbered
40927         Backups" node, because it doesn't seem to have much to do with
40928         numbering (bug#18692).
40930 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40932         Tiny doc clarification for create-fontset-from-fontset-spec
40934         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
40935         Clarify what the optional part is (bug#18686).
40937 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40939         Fill the doc string of font-lock-keywords
40941         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
40942         reorganize some explanations (bug#21427).
40944 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40946         Doc fix for font-lock-remove-keywords
40948         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
40949         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
40951 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
40953         Clarify whitespace-style doc string
40955         * lisp/whitespace.el (whitespace-style): Doc clarification
40956         (bug#18296).
40958 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
40960         No need to test for jka-compr
40962         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
40963         is always available; no need to test (bug#18204).
40965 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
40967         Doc fixed for next-error-buffer-p
40969         * lisp/simple.el (next-error-buffer-p): Clarify doc string
40970         (bug#18202).
40972 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
40974         Tiny doc fix
40976         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
40977         (and fill) (bug#18201).
40979 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
40981         Doc fix
40983         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
40984         slightly (bug#18092).
40986 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
40988         delsel doc touch ups
40990         * lisp/delsel.el (delete-selection-helper): Use non-nil
40991         instead of t and clarify function return values (bug#18089).
40993 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
40995         Doc fixes for menu-bar.el
40997         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
40998         REGION parameter (bug#18028).
40999         (clipboard-kill-region): Ditto.
41001 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41003         Doc fix
41005         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
41007 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41009         Minor doc clarification
41011         * lisp/subr.el (y-or-n-p): Document the return value from "n"
41012         (bug#18024).
41014 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41016         Fill font-lock-mode doc string
41018         * lisp/font-core.el (font-lock-mode): Fill the text to make it
41019         narrower (bug#18008).
41021 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41023         Wrap the auto-generated doc string
41025         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
41026         string to make it less likely that we get overlong lines
41027         (bug#17999).
41029 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41031         Clarify hi-lock-find-patterns
41033         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
41034         (bug#17989).
41036 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41038         Warning fix in jit-lock-mode
41040         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
41041         turning the mode on in an indirect buffer, if this somehow has
41042         happened (bug#17738).
41044 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41046         Add a doc string to `winner-mode'
41048         * lisp/winner.el (winner-mode): Add a doc string based on the
41049         comments in the file (bug#17716).
41051 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41053         Doc fix for align-newline-and-indent
41055         * lisp/align.el (align-newline-and-indent): Mention that
41056         alignment is done by `align' (bug#17707).
41058 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41060         Cancel the eldoc timer when switching off eldoc mode
41062         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
41063         timer when switching off eldoc mode.  It will be restarted
41064         again if needed (bug#17582).
41066 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41068         Doc fix for `kbd'
41070         * lisp/subr.el (kbd): Describe more fully the format of the
41071         parameter (bug#17039).
41073 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41075         Add a sanity check to apropos-documentation-internal
41077         * lisp/apropos.el (apropos-documentation-internal): Add a
41078         sanity check to be less fragile in the presence of invalid
41079         data (bug#16725).
41081 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41083         Doc tweak
41085         * lisp/simple.el (use-empty-active-region): Doc tweak.
41086         There's only one region (bug#16513).
41088 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41090         Clarify `read-face-name' doc and tweak the code
41092         * lisp/faces.el (read-face-name): Clarify the documentation
41093         and allow a mix of faces and faces names in all cases
41094         (bug#16483).
41096 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41098         Remove ": ?" from the read-face-name prompt
41100         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
41101         to be more backwards compatible (bug#15909).
41103 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41105         Link from (emacs)Exiting to (lisp)Killing Emacs
41107         * doc/emacs/entering.texi (Exiting): Link to the lispref
41108         manual for further customizations (bug#15445).
41110 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41112         find-lisp doc touchups
41114         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
41115         string (bug#15047).
41116         (find-lisp-find-files): Clarify doc.
41118 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41120         Don't have the manual claim that it lists all CL incompatibilities
41122         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
41123         incompatibilities isn't exhaustive, so don't say that it is
41124         (bug#15171).
41126 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41128         Fix call of `kmacro-display'
41130         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
41131         `kmacro-display' (bug#15020).
41133 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41135         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
41137         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
41138         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
41139         (bug#14554).
41141 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41143         Rename "Directory Search" menu to "Servers"
41145         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
41146         Search" to "Directory Servers".  Suggested by Eli
41147         Zaretskii. (bug#14919).
41149         * lisp/net/eudc.el: Rename ditto throughout.
41151 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41153         Remove uses of the unused to-end parameter from simple.el
41155         * lisp/simple.el (line-move-partial): Remove usages of the
41156         unused to-end parameter, and make it optional (bug#14844).
41157         (line-move): Remove use of the unused to-end parameter.
41159 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41161         Doc fix: _ chars are automatically removed.
41163         * lisp/cus-edit.el (custom-buffer-create): _ chars are
41164         automatically removed when displaying help, so fix the last
41165         doc change.
41166         (custom-buffer-create-other-window): Ditto.
41168 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41170         Doc string change to enable-recursive-minibuffers
41172         * src/minibuf.c (syms_of_minibuf): Mention
41173         minibuffer-depth-indicator-mode in the doc string to
41174         enable-recursive-minibuffers (bug#14147).
41176 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41178         Fix definition of nobreak-space
41180         * lisp/faces.el (nobreak-space): The definition to
41181         nobreak-space was inadvertantly changed by the previous checkin.
41183 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41185         Clarify the `interactive' doc string slightly
41187         * src/callint.c (Finteractive): Clarify the doc string slightly
41188           (bug#14577).
41190 2016-04-28  Drew Adams  <drew.adams@oracle.com>
41192         Make icomplete respect `completion-ignored-extensions'
41194         * lisp/icomplete.el (icomplete-completions): Heed
41195         `completion-ignored-extensions' (bug#12939).
41197 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41199         Make ibuffer not break on newline-embedded buffer names
41201         * lisp/ibuffer.el (name): When buffer names contain newlines,
41202         quote those newlines before displaying (bug#12378).
41204 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41206         Add a new face for non-breaking hyphen characters
41208         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
41209         (Text Display): Ditto.
41211         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
41213         * src/xdisp.c (get_next_display_element): Use it instead of
41214         the escape-glyph face.
41216         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
41218 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41220         Make a menu less ambiguous
41222         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
41223         is about using modifier keys, not binding them (bug#10942).
41225 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41227         Make kill-emacs-query-functions into defcustom
41229         * lisp/files.el (save-buffers-kill-terminal): Mention
41230         `save-buffers-kill-emacs' (bug#10794).
41231         (kill-emacs-query-functions): Made into a defcustom.
41233 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41235         Have describe-variable output multi-line values better
41237         * lisp/help-fns.el (describe-variable): When printing
41238         multi-line expressions, display them prettier (bug#10723).
41240 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41242         Clean up custom-buffer-create code slightly
41244         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
41245         pass the unused description value on (for clarity) (bug#10540).
41246         (custom-buffer-create): Ditto
41248 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41250         Clarify some doc strings
41252         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
41253         Clarify doc string (bug#8693).
41254         (syntax-propertize): Clarify doc string.
41256 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
41258         Fix number-at-point in lisp buffers
41260         * lisp/thingatpt.el (number-at-point): Don't say that things
41261         like ?a are numbers in lisp mode buffers (bug#8634).
41263 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41265         Don't consider colons to be paragraphs starting chars in strings
41267         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
41268         consider colons to start paragraphs in (doc) strings
41269         (bug#7751).
41271 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41273         Make `undo' of `C-x r t' put point where it should be
41275         * lisp/rect.el (string-rectangle): Make `undo' of a this
41276         command put point back where it was (bug#7522).
41278 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41280         Add some concept index entries for custom types
41282         * doc/lispref/customize.texi (Composite Types): Add concept
41283         index entries for restricted-sexp, radio and choice (bug#7385).
41285 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41287         Mention `lisp-indent-function' in the lispref manual
41289         * doc/lispref/macros.texi (Indenting Macros): Mention
41290         `lisp-indent-function' (bug#3393).
41292 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41294         Clarify doc string of internal compilation function
41296         * lisp/progmodes/compile.el (compilation-get-file-structure):
41297         Clarify doc string (bug#3137).
41299 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41301         Avoid having `C-x h' mark the prompt part of the minibuffer
41303         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
41304         part of the minibuffer (bug#2589).
41306 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41308         Allow a prefix argument to find-library to pop to a different window
41310         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
41311         argument to pop to a different window (bug#2270).
41313 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41315         Move the diff command to "Operate" in ibuffer
41317         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
41318         command to the "Operate" menu, and remove the customization
41319         entry to make the "View" menu more logical (bug#1150).
41321 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41323         Make the minor modes in help buffers into buttons
41325         * lisp/help.el (describe-mode): Make the minor modes into
41326         buttons to enable easier documentation traversal (bug#1149).
41328 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
41330         Add a number of Python 3 exceptions
41332         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
41333         the exception list, adding a number of new Python 3 exceptions and
41334         moving some exceptions to the Python 2 and 3 list as Python 2.7
41335         includes them.
41337 2016-04-26  Anders Lindgren  <andlind@gmail.com>
41339         Fix bug#22891: wrong terminal width when a fringe width is zero.
41341         When either fringe width is zero, Emacs reserved one column for a
41342         continuation glyph. Terminal windows does not take this into
41343         account when the frame is resized.
41345         * lisp/window.el (window-adjust-process-window-size): Use
41346         `window-max-chars-per-line' instead of `window-body-width'.
41347         * lisp/term.el (term-window-width): Remove function. (It does the
41348         same as `window-max-chars-per-line' but without recent bug fixes.)
41349         (term-mode): Use `window-max-chars-per-line' instead of
41350         `term-window-width'.
41352 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
41354         Add completion of `calc()' in CSS mode
41356         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
41357         a completion candidate for several value classes.
41358         (css--value-class-lookup): Return only unique results.
41360         * test/lisp/textmodes/css-mode-tests.el
41361         (css-test-property-values-no-duplicates)
41362         (css-test-value-class-lookup): Update to reflect the above changes.
41364 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
41366         Fix socketd fd startup bug that I introduced
41368         Problem reported by Matthew Leach in:
41369         https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00778.html
41370         * src/emacs.c (main): Indicate more clearly the coupling between
41371         the --daemon option and init_process_emacs.
41372         * src/lisp.h: Adjust to API changes.
41373         * src/process.c (set_external_socket_descriptor):
41374         Remove, replacing by ...
41375         (init_process_emacs): ... passing the socket FD here instead.
41376         All uses changed.
41378 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
41380         Fix: (void-variable url-http-response-status)
41382         * lisp/url/url-http.el
41383         (url-https-proxy-after-change-function): Display the error
41384         message before doing the callback to avoid a void variable
41385         situation (bug#23290).
41387 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41389         smtpmail would say it's done before it is
41391         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
41392         of the data end marker from here... (bug#23020).
41393         (smtpmail-send-data): ... to here, so that we don't get a
41394         "Sending done" before we've sent the final "." (which can make
41395         the SMPT server reject the email.
41397 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41399         `url-retrieve-synchronously' now takes an optional timeout parameter
41401         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
41403         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
41404         in a timeout parameter (bug#22940).
41406 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41408         Include "Retype" as a comint password prompt
41410         * lisp/comint.el (comint-password-prompt-regexp): Include
41411         "Retype" to catch "Retype password for [account]:" from the
41412         "pass" utility (bug#22942).
41414 2016-04-25  Alan Mackenzie  <acm@muc.de>
41416         Fix spurious fontification of "for (; a * b;)" in CC Mode.
41418         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
41419         inside the parens of a for statement and after a semicolon near the beginning
41420         of the lambda form.
41422 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
41424         New function ‘char-from-name’
41426         This also fixes the mishandling of "\N{CJK COMPATIBILITY
41427         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
41428         Problem reported by Eli Zaretskii in:
41429         https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00614.html
41430         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
41431         * lisp/international/mule-cmds.el (char-from-name): New function.
41432         (read-char-by-name): Use it.  Document that "BED" is treated as
41433         a name, not as a hexadecimal number.  Reject out-of-range integers,
41434         floating-point numbers, and strings with trailing junk.
41435         * src/lread.c (character_name_to_code): Call char-from-name
41436         instead of inspecting ucs-names directly, so that we handle
41437         computed names like "VARIATION SELECTOR-1".  Do not use an auto
41438         string, since char-from-name might GC.
41439         * test/src/lread-tests.el: Add tests for new behavior, and
41440         fix some old tests that were wrong.
41442 2016-04-25  Alan Mackenzie  <acm@muc.de>
41444         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
41446         This allows the calling of c-restore-<>-properties from c-common-init without
41447         the test suite giving spurious errors.
41449         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
41450         sets face properties.
41451         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
41452         template brackets using c-inside-<>-type-key.  Don't bind
41453         c-record-type-identifiers or c-record-found-types around the recursive call,
41454         allowing positions of found types to flow back to the caller.
41456         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
41457         new lang consts/var.
41459         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
41460         c-restore-<>-properties from the list of functions called at mode
41461         initialization.
41463 2016-04-25  Jun Hao  <jun_hao@aol.com>
41465         Pass in port only if provided by caller in the OS X keychain
41467         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
41468         port only if provided (bug#23374).
41470 2016-04-25  Alan Mackenzie  <acm@muc.de>
41472         Add fontification for a C declaration which looks like a function call.
41474         For example, "t1 *fn (t2 *b);".
41476         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
41477         at-decl-start, setting it to whether the putative decl starts immediately
41478         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
41479         non-nil.
41481         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
41483 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
41485         Don't mirror slashes in convert-standard-filename on MS-Windows
41487         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
41488         slashes into backslashes.  This avoids producing ugly file names,
41489         and is deemed no longer necessary, and should certainly be
41490         unrelated to which shell is in use.
41492 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
41494         Revert the disputed VC change and update the tests
41496         * lisp/vc/vc-hooks.el (vc-working-revision):
41497         Remove the previous change.
41498         (vc-state): Same.  And update the old, incorrect comment about
41499         unregistered files
41500         (https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00526.html).
41502         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
41503         calling `vc-state' on default-directory (VC state is undefined
41504         for directories).  Check that `vc-state' returns nil where it
41505         returned `unregistered' before.  Remove all checks comparing
41506         invocations with the backend passed in explictly and without.
41507         (vc-test--working-revision): Remove all checks comparing
41508         invocations with the backend passed in explictly and without.
41509         Update comments, and add a new one.
41511 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
41513         * etc/NEWS: Grammar and punctuation improvements.
41515 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
41517         Merge from origin/emacs-25
41519         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
41520         0cd2e92 Don't kill ~/ if it's the top level directory
41521         4f40f5f describe-char: fix insert char documentation
41522         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
41524 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
41526         Merge from origin/emacs-25
41528         960f90d * etc/AUTHORS: Update the AUTHORS file
41529         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
41531 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
41533         Merge from origin/emacs-25
41535         78f9af7 ; ChangeLog fixes
41536         162e549 * admin/authors.el (authors-ignored-files): Additions.
41537         2b31a0c In x_set_window_size restore do_pending_window_change calls
41538         401857e Fix Alt-modified keys on some European MS-Windows keyboards
41539         a77cf24 Document 'help-go-forward'
41540         1ba947f Revert "Allow to customize names of executables used by grep.el"
41541         570e0fa Revert "Don't use 'find-program'"
41542         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
41543         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
41544         ce0d8c7 Make tmm-menubar work in correct order again
41545         b8d5a8f Remove the Meta-CVS VC backend
41547 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
41549         Don't let `css--property-values' return duplicates
41551         * lisp/textmodes/css-mode.el (css--property-values): Don't return
41552         duplicate values.
41554         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
41555         Take the above into account.
41556         (css-test-property-values-no-duplicates): Test that duplicates aren't
41557         returned by `css--property-values'.
41559 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41561         Call `make-composed-keymap' correctly
41563         * lisp/image-mode.el (image-mode-map): Call
41564         `make-composed-keymap' correctly.
41566 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41568         Use `make-composed-keymap' instead of copying the keymap
41570         * lisp/image-mode.el (image-mode-map): Use
41571         `make-composed-keymap' instead of copying the keymap.
41573 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41575         Make `q' etc work in image mode again
41577         * lisp/image-mode.el (image-mode-map): Restore
41578         special-mode-map as the parent keymap of image-mode-map (bug#23167).
41580 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41582         Fix typo in last url.texi checkin
41584 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41586         Make STARTTLS error messages better
41588         * lisp/net/network-stream.el (network-stream-open-starttls):
41589         Output a better error message when TLS negotiation fails while
41590         doing STARTTLS (bug#23027).
41592 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41594         Encode the shr tests files with trailing white space
41596 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
41598         Cache results of `css--property-values'
41600         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
41601         values.
41603         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
41604         New regression test for the above.
41606 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
41608         Some improvements in vc
41610         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
41611         Check, whether FILE is registered.
41613         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
41614         for nonexistent files.
41616         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
41617         (vc-test--revision-granularity-function)
41618         (vc-test--unregister-function): Use `vc-call-backend'.
41619         (vc-test--run-maybe-unsupported-function): New defmacro.
41620         (vc-test--register, vc-test--state, vc-test--working-revision)
41621         (vc-test--checkout-model): Use it.  Fix also expected results.
41622         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
41624 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41626         Document the nil/default values of url-user-agent
41628         * doc/misc/url.texi (Customization): Document the nil/default
41629         values of url-user-agent.
41631 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
41633         Compute User-Agent dynamically in url-http
41635         * lisp/url/url-http.el (url-http-user-agent-string): Compute
41636         User-Agent string dynamically.
41637         (url-http--user-agent-default-string): New function.
41639         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
41640         of information not to send.
41641         (url-user-agent): Add nil and `default' options; do not
41642         pre-compute value.
41644 2016-04-24  Jun Hao  <jun_hao@aol.com>
41646         Handle auth-source items with special characters on OS X
41648         * lisp/auth-source.el
41649         (auth-source-macos-keychain-search-items): Handle keychain
41650         output correctly when has special chararcters (bug#22824).
41652 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
41654         Implement process-attributes for Darwin
41656         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
41657         (system_process_attributes): Implement process-attributes
41658         for Darwin (bug#16579).
41660 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41662         Use Unicode literals instead of hex values
41664         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
41665         of hex values for greater readability.
41666         (shr-tag-bdi): Ditto.
41668 2016-04-24  Steve Purcell  <steve@sanityinc.com>
41670         Allow _ characters in SQL prompts
41672         * lisp/progmodes/sql.el (sql-product-alist): Allow _
41673         characters in SQL prompts (bug#22596).
41675         Fixes issue 22596, whereby "_" is now not considered a word constituent
41676         character in sql-interactive-mode, so prompts like "foo_dev# " are not
41677         correctly detected. Rather than piggy-back on the symbol table, we
41678         explicitly match against alphanumeric chars or "_".
41680 2016-04-23  Glenn Morris  <rgm@gnu.org>
41682         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
41684         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
41685         (autoload-generate-file-autoloads, autoload-find-destination)
41686         (update-directory-autoloads): Use autoload--non-timestamp.
41688 2016-04-23  Glenn Morris  <rgm@gnu.org>
41690         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
41692 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
41694         Regexps for matching CMake output
41696         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
41697         regexps for matching CMake output.
41698         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
41699         CMake test cases.
41700         * etc/compilation.txt (CMake): Add CMake examples.
41702 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
41704         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
41706         Fix docstring quotes.
41708 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41710         Improve character name escapes
41712         * doc/lispref/nonascii.texi (Character Properties):
41713         Avoid duplication of Unicode names.  Reformat examples to fit in
41714         narrow pages.
41715         * doc/lispref/objects.texi (General Escape Syntax):
41716         Simplify and better-organize explanation of \N{...} escapes.
41717         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
41718         (char_surrogate_p): New inline function.
41719         * src/lread.c: Do not include string.h; no longer needed.
41720         (invalid_character_name, check_scalar_value): Remove; the ideas
41721         behind these functions are now bundled into character_name_to_code.
41722         (character_name_to_code): Remove undocumented support for "CJK
41723         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
41724         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
41725         point in \N escapes instead of returning garbage.  Use
41726         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
41727         * test/src/lread-tests.el (lread-char-number, lread-char-name)
41728         (lread-string-char-number, lread-string-char-name):
41729         Test runtime behavior, not compile-time, as the test framework
41730         is not set up to test compile-time.
41731         (lread-char-surrogate-1, lread-char-surrogate-2)
41732         (lread-char-surrogate-3, lread-char-surrogate-4)
41733         (lread-string-char-number-2, lread-string-char-number-3):
41734         New tests.
41735         (lread-string-char-number-1): Rename from lread-string-char-number.
41737 2016-04-21  Philipp Stephani  <phst@google.com>
41739         Use 'ucs-names' for character name escapes
41741         * src/lread.c (invalid_character_name, check_scalar_value)
41742         (parse_code_after_prefix, character_name_to_code): New helper
41743         functions that use 'ucs-names' and parsing for CJK ideographs.
41744         (read_escape): Use helper functions.
41745         (syms_of_lread): New symbol 'ucs-names'.
41746         * test/src/lread-tests.el: New tests; fix a couple of bugs in
41747         existing tests.
41749 2016-04-21  Philipp Stephani  <phst@google.com>
41751         Minor cleanups for character name escapes
41753         * src/lread.c (init_character_names): Add missing 'void'.
41754         Remove top-level 'const'.
41755         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
41757 2016-04-21  Philipp Stephani  <phst@google.com>
41759         Add documentation for character name escapes
41761 2016-04-21  Philipp Stephani  <phst@google.com>
41763         Implement named character escapes, similar to Perl
41765         * src/lread.c (init_character_names): New function.
41766         (read_escape): Read Perl-style named character escape sequences.
41767         (syms_of_lread): Initialize new variable 'character_names'.
41768         * test/src/lread-tests.el (lread-char-empty-name): Add test file
41769         for src/lread.c.
41771 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
41773         Avoid run-time dependency on libwinpthread DLL on MS-Windows
41775         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
41776         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
41777         present, so that MinGW64 builds don't depend on libwinpthread.
41778         (Bug#22959)
41780 2016-04-21  Matthew Leach  <matthew@mattleach.net>
41782         Add LIBSYSTEMD to the list of supported features
41784         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
41785         message at the end of configure stating whether Emacs will be build
41786         with libsystemd support.
41788 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
41790         Support absolute column movement in 'ansi-term'
41792         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
41793         for absolute column movement.  (Bug#23303)
41795 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
41797         Add Python 3.5 keyword "await"
41799         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
41800         keyword.
41802 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
41804         Add "keyframes" to list of CSS at-rules
41806         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
41808 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
41810         Prevent bootstrap autoload backup files
41812         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
41813         backups in newly created file.
41815         (autoload-ensure-default-file): Function split into two.
41816         (autoload-ensure-file-writeable): New function from split.
41818         (Bug#23203)
41820 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
41822         Fix org-timestamp-change typo
41824         Problem reported by Peter Münster (Bug#23299).
41825         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
41826         on undocumented behavior in ‘encode-time’.  In practice the
41827         old code used local time, so use that.
41829 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41831         Avoid AC_PREPROC_IFELSE glitch in configure.ac
41833         Problem reported by Angelo Graziosi in:
41834         https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00545.html
41835         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
41836         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
41838 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
41840         autorevert: Resume with polling if file is deleted
41842         * lisp/autorevert.el: Use consistent wording in comments and
41843         docstrings.
41844         (auto-revert-mode): Add local function to `kill-buffer-hook'.
41845         (auto-revert-notify-handler): Improve handling of `stopped' event.
41847         * test/lisp/autorevert-tests.el
41848         (auto-revert-test02-auto-revert-deleted-file): New test.
41849         (auto-revert-test03-auto-revert-tail-mode)
41850         (auto-revert-test04-auto-revert-mode-dired): Rename them.
41852 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
41854         Merge from origin/emacs-25
41856         5a0cbe5 Fix Bug#23276
41857         2007e32 Sync with upstream vhdl mode v3.38.1.
41858         b6d2552 Tweak configure.ac syntax in recent module patch
41860 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
41862         Merge from origin/emacs-25
41864         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
41865         3287f48 ; Add entry to MAINTAINERS
41866         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
41867         0f33284 Make use of rectangle-preview custom variable.
41868         aa0d83a Make use of rectangle-preview face.
41869         33bef6e Use 'grep-find-program' in check-declare.el
41870         a8560e5 Improve "C-h S" for cl-lib symbols
41871         52e798b Fix minor issues with removing left or right fringes
41872         d6ffd64 Speed up redisplay in ansi-term mode
41873         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
41874         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
41875         ab849b7 Fix w32 memory-management problem when extending buffer text
41877 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
41879         Merge from origin/emacs-25
41881         32364bb substitute-command-keys keeps quotes’ text props
41882         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
41883         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
41884         cc0b713 Perform xref searches without visiting unopened files
41885         5045575 Revert "Prevent bootstrap autoload backup files"
41887 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
41889         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
41891         so that it matches the actual implementation.
41892         See https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html
41894 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
41896         * lisp/textmodes/ispell.el: Compile with lexical-binding
41898         (declare-function): Don't define any more.
41899         (ispell-check-minver, ispell-looking-back): Tweak definition so that
41900         the compiler can obviously know that it's always defined.
41901         (ispell-debug-buffer): Declare var.
41902         (ispell-hunspell-fill-dictionary-entry)
41903         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
41904         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
41905         (ispell-command-loop): Avoid add-to-list on local variables.
41907 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
41909         Minor fixups for external socket launching
41911         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
41912         * doc/emacs/misc.texi (Emacs Server):
41913         * etc/NEWS: Spelling and doc fixes.
41914         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
41915         Check for sd_is_socket returning positive, not zero.
41916         * src/process.c (external_sock_fd): Instead of initializing here ...
41917         (init_process_emacs): ... initialize it here, so that it does the
41918         right thing after dump/restore.
41919         (connect_network_socket): Simplify socket_to_use test.
41921 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
41923         Add HTML5 tags to HTML mode
41925         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
41926         (html-tag-help): Add short descriptions of those tags.
41928 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41930         Finish idna->puny changes in last Message patch
41932         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
41933         instead of idna functions.
41935 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41937         Use puny.el instead of idna.el functions in Gnus
41939         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
41940         Emacs comes with IDNA support built in).
41941         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
41942         `idna-to-unicode'.
41944         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
41946 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41948         Mention `message-use-idna' in NEWS
41950 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41952         Default `message-use-idna' to t
41954         * lisp/gnus/message.el (message-use-idna): Default to t (since
41955         Emacs comes with puny.el now).
41957 2016-04-16  Matthew Leach  <matthew@mattleach.net>
41959         Extend battery.el to exotic power supply types
41961         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
41962         'battery--linux-sysfs-regexp' and make a defcustom. All users
41963         changed.  (Bug#23216)
41965 2016-04-16  Matthew Leach  <matthew@mattleach.net>
41967         Add external socket launching support
41969         * src/process.c (connect_network_socket): Allow a pre-allocated socket
41970         descriptor to be used if passed to Emacs, avoiding the call to
41971         'socket' and 'bind'.
41972         (Fmake_network_process): Allow users to pass ':use-external-socket' in
41973         the parameter plist to use any sockets that have been passed to Emacs.
41974         (wait_reading_process_output): Call 'socket' and 'bind' every time.
41975         (syms_of_process): New symbol ':use-external-socket'.
41976         (set_external_socket_descriptor): New function.
41977         (external_sock_fd): New variable.
41978         * src/lisp.h: (set_external_socket_descriptor): New declaration.
41979         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
41980         passed and call 'set_external_socket_descriptor' to set the external
41981         socket.
41982         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
41983         compilation options.
41985         * configure.ac: Add new default-on option "systemd" and check for
41986         libsystemd at configure time.
41988         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
41989         calling 'make-network-process'.
41991         * etc/NEWS: Document new socket-passing functionality and the configure
41992         option to disable systemd interaction.
41994         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
41995         functionality and provide systemd unit examples.
41996         * doc/lispref/processes.texi (Network Processes): Document new
41997         'make-network-process' option ':use-external-socket'.
41999 2016-04-16  Matthew Leach  <matthew@mattleach.net>
42001         Don't spell-check argument of 'cref' TeX macro
42003         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
42004         macro to skip spell-checking the cref macro argument.
42006 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
42008         Simplify use of O_BINARY
42010         * src/callproc.c (call_process):
42011         * src/fileio.c (write_region):
42012         * src/filelock.c (read_lock_data):
42013         * src/image.c (x_find_image_fd):
42014         * src/lread.c (openp):
42015         * src/sysdep.c (init_random, emacs_fopen):
42016         * src/unexcw.c (unexec):
42017         Omit unnecessary use of O_BINARY, since emacs_open now arranges
42018         that for us.
42020 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
42022         * src/indent.c (Fvertical_motion): Pacify GCC
42024         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
42026 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42028         Port ‘./autogen.sh git’ to non-clones
42030         Problem reported by Angelo Graziosi in:
42031         https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00341.html
42032         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
42033         there is no ‘.git’.
42034         (git_common_dir, hooks): New vars.
42035         (git_config, tailored_hooks, sample_hooks): Use them.
42037 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42039         Do not require that .git be a directory
42041         Problem reportyed by Phillip Lord.
42042         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
42043         * configure.ac, make-dist:
42044         Do not require that .git be a directory, as 'git worktree' makes
42045         it a file and not a directory.
42047 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42049         Avoid now-obsolete function gmm-format-time-string
42051         * lisp/gnus/message.el (message-insert-formatted-citation-line):
42052         Use format-time-string instead of obsolete function
42053         gmm-format-time-string.
42055 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42057         Support OFFSET and (OFFSET ABBR) time zone rules
42059         This simplifies Gnus and VC time zone support, by letting them
42060         feed the output of ‘current-time-zone’ and ‘decode time’ to
42061         primitives that accept time zone arguments.
42062         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
42063         * etc/NEWS:
42064         * lisp/gnus/message.el (message-insert-formatted-citation-line):
42065         * lisp/org/org.el (org-timestamp-format):
42066         * src/editfns.c (Fformat_time_string, Fdecode_time):
42067         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
42068         Document new behavior.
42069         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
42070         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
42071         Mark as obsolete, as it is now just an alias or narrow wrapper
42072         around format-time-string.
42073         * src/editfns.c (tzlookup): Also support integer OFFSET and
42074         list (OFFSET ABBR) as time zone rules.
42075         (Fencode_time): No longer need a special case for a cons ZONE.
42076         (Fcurrent_time_zone): If the time zone string is missing, compute
42077         it the same way the other new code does.
42079 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42081         Merge from origin/emacs-25
42083         ca50981 Improve time zone documentation
42084         c23c965 Prevent bootstrap autoload backup files
42085         9344612 Disable multicolor fonts on OS X since they are not supported...
42086         c41ce1c Capitalize “Universal Time” in documentation
42087         10597c9 Don't use 'find-program'
42089 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42091         Merge from origin/emacs-25
42093         b134c20 Sync with gnulib
42094         bb30fa9 Fix last change on 2016-01-02
42095         488a72f ; Spelling fixes
42096         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
42097         0e7bcec Avoid crashes due to unreasonably large or small text scaling
42098         85f257c Improve documentation of 'with-eval-after-load'
42099         668c7bc Improve handling of non-ASCII characters in Git log messages
42100         b570769 Remove undefined behavior in OS X dumper.
42101         97211f3 Fix clipping of xwidgets
42102         e87fbc0 Improve Lisp-level documentation of tooltips
42103         9f1786e Faces names should not end in "-face".
42104         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
42105         a1f221b Comint and compile no longer set EMACS
42106         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
42107         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
42108         c93ae7a Allow to customize names of executables used by grep.el
42109         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
42110         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
42111         a3f1ac2 Avoid infinite loop in 'studlify-word'
42112         f36df4b Don’t recommend obsolete EMACS env var
42113         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
42115 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42117         Merge from origin/emacs-25
42119         96d9e78 Fix "Beginning of buffer" error in forward-page
42120         20686f7 Add a `transient' project type
42122 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42124         Merge from origin/emacs-25
42126         80128a7 Fix stability confusion in sort-tests
42127         1e4aa42 Avoid describe-key error with lambdas
42128         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
42129         f501116 Sync with gnulib
42130         c4963f9 Fix doc for Universal Time
42132 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
42134         Fix alignement rule for CSS
42136         * lisp/align.el (align-rules-list): Support CSS properties that have
42137         multiple words.
42139 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
42141         New custom option for overriding mailcap choices
42143         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
42144         (mailcap--set-user-mime-data): New function.
42145         (mailcap-user-mime-data): New customization option.
42146         (mailcap-select-preferred-viewer): New function.
42147         (mailcap-mime-info): Use it.
42149         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
42151 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
42153         Fix Bug#23207
42155         * src/keyboard.c (read_char): Resume idle timers in case of
42156         dbus-event, file-notify-event and config-changed-event.
42157         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
42159 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
42161         Add vc-backend and vc-responsible-backend tests
42163         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
42164         (vc-file-clearprops): Use properties on absolute files.
42166         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
42167         Clear file properties.
42168         (vc-test--register): Add tests for `vc-backend' and
42169         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
42170         (vc-test--state, vc-test--checkout-model): Catch other errors
42171         but `vc-not-supported'.
42172         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
42173         other errors but `vc-not-supported'.
42174         (vc-test-src02-state): Mark as an expected failure.
42176 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
42178         Minor improvements for hash function primitives
42180         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
42181         hashfn_eq rather than reaching inside them.
42182         (hashtest_eq, hashtest_eql, hashtest_equal):
42183         Now constants with initializers.
42184         (syms_of_fns): Omit no-longer-needed initialization.
42185         * src/lisp.h (LISPSYM_INITIALLY): New macro.
42186         (DEFINE_LISP_SYMBOL): Use it.
42188 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
42190         New primitives sxhash-eq, sxhash-eql
42192         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
42193         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
42194         Add sxhash-equal, sxhash-eq, sxhash-eql.
42195         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
42196         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
42198 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
42200         Teach Dired support parallel execution of commands on MS-Windows
42202         * lisp/dired-aux.el (dired-shell-stuff-it): Support
42203         parallel-in-background execution of commands on MS-Windows.
42204         Test 'w32-shell-dos-semantics' instead of the underlying OS
42205         when determining whether addition of 'wait' is needed.
42207 2016-04-08  Tino Calancha  <f92capac@gmail.com>
42209         Make 'dired-do-shell-command' wait for all background jobs
42211         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
42212         wait until all background jobs exit.  (Bug#23206).
42214 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
42216         Prefer 'font-lock-face to 'face in erc where appropriate
42218         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
42219         'font-lock-face to 'face where appropriate.
42220         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
42221         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
42222         * lisp/erc/erc-goodies.el (erc-controls-propertize)
42223         * lisp/erc/erc-stamp.el (erc-format-timestamp)
42224         * lisp/erc/erc-track.el (erc-faces-in)
42225         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
42226         (erc-display-command, erc-make-notice, erc-highlight-notice)
42227         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
42228         (erc-display-prompt, erc-display-message-highlight)
42229         (erc-log-irc-protocol): Ditto.
42231         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
42232         tests.
42234 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
42236         Add new keywords of Python 3.5
42238         Python 3.5, released in mid September 2015, introduced a few new
42239         keywords to better support asynchronous code, "async" and "await"
42240         in particular. See https://www.python.org/dev/peps/pep-0492/ for
42241         details. (Bug#21783)
42242         * lisp/progmodes/python.el (python-rx-constituents): Add async
42243         def/for/with as block-start and async def as defun.
42244         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
42245         def/for/with as keyword.
42246         * test/automated/python-tests.el (python-indent-after-async-block-1,
42247         python-indent-after-async-block-2, python-indent-after-async-block-3,
42248         python-nav-beginning-of-defun-3): New tests to test indentation and
42249         navigation for the async keyword.
42251 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
42253         Support completion of at-rules in SCSS mode
42255         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
42256         SCSS-specific at-rules.
42257         (css--at-ids): New buffer-local variable holding the list of at-rules
42258         for the current mode.
42259         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
42260         (scss-mode): Set `css--at-ids'.
42262 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
42264         Enable GCC warnings in developer builds
42266         However, do not fail; just issue the warnings.  Add an option
42267         --enable-gcc-warnings=warn-only to configure, to implement this.
42268         * INSTALL, etc/NEWS: Document this.
42269         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
42270         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
42271         Don’t treat --with-x-toolkit=no as a special case when configuring
42272         warnings.
42274 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42276         Inhibit querying for the encoding of the headers when resending
42278         * lisp/gnus/message.el (message-resend): Inhibit querying for
42279         the encoding of the headers when resending.
42281 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42283         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
42285         * src/buffer.c (Fgenerate_new_buffer_name):
42286         * src/filelock.c (get_boot_time):
42287         * src/minibuf.c (get_minibuffer):
42288         * src/process.c (make_process):
42289         * src/xdisp.c (ensure_echo_area_buffers):
42290         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
42291         when either will do.
42293 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
42295         Allow URL using HTTPS proxies using CONNECT
42297         * lisp/url/url-http.el (url-http-find-free-connection): Allow
42298         using proxies (bug#11788).
42299         (url-http-end-of-document-sentinel): Ditto.
42300         (url-http): The protocol may change from http to https and
42301         vice versa.
42302         (url-https-proxy-connect): Allow using CONNECT proxies for https.
42304 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42306         New C macro AUTO_STRING_WITH_LEN
42308         Put a bit less pressure on the garbage collector by defining a
42309         macro that is like AUTO_STRING but also allows null bytes in strings,
42310         and by extending AUTO_STRING to work with any unibyte string.
42311         * src/alloc.c (verify_ascii): Remove; all uses removed.
42312         AUTO_STRING can now be used on non-ASCII unibyte strings.
42313         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
42314         (AUTO_STRING_WITH_LEN): New macro.
42315         * src/coding.c (from_unicode_buffer):
42316         * src/editfns.c (format_time_string):
42317         * src/emacs-module.c (module_make_string, module_format_fun_env):
42318         * src/fileio.c (Fexpand_file_name):
42319         * src/font.c (font_parse_family_registry):
42320         * src/ftfont.c (ftfont_get_charset):
42321         * src/keymap.c (silly_event_symbol_error):
42322         * src/menu.c (single_menu_item):
42323         * src/sysdep.c (system_process_attributes):
42324         Use AUTO_STRING_WITH_LEN if possible.
42325         * src/emacs-module.c (module_make_function):
42326         * src/fileio.c (report_file_errno, report_file_notify_error):
42327         * src/fns.c (Flocale_info):
42328         * src/sysdep.c (system_process_attributes):
42329         Use AUTO_STRING if possible.  This is doable more often now
42330         that AUTO_STRING works on any unibyte string.
42332 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42334         Port redirect-debugging-output to MS-Windows
42336         Suggested by Eli Zaretskii in:
42337         https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00037.html
42338         * src/print.c [WINDOWSNT]: Include sys/socket.h.
42339         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
42341 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42343         Port redirect-debugging-output to non-GNU/Linux
42345         Problem reported by Kylie McClain for musl in:
42346         https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01592.html
42347         * etc/DEBUG, etc/NEWS: Mention this.
42348         * src/callproc.c (child_setup) [!MSDOS]:
42349         * src/dispnew.c (init_display):
42350         * src/emacs.c (main, Fdaemon_initialized):
42351         * src/minibuf.c (read_minibuf_noninteractive):
42352         * src/regex.c (xmalloc, xrealloc):
42353         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
42354         to make file-descriptor manipulation easier to follow.
42355         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
42356         now that we make sure stdin, stdout and stderr are open.  All uses
42357         removed.
42358         (main): Make sure standard FDs are OK.  Prefer symbolic names like
42359         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
42360         * src/lisp.h (init_standard_fds): New decl.
42361         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
42362         Remove; no longer needed.
42363         (Fredirect_debugging_output): Define on all platforms, not just
42364         GNU/Linux.  Redirect file descriptor, not stream, so that the code
42365         works even if stderr is not an lvalue.  Report an error if the
42366         file arg is neither a string nor nil.
42367         (syms_of_print): Always define redirect-debugging-output.
42368         * src/sysdep.c (force_open, init_standard_fds): New functions.
42370 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42372         Spelling fixes
42374 2016-04-03  John Wiegley  <johnw@newartisans.com>
42376         Revert "Add `r'/`l' grep command history commands"
42378         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
42380 2016-04-03  John Wiegley  <johnw@newartisans.com>
42382         Revert "Restore the point in grep buffers when traversing the history"
42384         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
42386 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42388         Merge from origin/emacs-25
42390         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
42392 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42394         Merge from origin/emacs-25
42396         b787d55 More format-time-string change fixups
42397         13c8f29 make-xwidget unused arg cleanup
42398         36e05f0 Remove unused arguments from make-xwidget
42399         1042217 Document incompatible changes in 'format-time-string'
42400         7228eb8 Improve documentation of byte-code objects
42401         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
42402         17b5152 Improve vc-diff with Git backend
42403         c28f87a (js--continued-expression-p): Special-case unary plus and minus
42404         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
42405         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
42406         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
42407         a3daa34 Teach M-x disassemble a default argument.
42408         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
42409         df441b3 Fix OS X specific settings in tramp-tests
42410         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
42412         # Conflicts:
42413         #       lisp/net/tramp-sh.el
42414         #       lisp/progmodes/cc-engine.el
42416 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42418         Restore the point in grep buffers when traversing the history
42420         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
42421         point to a specific place after finishing the grep command.
42422         (grep-mode): Use it to restore point after traversing the history.
42423         (grep--history-point): New internal variable.
42424         (grep--save-history, grep-forward-history): Use it to restore
42425         the point.
42427 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42429         Add `r'/`l' grep command history commands
42431         * doc/emacs/building.texi (Grep Searching): Mention the
42432         `r'/`l' commands.
42434         * lisp/progmodes/grep.el (grep-forward-history): New command.
42435         (grep-backward-history): Ditto.
42436         (grep--save-buffers): New function.
42437         (grep): Use it to record the history.
42438         (grep--command-history, grep--history-inhibit)
42439         (grep--history-place): New internal variables for the grep
42440         history (bug#22627).
42442 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
42444         Fix Bug#23186, again
42446         * lisp/net/tramp.el (tramp-encoding-shell)
42447         (tramp-encoding-command-switch)
42448         (tramp-encoding-command-interactive): Check for
42449         `w32-shell-name'.  (Bug#23186)
42451 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
42453         Fix Bug#23186
42455         * lisp/net/tramp.el (tramp-encoding-command-switch)
42456         (tramp-encoding-command-interactive):
42457         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
42458         `tramp-encoding-shell' could be nil.  (Bug#23186)
42460 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
42462         Fix Bug#22145
42464         * lisp/net/tramp-cache.el (tramp-get-connection-property)
42465         (tramp-set-connection-property, tramp-connection-property-p)
42466         (tramp-flush-connection-property): Improve docstring.
42468         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
42470         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
42472         * test/automated/tramp-tests.el (tramp--test-utf8):
42473         Improve settings of coding systems.  (Bug#22145)
42475 2016-04-02  John Wiegley  <johnw@newartisans.com>
42477         Merge from origin/emacs-25
42479         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
42480         9034c50 * doc/man/emacsclient.1: Document +line:column option.
42481         06495c9 Fix rare problems with echo-area display and multiple frames
42482         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
42484 2016-04-02  John Wiegley  <johnw@newartisans.com>
42486         Merge from origin/emacs-25
42488         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
42489         c8b868b Don't start the 'midnight' timer twice
42490         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
42491         e5c17f4 Fix todo-mode category movement
42492         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
42493         cf40f38 Ignore non-nil. non-cons values of unread-command-events
42494         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
42495         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
42496         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
42497         3a13472 Fix map-put and map-delete for alists (Bug#23105)
42498         422c3da Minor copyedits of documentation for temporary displays
42499         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
42500         f14d463 Minor doc string fixes in replace.el
42501         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
42502         44782de Fix display of Indic scripts
42503         326c64f Fix splash screen display at startup
42504         7ab2a97 ; In NEWS mention new display of minibuffer completions window
42505         a1cd84c Describe temporary displays in Emacs manual
42506         5ec1056 Avoid stray As next to IDLW icons
42507         45577d5 Avoid GTK 3 crash with icons and masks
42508         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
42509         077b78c Define make_save_ptr_ptr unconditionally
42510         20a1003 Preserve current buffer when popping up TTY menus
42511         7eba90c Improve font selection by family on MS-Windows
42512         73d213f Comint, term, and compile now set EMACS
42513         9524ec5 Ignore more merges when generating ChangeLog
42514         ad250f2 Sync with gnulib
42515         c0165ea Resurrect GNUS-NEWS autogeneration
42516         1e5327c ; Backport ChangeLog.2 fixes from master
42517         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
42518         38a43f1 Fix bug in displaying header line with a box face
42519         91e6676 Fix an Isearch var to be a string (Bug#23038)
42520         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
42521         8a35f83 Render empty <ul><li><ul> correctly
42522         d8b2ce5 Ignore invalid base64 encoded embedded images
42523         52ba24b Fix <p> and <div> newlines with or without <li> in shr
42524         b8ea08b Avoid errors in 'newline'
42525         fc3cd53 Fix Bug#23032
42526         dd2737b Adjudicate review comments in abbrevs.texi
42527         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
42528         413e73b ; Small theme additions
42529         cd950da Honor prefix arg in doc-view-next-line-or-next-page
42530         ed909c0 ; Spelling fixes
42531         6da3a6d Port to strict C99 offsetof
42532         de7601f Port to GTK with strict C11 compiler
42533         658aa2d Port to GTK with strict C99 compiler
42534         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
42535         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
42536         dca240a Suppress some Tramp tests for OSX, do not merge with master
42537         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
42538         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
42539         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
42540         9ab03f2 ; Auto-commit of loaddefs files.
42541         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
42542         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
42543         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
42544         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
42545         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
42546         d6d164f Avoid segfaults due to frame image cache being absent
42547         bc7f6f6 Improve documentation of glyphless-character display
42548         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
42549         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
42550         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
42551         2036be4 Fix Ruby's operator precedence
42552         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
42553         7950e1d Port to clang 3.7.0 on x86-64
42554         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
42555         ba33b7c Sync with gnulib
42556         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
42557         dbfbedd Do not tokenize a comment before continuation as ';'
42558         0403620 Don't misindent arguments of a method call inside continuation
42559         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
42560         8475f3d ASCII-only etc/NEWS etc.
42561         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
42562         0ce37ea Fix Isearch prompt when invoked with an argument
42563         f3033d4 Fix a typo in the Emacs manual
42564         4235d2d Curved quotes in etc/NEWS etc.
42565         26b56dc Fix some single quotes in documentation
42566         80ec484 Make lisp-completion-at-point's argument optional
42567         9d463ae Tweak the left precedence of '=>'
42568         5b705bc Indent '.' relative to the first sibling expression
42569         04f5525 Make '.' associative, for easier sexp navigation
42570         ba24c99 Revert "Simplify "Visit New File" to "New File""
42572 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
42574         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
42576         Use #' to quote functions.
42577         (erc-server-delayed-reconnect): Remove unused arg `event'.
42578         (erc-process-sentinel-2): Adjust accordingly.
42579         Don't pass `err' to condition-case if we don't use it.
42580         (define-erc-response-handler): Use add-hook rather than add-to-list.
42581         (NICK): Use cl-pushnew rather than add-to-list.
42582         (331): Remove unused var `topic'.
42583         (352): Remove unused var `hopcount'.
42585 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
42587         Support macros in 'func-arity'
42589         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
42591 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
42593         Fix compilation of Cygwin w32 port
42595         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
42596         initialize and free the notification set if compiling with
42597         w32notify feature.
42599 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
42601         Fix resize incompatibility with GTK+ master
42603         Problem reported by Matthias Clasen (Bug#23144).
42604         * src/xterm.c (handle_one_xevent) [USE_GTK]:
42605         Do not call xg_frame_resized.
42607 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
42609         Fix check for subscript errors in module calls
42611         * src/emacs-module.c (check_vec_index): New function.
42612         (module_vec_set, module_vec_get): Use it instead of a
42613         not-strict-enough check.
42615 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
42617         Support completion of bang-rules in CSS mode
42619         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
42620         holding the list of bang-rules for the current mode.
42621         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
42622         instead of computing them.
42623         (css--complete-bang-rule): New function for completing a bang-rule.
42624         (css-completion-at-point): Add support for completing bang-rules.
42625         (scss-font-lock-keywords): Change from a variable to a function in
42626         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
42627         changed.
42628         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
42630 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
42632         Add HTML4 tags to HTML mode
42634         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
42635         (html-tag-help): Add short descriptions of those tags.
42637 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
42639         Pacify --enable-gcc-warnings for buffer-hash etc.
42641         * src/fns.c (make_digest_string): Now static.
42642         (secure_hash): Omit unused local.
42644 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
42646         Add support for 7z archives
42648         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
42649           also work with 7z archives.
42651         The shell command should produce a single extracted directory named
42652         after the archive's name.
42654         In case the extracted directory exists, all files will be overwritten
42655         without a prompt. This matches the expected behavior with the "tar.gz"
42656         archives.
42658 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
42660         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
42662 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
42664         Fix typo in network-stream-tests.el
42666         * test/lisp/net/network-stream-tests.el
42667         (connect-to-tls-ipv6-nowait): Fix typo.
42669 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
42671         New function seq-sort-by in seq.el
42673         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
42674         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
42675         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
42677 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42679         Mention the `M-q' changes
42681 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42683         Have `M-q' not mark buffers are changed when they haven't
42685         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
42686         to avoid marking buffers as changed when they haven't.
42688 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42690         Add a new function `buffer-hash'
42692         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
42694         * src/fns.c (Fbuffer_hash): New function.
42695         (make_digest_string): Refactored out into its own function.
42696         (secure_hash): Use it.
42698         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
42700 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42702         Rename C names to match Lisp symbols better
42704         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
42705         which fixed a bug where the C name for a symbol disagreed with the
42706         symbol name itself.  Fix other instances of disagreements that I found.
42707         Although this doesn’t fix a bug, it should make code easier to follow.
42708         The remaining disagreements are idiosyncratic: Qminus, Qplus,
42709         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
42710         All uses changed.
42711         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
42712         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
42713         (QCsession): Rename from QCdbus_session_bus.
42714         (QCtimeout): Rename from QCdbus_timeout.
42715         (QCbyte): Rename from QCdbus_type_byte.
42716         (QCboolean): Rename from QCdbus_type_boolean.
42717         (QCint16): Rename from QCdbus_type_int16.
42718         (QCuint16): Rename from QCdbus_type_uint16.
42719         (QCint32): Rename from QCdbus_type_int32.
42720         (QCuint32): Rename from QCdbus_type_uint32.
42721         (QCint64): Rename from QCdbus_type_int64.
42722         (QCuint64): Rename from QCdbus_type_uint64.
42723         (QCdouble): Rename from QCdbus_type_double.
42724         (QCstring): Rename from QCdbus_type_string.
42725         (QCobject_path): Rename from QCdbus_type_object_path.
42726         (QCsignature): Rename from QCdbus_type_signature.
42727         (QCunix_fd): Rename from QCdbus_type_unix_fd.
42728         (QCarray): Rename from QCdbus_type_array.
42729         (QCvariant): Rename from QCdbus_type_variant.
42730         (QCstruct): Rename from QCdbus_type_struct.
42731         (QCdict_entry): Rename from QCdbus_type_dict_entry.
42732         (QCserial): Rename from QCdbus_registered_serial.
42733         (QCmethod): Rename from QCdbus_registered_method.
42734         (QCsignal): Rename from QCdbus_registered_signal.
42735         * src/emacs-module.c (Qinternal__module_call):
42736         Rename from Qinternal_module_call.
42737         * src/frame.c (Qwindow__pixel_to_total):
42738         Rename from Qwindow_pixel_to_total.
42739         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
42740         (QCpriority): Rename from QCgnutls_bootprop_priority.
42741         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
42742         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
42743         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
42744         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
42745         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
42746         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
42747         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
42748         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
42749         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
42750         (Qgnutls): Rename from Qgnutls_dll.
42751         (Qlibxml2): Rename from Qlibxml2_dll.
42752         (Qzlib): Rename from Qzlib_dll.
42753         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
42754         * src/window.c (Qwindow__resize_root_window):
42755         Rename from Qwindow_resize_root_window.
42756         (Qwindow__resize_root_window_vertically):
42757         Rename from Qwindow_resize_root_window_vertically.
42758         (Qwindow__sanitize_window_sizes):
42759         Rename from Qwindow_sanitize_window_sizes.
42760         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
42761         * src/xdisp.c (Qredisplay_internal_xC_functionx):
42762         Rename from Qredisplay_internal.
42763         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
42764         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
42766 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
42768         func-arity minor improvements
42770         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
42771         runtime test for integer argument, unless debugging.
42772         Use EMACS_INT for Emacs integers.
42773         * src/eval.c (Ffunc_arity): Omit unused locals.
42774         Avoid side effects in ‘if’ expr.
42775         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
42777 2016-03-26  John Wiegley  <johnw@newartisans.com>
42779         Restore the fix to bug#18527 from commit d6868025
42781 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
42783         Safely run window size change functions
42785         * src/window.c (run_window_size_change_functions): Use
42786         safe_call1 when running a size change function.
42787         (grow_mini_window, shrink_mini_window): Report error when
42788         minibuffer window cannot be resized.
42790 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
42792         Implement 'func-arity'
42794         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
42795         * src/bytecode.c (get_byte_code_arity): New function.
42796         * src/lisp.h (get_byte_code_arity): Add prototype.
42798         * doc/lispref/functions.texi (What Is a Function): Document
42799         'func-arity'.
42801         * etc/NEWS: Mention 'func-arity'.
42803         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
42805 2016-03-25  Alan Mackenzie  <acm@muc.de>
42807         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
42809         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
42810         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
42811         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
42812         c-noise-macro-with-parens-name-re.
42814         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
42815         cc-engine.el.
42817         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
42818         `c-make-noise-macro-regexps'.
42819         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
42821         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
42822         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
42824 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42826         (shr-insert): Respect non-breaking space in non-<pre> text
42828         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
42829         non-<pre> text.
42831 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42833         parse-times-string doc string clarification
42835         * lisp/calendar/parse-time.el (parse-time-string): Note that
42836         we accept RFC2822 strings.
42838 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
42840         Doc string fix
42842         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
42843         doc string and clean up code.
42845 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
42847         Cleanup file notification code in Tramp
42849         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
42850         Make `events' a list of symbols for "inotifywait".
42851         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
42852         Call `file-notify-handle-event' for better traces.
42853         (tramp-sh-inotifywait-process-filter): Check for expected events.
42854         Call `file-notify-handle-event' for better traces.
42856 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
42858         Adapt filenotify-tests.el according latest tests
42860         * test/lisp/filenotify-tests.el (file-notify-test02-events)
42861         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
42862         Remove superfluous `read-event' calls.
42863         (file-notify-test02-events): Expect different events under MS
42864         Windows 7 and 10.
42865         (file-notify-test04-file-validity): Move `file-notify-valid-p'
42866         check up.
42868 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
42870         Merge from origin/emacs-25
42872         ad250f2 Sync with gnulib
42873         c0165ea Resurrect GNUS-NEWS autogeneration
42875         # Conflicts:
42876         #       etc/GNUS-NEWS
42877         #       lisp/Makefile.in
42879 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
42881         Merge from origin/emacs-25
42883         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
42884         38a43f1 Fix bug in displaying header line with a box face
42886 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
42888         * etc/NEWS: Use straight quotes.
42890 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
42892         Support completion of attribute values in CSS mode
42894         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
42895         holding CSS identifiers and the values they can have.
42896         (css-property-ids): Compute dynamically from `css-property-alist'.
42897         (css-value-class-alist): New defconst holding property value classes
42898         and their values.
42899         (css--property-value-cache): New variable providing a cache for
42900         `css--property-values'.
42901         (css--value-class-lookup): New function for computing a list of values
42902         in a value class.
42903         (css--property-values): New function for computing a list of possible
42904         values for a CSS property.
42905         (css--complete-property-value): New function for completing a property
42906         value.
42907         (css-completion-at-point): Add support for completing property values.
42908         * test/lisp/textmodes/css-mode-tests.el: New file.
42910 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
42912         Sync with verilog-mode development tree.
42914         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
42915         verilog-speedbar-initialize): Automatically add verilog-mode
42916         extensions when in speedbar mode, bug1045, bug1046.  Reported by
42917         David Shleifman.
42918         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
42919         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
42920         (verilog-read-always-signals-recurse): Fix :: notation for
42921         auto-reset signals.  Reported by Andrew Jones.
42922         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
42923         grouping keywords, bug1002. Reported by Paul Sargent.
42924         (verilog-save-font-no-change-functions): Commentary and fix
42925         pre-Emacs 21 behavior.
42927 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
42929         Compute a better commit message for merges
42931         Problem reported by David Engster in:
42932         https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01270.html
42933         * admin/gitmerge.el (gitmerge-commit-message):
42934         Truncate the computed commit message to at most 72 characters per line.
42935         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
42936         merges; use the computed commit message instead.
42938 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
42940         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
42942 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
42944         Change do-not-merge pattern to "do not merge"
42946         This should avoid the problem we recently had with
42947         automatically-generated merge messages, while still letting people
42948         specify commits not to merge.
42949         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
42950         (gitmerge-highlight-skip-regexp): Fold case when searching
42951         for gitmerge-skip-regexp.
42953 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
42955         Merge from origin/emacs-25
42957         91e6676 Fix an Isearch var to be a string (Bug#23038)
42958         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
42960 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
42962         -
42964         -
42966 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
42968         Keep "merge" commits by default in gitmerge
42970         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
42971         causes false positives.  See:
42972         https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01234.html
42974 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
42976         Assume NON_BLOCKING_CONNECT (Bug#22946)
42978         * lisp/proced.el (proced-signal-list): Omit comment about
42979         obsolete systems that do not support POSIX 1003.1-2001 signals.
42980         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
42981         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
42982         (connect_network_socket): Assume EINPROGRESS is defined,
42983         as that’s portable too now.
42984         (Fmake_network_process): Use bool for boolean.
42986 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
42988         Fix problems caused by new implementation of sub-word mode
42990         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
42991         New functions.
42992         (word-move-empty-char-table): New variable.
42994         * etc/NEWS: Mention 'forward-word-strictly' and
42995         'backward-word-strictly'.
42997         * doc/lispref/positions.texi (Word Motion): Document
42998         'find-word-boundary-function-table', 'forward-word-strictly', and
42999         'backward-word-strictly'.  (Bug#22560)
43001         * src/syntax.c (syms_of_syntax)
43002         <find-word-boundary-function-table>: Doc fix.
43004         * lisp/wdired.el (wdired-xcase-word):
43005         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
43006         (texinfo-copy-section-title, texinfo-start-menu-description)
43007         (texinfo-copy-menu-title, texinfo-specific-section-type)
43008         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
43009         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
43010         (texinfo-insert-@end):
43011         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
43012         (texinfo-anchor, texinfo-multitable-widths)
43013         (texinfo-multitable-item):
43014         * lisp/textmodes/tex-mode.el (latex-env-before-change):
43015         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
43016         * lisp/skeleton.el (skeleton-insert):
43017         * lisp/simple.el (count-words):
43018         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
43019         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
43020         (vhdl-update-sensitivity-list, vhdl-template-block)
43021         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
43022         (vhdl-template-default-indent, vhdl-template-for-loop)
43023         (vhdl-template-if-then-use, vhdl-template-bare-loop)
43024         (vhdl-template-nature, vhdl-template-procedural)
43025         (vhdl-template-process, vhdl-template-selected-signal-asst)
43026         (vhdl-template-type, vhdl-template-variable)
43027         (vhdl-template-while-loop, vhdl-beginning-of-block)
43028         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
43029         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
43030         (verilog-forward-sexp, verilog-beg-of-statement)
43031         (verilog-set-auto-endcomments, verilog-backward-token)
43032         (verilog-do-indent):
43033         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
43034         (vera-indent-block-closing):
43035         * lisp/progmodes/simula.el (simula-context)
43036         (simula-backward-up-level, simula-forward-down-level)
43037         (simula-previous-statement, simula-next-statement)
43038         (simula-skip-comment-backward, simula-calculate-indent)
43039         (simula-find-if, simula-electric-keyword):
43040         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
43041         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
43042         (ruby-smie--forward-token, ruby-smie--backward-token)
43043         (ruby-singleton-class-p, ruby-calculate-indent)
43044         (ruby-forward-sexp, ruby-backward-sexp):
43045         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
43046         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
43047         (perl-syntax-propertize-special-constructs)
43048         (perl-backward-to-start-of-continued-exp):
43049         * lisp/progmodes/pascal.el (pascal-indent-declaration):
43050         * lisp/progmodes/octave.el (octave-function-file-p):
43051         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
43052         * lisp/progmodes/js.el (js--forward-function-decl):
43053         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
43054         (idlwave-beginning-of-block, idlwave-end-of-block)
43055         (idlwave-block-jump-out, idlwave-determine-class):
43056         * lisp/progmodes/icon.el (icon-is-continuation-line)
43057         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
43058         * lisp/progmodes/hideif.el (hide-ifdef-define):
43059         * lisp/progmodes/f90.el (f90-change-keywords):
43060         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
43061         (cperl-linefeed, cperl-electric-terminator)
43062         (cperl-find-pods-heres, cperl-fix-line-spacing)
43063         (cperl-invert-if-unless):
43064         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
43065         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
43066         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
43067         (ada-adjust-case-skeleton, ada-create-case-exception)
43068         (ada-create-case-exception-substring)
43069         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
43070         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
43071         (ada-get-indent-if, ada-get-indent-block-start)
43072         (ada-get-indent-loop, ada-get-indent-type)
43073         (ada-search-prev-end-stmt, ada-check-defun-name)
43074         (ada-goto-decl-start, ada-goto-matching-start)
43075         (ada-goto-matching-end, ada-looking-at-semi-or)
43076         (ada-looking-at-semi-private, ada-in-paramlist-p)
43077         (ada-search-ignore-complex-boolean, ada-move-to-start)
43078         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
43079         * lisp/net/quickurl.el (quickurl-grab-url):
43080         * lisp/mail/sendmail.el (mail-do-fcc):
43081         * lisp/mail/rmail.el (rmail-resend):
43082         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
43083         * lisp/mail/mail-extr.el (mail-extract-address-components):
43084         * lisp/json.el (json-read-keyword):
43085         * lisp/files.el (insert-directory):
43086         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
43087         * lisp/completion.el (symbol-under-point, symbol-before-point)
43088         (symbol-before-point-for-complete, next-cdabbrev)
43089         (add-completions-from-c-buffer):
43090         * lisp/cedet/semantic/texi.el (semantic-up-context)
43091         (semantic-beginning-of-context):
43092         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
43093         use 'forward-word-strictly' and 'backward-word-strictly' instead
43094         of 'forward-word' and 'backward-word'.
43096         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
43097         which was inadvertently lost by merge commit
43098         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
43100 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
43102         * etc/TODO: Minor quoting and grammar fixes.
43104         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
43105         which was inadvertently lost by merge commit
43106         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
43108 2016-03-21  Alan Mackenzie  <acm@muc.de>
43110         Don't confuse "::" with ":" when trying to parse member initializers.
43112         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
43113         more robustly for ":" token when searching backwards for it.
43115         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
43116         language variable.
43118         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
43119         which was inadvertently lost by merge commit
43120         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43122 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
43124         Ensure positive number of glyphs for margins of positive width
43126         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
43127         positive value when a non-zero width of the marginal area was
43128         requested.  (Bug#22356)
43130         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
43131         which was inadvertently lost by merge commit
43132         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43134 2016-03-21  Alan Mackenzie  <acm@muc.de>
43136         In comment-dwim with style `extra-line', respect indent-tabs-mode.
43138         This fixes bug #22369.
43140         * lisp/newcomment.el (comment-make-bol-ws): New function.
43141         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
43143         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
43144         which was inadvertently lost by merge commit
43145         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43147 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
43149         Merge doc fixes for 'random' lost in previous merge
43151         [This reapplies part of commit
43152         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
43153         which was inadvertently lost by merge commit
43154         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43155         (Bug#22202)
43157 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
43159         Unhide the --no-line-directive option to 'etags'
43161         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
43162         option.  (Bug#22306)
43164         * doc/man/etags.1: Document the --no-line-directive option.
43166         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
43167         which was inadvertently lost by merge commit
43168         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43170 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
43172         Fix picture-mode wrt double-width characters
43174         * lisp/textmodes/picture.el (picture-insert): Check the width of
43175         the character being replaced, not just that of the replacement.
43176         (Bug#1808)
43178         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
43179         which was inadvertently lost by merge commit
43180         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43182 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
43184         Resurrect earlier fix of resize_frame_windows
43186         * src/window.c (resize_frame_windows): Resurrect earlier fix for
43187         calculating the number of columns of the minibuffer window which
43188         was lost in subsequent merges.
43190 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43192         Move the cert files to the data directory
43194 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43196         Further empty <li> tweaks
43198         * lisp/net/shr.el (shr-tag-li): When showing several empty
43199         <li> elements, ensure that they really get inserted on a new line.
43201 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43203         Don't remove too much white space at the end of documents
43205         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
43206         remove too much white space -- leave it on the last line (in
43207         case there's a background color).
43209 2016-03-20  Alan Mackenzie  <acm@muc.de>
43211         Amend parse-partial-sexp correctly to handle two character comment delimiters
43213         Do this by adding a new field to the parser state: the syntax of the last
43214         character scanned, should that be the first char of a (potential) two char
43215         construct, nil otherwise.
43216         This should make the parser state complete.
43217         Also document element 9 of the parser state.  Also refactor the code a bit.
43219         * src/syntax.c (struct lisp_parse_state): Add a new field.
43220         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
43221         (internalize_parse_state): New function, extracted from scan_sexps_forward.
43222         (back_comment): Call internalize_parse_state.
43223         (forw_comment): Return the syntax of the last character scanned to the caller
43224         when that character might be the first of a two character construct.
43225         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
43226         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
43227         information via the address parameter `state'.  Remove the code which converts
43228         from external to internal form of `state'.  Access buffer contents only from
43229         `from' onwards.  Reformulate code at the top of the main loop correctly to
43230         recognize comment openers when starting in the middle of one.  Call
43231         forw_comment with extra argument (for return of syntax value of possible first
43232         char of a two char construct).
43233         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
43234         doc string.  Clarify the doc string in general.  Call
43235         internalize_parse_state.  Take account of the new elements when consing up the
43236         output parser state.
43238         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
43239         element 10.  Minor wording corrections (remove reference to "trivial
43240         cases").
43241         (Low Level Parsing): Minor corrections.
43243         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
43244         state.
43246 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43248         Allow the shr test files to have trailing blank space.
43250         * .gitattributes: Allow the shr test files to have trailing
43251         blank space.
43253 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43255         Add tests for empty <ul><li>
43257 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
43259         * src/alloc.c (purecopy): Use AUTO_STRING.
43261 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43263         Ignore invalid base64 encoded embedded images
43265         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
43266         encoded embedded images (bug#22928).
43268 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43270         Render empty <ul><li><ul> correctly
43272         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
43273         correctly (bug#22964).
43275 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43277         Fix <p> and <div> newlines with or without <li> in shr
43279         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
43280         a <li>, if we are, and don't insert newlines there.
43281         (shr-ensure-paragraph): When mixing newlines and paragraph
43282         ensurements, don't insert too many blank lines.
43283         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
43284         new line.
43286 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43288         Add more shr HTML rendering tests
43290         Add a test harness for shr HTML rendering and one test
43292 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43294         Remove code left over from when overlays were used for padding
43296         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
43297         (shr-remove-trailing-whitespace): Ditto.
43298         (shr-insert-document): Don't call them.
43300 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43302         Remove trailing blank lines in shr
43304         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
43305         (shr-insert-document): Use it to remove trailing blank lines
43306         at the end of documents, since these never seem to be very useful.
43308 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43310         Don't bug out on nil `patch-buf' arguments
43312         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
43313         `patch-buf' arguments.
43315 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
43317         Add a Catalan language environment
43319         * lisp/international/mule-cmds.el (locale-language-names): Map locale
43320           language name `ca' to language environment `Catalan'.
43322         * lisp/language/european.el: Add definition of language
43323         environment for the Catalan language.
43325         * lisp/leim/quail/latin-pre.el: Add quail rule to the
43326         `catalan-prefix' input method to support input of middle dot
43327         characters through composition (bug#18279).
43329 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43331         No need to block input when reading directories
43333         * src/dired.c: Don’t include blockinput.h.
43334         (open_directory, directory_files_internal_unwind)
43335         (directory_files_internal, file_attributes):
43336         Don’t block input here, as the reasons for blocking input should
43337         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
43339 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
43341         * lisp/vc/vc-hooks.el: Fix typo
43343 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
43345         Improve w32notify notifications
43347         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
43348         (struct notification): 'terminate' is now a HANDLE.
43349         (send_notifications): Argument is now a pointer to a
43350         notification.  Don't loop waiting for the notification to be
43351         acknowledged by the main thread; instead, just add the
43352         notification to the linked list of notifications waiting to be
43353         acknowledged.
43354         (watch_end): Don't close the directory handle.
43355         (watch_completion): Allocate a new notification structure to be
43356         added to the notifications set.  Call ReadDirectoryChangesW
43357         immediately after adding the new notification, and before sending
43358         a message to the main thread about them.
43359         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
43360         call it just once -- it will be called again in watch_completion.
43361         Loop waiting for the main thread's indication to terminate.
43362         (start_watching): Create the event to be used to indicate to the
43363         worker thread that its should terminate.
43364         (remove_watch): Indicate to the worker thread that it should
43365         terminate.
43366         * src/w32term.c (queue_notifications): Loop over all the
43367         notifications in the linked list, processing all of them in one
43368         go.
43369         * src/w32inevt.c (handle_file_notifications): Loop over all the
43370         notifications in the linked list.
43371         * src/w32xfns.c (init_crit): Initialize the linked list of file
43372         notifications.
43373         (delete_crit): Free the linked list of file notifications,
43374         including any unprocessed notifications left in it.
43375         * src/w32term.h (struct notifications_se): New struct.
43377         * test/lisp/filenotify-tests.el (file-notify-test02-events)
43378         (file-notify-test05-dir-validity): Add read-event calls to
43379         facilitate event recognition by the main thread in batch mode.
43381 2016-03-17  Sam Steingold  <sds@gnu.org>
43383         make `vc-log-operation' buffer local to allow multiple simultaneous editing
43385 2016-03-17  Glenn Morris  <rgm@gnu.org>
43387         Simplify some rococo Gnus code that loads or tests for other libraries.
43389         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
43390         * lisp/gnus/mml-smime.el (epg): Simply require it.
43391         (mml-smime-use): Simplify the default.  Doc fix.
43392         * lisp/gnus/mml2015.el (epg-config): Require it.
43393         (mml2015-use): Simplify the default.
43394         * lisp/gnus/smime.el (password-cache): Simply require it.
43395         (password-read-and-add): Remove declaration.
43397 2016-03-16  Glenn Morris  <rgm@gnu.org>
43399         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
43401 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
43402             Alex Harsanyi  <AlexHarsanyi@gmail.com>
43404         Sync with soap-client repository, version 3.1.1
43406         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
43407         message.
43408         (soap-find-port): Delete trailing whitespace.
43409         (soap-find-operation): Fix documentation and rename parameter.
43410         (soap-find-port): Likewise.
43411         (soap-operation-arity): Likewise.
43413         * lisp/net/soap-client.el: Update copyright years.
43414         (soap-warning): Fix docstring quoting.
43415         (soap-decode-date-time): Likewise.
43416         (soap-validate-xs-simple-type): Remove tabs for indentation.
43417         * lisp/net/soap-inspect.el: Update copyright years.
43419         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
43420         assume xsd:base64Binary values are UTF-8 strings.
43421         (soap-decode-xs-basic-type): Likewise.
43422         (soap-invoke): Document xsd:base64Binary handling.
43424         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
43425         (soap-operation-arity): new defuns
43426         (soap-invoke-internal): use soap-find-port, soap-find-operation.
43428 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
43430         Merge from gnulib
43432         This incorporates:
43433         2016-03-15 std-gnu11: improve clang support
43434         * m4/std-gnu11.m4: Copy from gnulib.
43436 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43438         Disable MOVE more for Dovecot
43440         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
43441         disable MOVE when expirying.
43442         (nnimap-split-incoming-mail): And when splitting mail.
43444 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43446         Don't use MOVE on Dovecot
43448         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
43449         MOVE on Dovecot, since it's broken in many versions.
43450         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
43452 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
43454         Improve diff hunk headers when maintaining Emacs
43456         * .gitattributes: Improve diff hunk header support for makefiles,
43457         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
43458         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
43459         somewhere (sometimes just in test cases).
43460         * autogen.sh: Add regexes for makefiles and shell scripts.
43462 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
43464         Update handling of <bdo> per Unicode 9.0
43466         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
43467         Unicode 9.0 changes in UAX#9, paragraph 2.7.
43469 2016-03-11  John Wiegley  <johnw@newartisans.com>
43471         Merge from origin/emacs-25
43473         facb5e2 Update Emacs manual section related to character folding
43474         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
43475         f8df21b Update admin/notes/unicode
43476         950be68 Add symref-filepattern entries for c?perl-mode
43477         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
43478         985dacf ; NEWS update for the last change in etags
43479         741a6f8 Sync with gnulib
43480         7352c6c Rework C source files to avoid ^(
43481         a589e9a By default, etags produces unqualified Perl tag names
43482         72c7438 Indent methods with keyword names correctly
43483         28532a9 Propertize character literals and special global variables
43484                 differently
43485         a7d6f39 ; Fix last change in NEWS
43486         83b2a20 Change how /etc/NEWS presents character folding
43487         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
43488                 off by default""
43489         711ca36 Properly handle lambda as read function (bug 22961)
43490         1b9d616 Propertize operator symbol names with symbol syntax class
43491         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
43492         366ec77 Allow using the left shift operator without spaces on both sides
43493         02bf7cc Properly handle unquoting in wdired (bug 22938)
43494         16cf469 ; Spelling fix and tighten up comment
43495         f50bc04 Allow splat operator before percent literal
43496         991c801 Don't apply the return value of goto-char as syntax class
43497         6e63b3e Guard against nested percent literals
43498         066f3bc Recognize iuwu-mod after an escaped newline
43499         6f7a57c Fix symbolic mode string conversion for s and t
43500         50b9826 Update 'ucs-names' database
43501         993b2fb Improve doc string of 'shell-command'
43502         b71c717 Make the code in movemail_strftime more general
43503         cc057e4 Speed up redisplay of binary files with long series of nulls
43504         e51b27e Remove the highlighting support for quoting 'like this' inside
43505                 Lisp docstrings
43506         b1abce1 Restore leading space in movemail pop output
43507         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
43508         dc9d837 Don't misindent computed property generator methods
43509         7923112 Fix mbox files produced by movemail on MS-Windows
43510         c45a1ca doc string file descriptor exhaustion fix
43511         265141b Fix Bug#22814
43513 2016-03-11  John Wiegley  <johnw@newartisans.com>
43515         Merge from origin/emacs-25
43517         620951f Fix previous fix of enlarge-/shrink-window
43518         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
43519         66d2717 Complete temperature units in calc-convert-temperature
43520         dbb02bf Make sure to use case-sensitive search
43521         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
43522         100346a Add the missing test case for the previous patch
43523         5aba61e Use the correct dabbrev expansion
43525 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
43527         Remove compat code in Tramp
43529         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
43530         Remove compat code.
43532 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
43534         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
43536         Use #' for function names.
43537         (latex-complete-envnames): Include existing environments in
43538         current buffer.
43539         (latex-insert-block): Use latex-complete-envnames.
43540         (tildify-foreach-ignore-environments): Declare.
43542 2016-03-10  Alain Schneble  <a.s@realize.ch>
43544         Fix asynchronous TLS connections on MS-Windows
43546         * src/w32.c (sys_write): Don't switch the socket to blocking mode
43547         if the connection attempt is in progress.  Instead, return either
43548         EWOULDBLOCK immediately if the connection is in progress, or the
43549         error code produced by '_sys_wait_connect' if the connection
43550         failed.  Switching the socket to blocking mode was found to
43551         interfere with GnuTLS handshake.  (Bug#22789)
43553 2016-03-10  Alan Mackenzie  <acm@muc.de>
43555         Clarify the documentation of nested comments.
43557         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
43558         style are recognized inside nestable comments.
43559         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
43560         UNNESTED comments.
43562 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
43564         Add new function display-buffer-reuse-mode-window
43566         * lisp/window.el (display-buffer-reuse-mode-window): New function.
43567         * doc/lispref/windows.texi (Display Action Functions): Document it.
43569 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
43571         Minor fixes for getaddrinfo_a usage
43573         * src/process.c (Fdelete_process): Check gai_cancel return value.
43574         That way, there’s no need to invoke gai_error.  Check gai_suspend
43575         return value.
43576         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
43577         string.  Simplify call to connect_network_socket.
43578         (check_for_dns): Avoid unnecessary initialization of local.
43580 2016-03-09  Sam Steingold  <sds@gnu.org>
43582         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
43584         The former avoids a compiler warning, the latter fixes a bug whereas
43585         the variable is compiled as lexical instead of dynamic.
43587 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
43589         Pacify --enable-gcc-warnings
43591         * src/xfns.c (x_create_tip_frame): Omit unused local.
43592         (Fx_show_tip): Don’t jump over auto initialization.
43594 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
43596         Optionally reuse tooltip frames instead of deleting/recreating them.
43598         * src/frame.c (tooltip_reuse_hidden_frame): New option.
43599         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
43600         handling of dividers.
43601         (x_hide_tip): New function.
43602         (Fx_show_tip): Try to reuse old tooltip frame when
43603         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
43604         have not changed.  Insert STRING here instead of passing it to
43605         x_create_tip_frame.  Compute size of tooltip window with
43606         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
43607         padding tooltip window.
43608         (Fx_hide_tip): Call x_hide_tip.
43609         (Vw32_tooltip_extra_pixels): New variable.
43610         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
43611         value.  Fix doc-string.
43612         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
43613         make_frame with mini_p argument false.
43614         (x_hide_tip): New function.
43615         (Fx_show_tip): Try to reuse old tooltip frame when
43616         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
43617         have not changed.  Insert STRING here instead of passing it to
43618         x_create_tip_frame.  Compute size of tooltip window with
43619         Fwindow_text_pixel_size.
43620         (Fx_hide_tip): Call x_hide_tip.
43621         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
43622         customization entry.
43624 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
43626         Assume getaddrinfo in C code
43628         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
43629         All uses removed.
43630         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
43631         Say that port numbers can be integer strings.
43632         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
43633         (socket_connection): Assume HAVE_GETADDRINFO.
43634         * lisp/mpc.el (mpc--proc-connect):
43635         * lisp/net/network-stream.el (open-network-stream):
43636         It’s now OK to use integer strings as port numbers.
43637         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
43638         (Fmake_network_process): Assume HAVE_GETADDRINFO.
43640 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
43642         Remove support for IRIX
43644         The IRIX port wasn’t really working anyway, and the code was
43645         getting in the way of other changes (e.g., getaddrinfo fixes).
43646         IRIX’s supplier dropped support for IRIX in 2013.
43647         * admin/CPP-DEFINES:
43648         * configure.ac (opsys):
43649         * doc/lispref/os.texi (System Environment):
43650         * etc/MACHINES, etc/PROBLEMS:
43651         * lisp/find-dired.el (find-grep-options):
43652         * lisp/lpr.el (lpr-lp-system):
43653         * lisp/ls-lisp.el (ls-lisp-emulation):
43654         * lisp/mail/rmail.el (rmail-spool-directory):
43655         * lisp/net/net-utils.el (ping-program-options):
43656         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
43657         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
43658         * src/conf_post.h [IRIX6_5]:
43659         * src/emacs.c (Vsystem_type):
43660         * src/filelock.c (get_boot_time_1):
43661         * src/process.c (process_send_signal):
43662         * src/unexelf.c (unexec):
43663         Omit IRIX-specific code and/or documentation.
43664         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
43665         Remove.  All uses removed.
43666         * etc/NEWS: Document the change.
43668 2016-03-06  John Wiegley  <johnw@newartisans.com>
43670         Revert "Use colors in the VC mode lines"
43672         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
43674 2016-03-06  Ken Brown  <kbrown@cornell.edu>
43676         Fix Cygwin-w32 build
43678         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
43679         Define only if WINDOWSNT, and update all uses accordingly.
43680         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
43681         (remove_w32_kbdhook): Declare only if WINDOWSNT.
43682         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
43684 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
43686         Unbreak the MinGW64 build
43688         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
43689         https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00130.html
43690         for the details.  Reported by Angelo Graziosi
43691         <angelo.graziosi@alice.it>.
43693 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43695         Don't signal errors on E_AGAIN
43697         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
43698         error now that TLS is async.
43700 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43702         Allow making TLS negotiation blocking
43704         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
43706         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
43707         :complete-negotiation, to specify that we want complete
43708         negotiation even if the socket is non-blocking.
43709         (gnutls_try_handshake): Complete negotiation if given that keyword.
43711         * src/process.h (L): Added gnutls_complete_negotiation_p.
43713 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43715         Don't run ipv6 test on systems without ipv6
43717         * test/lisp/net/network-stream-tests.el
43718         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
43720 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
43722         Implement getaddrinfo fallback for MS-Windows
43724         See https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg01602.html
43725         for more details.
43727         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
43728         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
43729         test program is not smart enough to auto-detect these.
43730         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
43731         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
43732         sys_getaddrinfo and sys_freeaddrinfo.
43734         * src/w32.c (init_winsock): Try loading getaddrinfo and
43735         freeaddrinfo from ws2_32.dll.
43736         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
43738         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
43739         and also ws2tcpip.h.
43740         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
43741         sys_getaddrinfo and sys_freeaddrinfo, respectively.
43742         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
43743         functions.
43745 2016-03-04  Glenn Morris  <rgm@gnu.org>
43747         * lisp/files.el: Fix recent typo.
43749         * lisp/subr.el (read-multiple-choice): Avoid free variable.
43751         * doc/lispref/files.texi (File Attributes): Fix typo.
43753 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
43755         Make the describe-key prompts clearer
43757         * lisp/help.el (describe-key-briefly): Make the prompt clearer
43758         (bug#14854).
43759         (describe-key): Ditto.
43761 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
43763         Allow scrolling while querying multiple choice
43765         * lisp/subr.el (read-multiple-choice): Allow scrolling the
43766         buffer while querying (bug#22827).
43768 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
43770         Add accessors for `file-attributes'
43772         * doc/lispref/files.texi (File Attributes): Mention the accessors.
43774         * lisp/files.el (file-attribute-type)
43775         (file-attribute-link-number, file-attribute-user-id)
43776         (file-attribute-group-id, file-attribute-access-time)
43777         (file-attribute-modification-time)
43778         (file-attribute-change-time, file-attribute-size)
43779         (file-attribute-modes, file-attribute-inode-number)
43780         (file-attribute-device-number): New functions.
43782         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
43784 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
43786         Fix Bug#22814
43788         * lisp/autorevert.el (global-auto-revert-mode): Do not set
43789         `auto-revert-use-notify' to nil.
43791         * etc/NEWS: Mention this.
43793         * etc/PROBLEMS: Remove problem Bug#22814.
43795         * src/kqueue.c: Include <sys/resource.h>.
43796         (Fkqueue_add_watch): Limit the number of used file descriptors.
43797         (Bug#22814)
43799         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
43800         (file-notify-test00-availability, file-notify-test01-add-watch)
43801         (file-notify-test02-events, file-notify-test06-many-events):
43802         Use #' read syntax for functions.
43803         (file-notify-test05-dir-validity)
43804         (file-notify-test06-many-events): Simplify directory creation.
43805         (file-notify-test09-sufficient-ressources): New test.
43807 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
43809         Fix insertion of edited servers in the dribble file
43811         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
43812         insert explicit newlines, because they're quoted (bug#22903).
43814 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
43816         Move cl-seq-tests to the right place after the merge
43818         Move cl-seq-tests to the right place after the merge
43820 2016-03-03  John Wiegley  <johnw@newartisans.com>
43822         Merge from origin/emacs-25
43824         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
43825         5cf7c39 authors.el updates
43826         a26f193 ; fix changelog entries
43827         fbc85c7 ; make change-history-commit
43828         06da00c Fix Bug#22859
43829         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
43830         1481029 Fix reordering of bidi text in an isolate inside an override
43831         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
43833 2016-03-03  John Wiegley  <johnw@newartisans.com>
43835         Merge from origin/emacs-25
43837         f5d1435 Fix targets in test/automated/Makefile.in
43839 2016-03-03  John Wiegley  <johnw@newartisans.com>
43841         Merge from origin/emacs-25
43843         b6d6304 Comment on last change to define-derived-mode
43845 2016-03-03  John Wiegley  <johnw@newartisans.com>
43847         Merge from origin/emacs-25
43849         cb1e3da Also allow setting the paragraph direction to nil
43850         bbe8a89 Made the new OS X visible bell more visible.
43852 2016-03-03  John Wiegley  <johnw@newartisans.com>
43854         Merge from origin/emacs-25
43856         aae436e Uncomment the next-error-function integration in xref
43857         5f0d096 Remove the word "valid", to avoid ambiguity
43859 2016-03-03  John Wiegley  <johnw@newartisans.com>
43861         Merge from origin/emacs-25
43863         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
43864         0d60bfc Fix ModelSim error parsing
43866 2016-03-03  John Wiegley  <johnw@newartisans.com>
43868         Merge from origin/emacs-25
43870         b13cab6 Add a eww command to toggle paragraph direction
43871         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
43872         9e078e5 Fix char signedness issue in bidi code
43873         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
43874         14060a9 Avoid inflooping in thing-at-point-looking-at
43875         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
43876                 indent change.
43877         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
43878         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
43879         d2dd614 Remove unneeded workaround in xftfont.c
43880         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
43881         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
43882         06a872b Fix redisplay on a TTY after 'make-frame'
43883         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
43884                 Fixes bug#5560.
43885         7d206fc Input method polish-slash should not use keyboard translation
43886         8be32cf Fix an assertion
43887         040e0d6 Fix 'toggle-save-place'
43888         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
43890 2016-03-03  John Wiegley  <johnw@newartisans.com>
43892         Merge from origin/emacs-25
43894         e6a3819 Update HISTORY section in readme for the NextStep interface.
43895         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
43896         7c81a0b Improve documentation of 'save-place-mode'
43897         cab3f0a Allocate glyph matrices for the initial frame
43898         e01c72f Fix white space in last checkin
43899         370eb67 Make `insert-pair' always leave the cursor where documented
43900         b594393 etc/NEWS: Mention the new second parameter to `package-install'
43902 2016-03-03  John Wiegley  <johnw@newartisans.com>
43904         Merge from origin/emacs-25
43906         bd58c13 Improve documentation of focus-related hooks
43907         00a4720 Further improve doc string of 'disable-point-adjustment'
43908         c582def Further adaptions in file-notify-tests.el for w32notify
43909         a1585e1 Don't bug out on localised dates in gnus-icalendar
43911 2016-03-03  John Wiegley  <johnw@newartisans.com>
43913         Merge from origin/emacs-25
43915         7bc4820 Make setf for frame-height/width work again
43917 2016-03-03  John Wiegley  <johnw@newartisans.com>
43919         Merge from origin/emacs-25
43921         6620944 (cl-union): Do not ignore :test argument when lists are equal.
43922         17dd3fb Add `isearch' to `basic-faces'
43923         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
43924         e72a26e Make find-tag-default-bounds more strict
43925         1bc0e0a Minor fixes in filenotify.el
43927 2016-03-02  Alain Schneble  <a.s@realize.ch>
43929         Fix issue of inserting images on some systems
43931         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
43932         to pass to shr-image-fetched, to indicate where to insert the
43933         image.  Fixes the issue introduced with commit
43934         80852f843e69b81618f29cfb9aa4b074946cb3c4
43935         (bug#22789).
43937 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
43939         Ensure TLS negotiation progress
43941         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
43942         number of retries so that we try for about a minute.
43944         * src/process.c (wait_reading_process_output): Ensure progress
43945         for DNS resolution and TLS negotiation.
43947 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
43949         emacs-module.h slight simplification
43951         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
43952         * src/emacs-module.h: ... from here, as they don’t need to be public.
43953         (enum emacs_arity): Remove useless enum tag.  The enum value is
43954         used in ptrdiff_t contexts.
43956         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
43958 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
43960         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
43962 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
43964         emacs-module.c simplification and tuneup
43966         * src/emacs-module.c (CHECK_USER_PTR): New function.
43967         (module_get_user_ptr, module_set_user_ptr)
43968         (module_get_user_finalizer, module_set_user_finalizer): Use it.
43969         (module_make_global_ref, module_copy_string_contents)
43970         (module_make_string, module_vec_set, module_vec_get): Omit
43971         unnecessary runtime tests.  For example, vector sizes are always
43972         fixnums, so we don’t need to test that they are in fixnum range.
43974 2016-03-02  Philipp Stephani  <phst@google.com>
43976         Use standard checks whenever possible.
43978         This is possible in all functions where we catch signals anyway.
43980         * src/emacs-module.c (module_make_global_ref, module_funcall)
43981         (module_copy_string_contents, module_make_string): Use xsignal0
43982         and CHECK macros for argument checks.
43984 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
43986         Deterministic build improvements
43988         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
43989         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
43990         and have its value be either empty or --no-build-details.
43991         All uses changed.  Change option to --disable-build-details.
43992         * doc/emacs/cmdargs.texi (Initial Options):
43993         Document --no-build-details.
43994         * doc/lispref/internals.texi (Building Emacs):
43995         * etc/NEWS:
43996         Document --disable-build-details.
43997         * doc/lispref/intro.texi (Version Info): Say that
43998         emacs-build-time can be nil.
43999         * lisp/erc/erc-compat.el (erc-emacs-build-time):
44000         Now nil if details are omitted.
44001         * lisp/erc/erc.el (erc-cmd-SV):
44002         * lisp/version.el (emacs-build-time):
44003         Now nil if no build details.
44004         (emacs-version):
44005         Output build time only if build details.
44006         * src/Makefile.in (BUILD_DETAILS): New macro.
44007         (temacs, bootstrap-emacs): Use it.
44008         * src/emacs.c (build_details): New var.
44009         (standard_args, main): Support --no-build-details.
44010         (Vdeterministic_dump): Remove; all uses replaced
44011         by !build_details.
44012         (syms_of_emacs): Set Vbuild_details to a boolean, not
44013         to a Lisp_Object.
44014         * src/lisp.h (build_details): New decl.
44015         * src/sysdep.c (init_system_name): When !build_details,
44016         set system-name to nil, not to "elided".
44018 2016-03-02  Philipp Stephani  <phst@google.com>
44020         Remove build system name from deterministic dumps
44022         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
44023         * lisp/version.el (emacs-build-time): Add a comment to make the
44024         build time deterministic if requested.
44025         (emacs-build-system): Make variable deterministic if requested.
44026         * src/emacs.c (main): Initialize `deterministic-dump' from the
44027         configuration option.
44028         (syms_of_emacs): New constant `deterministic-dump'.
44029         * src/sysdep.c (init_system_name): Use a constant
44030         if a deterministic dump is requested.
44032 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
44034         Remove buggy parse-time test
44036         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
44037         Remove the iso parse test, since it doesn't work.
44039 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44041         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
44043 2016-02-29  Glenn Morris  <rgm@gnu.org>
44045         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
44046         Experiment with setting to nil.
44048 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44050         Make the revert command in timer-list-mode work
44052         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
44053         command work.
44055 2016-02-29  Glenn Morris  <rgm@gnu.org>
44057         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
44058         Fix 6-week old merge error.
44060         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
44061         Ensure timestamps.
44063         * lisp/emacs-lisp/package.el (package-generate-autoloads):
44064         Disable timestamps.
44066 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44068         Allow binding `url-mime-accept-string'
44070         * lisp/url/url-http.el (url-http): Allow binding
44071         `url-mime-accept-string' (bug#22855).
44073 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44075         Add a NEWS entry for the colorful VC indicator
44077 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44079         Use colors in the VC mode lines
44081         * lisp/vc/vc-hooks.el: Make the mode line faces default to
44082         using colors to more clearly tell the user what the status is.
44084 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44086         Support <bdo> and <bdi>
44088         * lisp/net/shr.el (shr-tag-bdo): New function.
44089         (shr-tag-bdi): Ditto.
44091 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44093         Respect <html dir=auto>
44095         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
44096         directional HTML setting.
44098 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44100         Default bidi paragraph direction to nil
44102         * lisp/net/eww.el (eww-display-html): Default bidi rendering
44103         to nil, so that possibly more Arabic web pages render
44104         correctly (bug#22786).
44105         (eww-setup-buffer): Ditto.
44107 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
44109         Preserve current column, going up/down in thumbnail view.
44111 2016-02-29  Alan Mackenzie  <acm@muc.de>
44113         Handle "noise" macros and compiler directives.
44115         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
44117         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
44118         (c-noise-macro-with-parens-names): New customizable variables.
44119         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
44120         (c-make-noise-macro-regexps): New function.
44122         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
44123         members of c-noise-macro-names as whitespace.
44124         (c-forward-noise-clause): New function.
44125         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
44126         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
44127         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
44128         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
44130         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
44131         in parallel with "prefix-spec keywords".
44133         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
44134         c-make-noise-macro-regexps to initialize the internal variables.
44136         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
44137         facilities.
44139 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
44141         Stop calling res_init
44143         Emacs shouldn’t need to call res_init any more, now that nscd or
44144         equivalent is everywhere.  On modern systems, calling res_init
44145         simply slows Emacs down.  On ancient systems lacking nscd Emacs
44146         will still work well enough with this change; it’s just that it
44147         won’t respond to changes in /etc/resolv.conf.
44148         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
44149         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
44150         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
44151         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
44153 2016-02-29  Glenn Morris  <rgm@gnu.org>
44155         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
44157         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
44159 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
44161         * src/process.c (Fdelete_process): Simplify cast.
44163 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44165         Use the correct background color when filling nested <divs>
44167         * lisp/net/shr.el (shr-face-background): Return the first
44168         background, because that's the one that's visible (bug#22680).
44170 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44172         Make <div> in <li> not insert extra newlines
44174         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
44175         extra newlines (bug#19587).
44177 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44179         Allow reading Gnus reports from an offline cache
44181         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
44182         Allow reading bug reports from an offline cache directory.
44184 2016-02-28  Tino Calancha  <f92capac@gmail.com>
44186         Meta + shift + Fn combos are recognized by xterm>=216.
44188         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
44189         Fn combos are recognized by xterm>=216 (bug#22837).
44191 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
44193         Declare $ as an expression prefix in SCSS
44195         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
44196         expression prefix (bug#22841).
44198 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44200         Revert "Declare $ as an expression prefix in SCSS"
44202         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
44204         Revering to fix author name.
44206 2016-02-28  Simen  <simenheg@gmail.com>
44208         Declare $ as an expression prefix in SCSS
44210         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
44211         expression prefix (bug#22841).
44213 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
44215         Save buffers before running grep commands
44217         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
44218         (grep, lgrep, rgrep): Use it (bug#96).
44220         * doc/emacs/building.texi (Grep Searching): Document
44221         `grep-save-buffers'.
44223         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
44224         `grep-ask-about-save'.
44225         (grep--save-buffers): New function.
44226         (grep, lgrep, rgrep): Use it.
44228 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44230         Allow sorting flyspell corrections
44232         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
44233         (flyspell-sort-corrections-functionx): New variable.
44234         (flyspell-sort-corrections-alphabetically): New function.
44235         (flyspell-notify-misspell): Use them.
44236         (flyspell-auto-correct-word): Ditto.
44237         (flyspell-emacs-popup): Ditto.
44238         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
44240 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44242         Wait for async DNS to complete before freeing resources
44244         * src/process.c (Fdelete_process): Wait for async DNS to
44245         complete before freeing the data structures it needs.
44247 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44249         * lisp/faces.el: Remove duplicated functions from previous patch.
44251 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
44253         Fix TLS connections on MS-Windows
44255         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
44256         this is a non-blocking socket whose connection is in progress, set
44257         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
44258         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
44259         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
44261 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44263         Add a NEWS entry for the read-color change
44265 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
44267         Show the face colours when completing in `read-color'
44269         * lisp/faces.el (defined-colors-with-face-attributes): New function.
44270         (readable-foreground-color, defined-colors-with-face-attributes)
44271         (readable-foreground-color): Ditto.
44272         (read-color): Use them (bug#5305).
44274 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44276         Clean up the code in parse-time-string-chars
44278         * lisp/calendar/parse-time.el (parse-time-string-chars):
44279         Clean up the code a bit.
44281 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44283         Add some tests for parse-time.el
44285         * test/lisp/calendar/parse-time-tests.el: New file.
44287 2016-02-27  Dima Kogan  <dima@secretsauce.net>
44289         Strip out some leading whitespace when looking at logs
44291         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
44292         at expanded git logs with `vc-print-root-log' (C-x v L, then
44293         <enter> by default), Emacs was stripping out all leading
44294         whitespace from git logs.  I now strip exactly 2 leading
44295         spaces, which retains the indentation in the logs (bug#18110).
44297 2016-02-27  Dima Kogan  <dima@secretsauce.net>
44299         Use a separate history variable for align-regexp
44301         * lisp/align.el (align-regexp-history): New variable (bug#16891).
44302         (align-regexp): Use it.
44304 2016-02-27  Phil Sung  <philbert@gmail.com>
44306         Create subdirectories automatically in wdired
44308         * lisp/wdired.el (wdired-create-parent-directories): New
44309         variable (bug#6817).
44310         (wdired-create-parentdirs): New function.
44311         (wdired-do-renames): Use it.
44312         * doc/emacs/dired.texi (Wdired): Mention
44313         `wdired-create-parent-directories'
44315 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44317         Return the correct error values from gnutls.c
44319         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
44320         expected by process.c.
44321         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
44322         possible race condition with the process.c socket polling
44323         functions.
44325 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
44327         Don't make assumptions about mkdir.  (Bug#22822)
44329         * test/Makefile.in (MKDIR_P): New, set by configure.
44330         (%.log): Use MKDIR_P.
44332 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
44334         Support switching to hexl-mode from image-mode
44336         * lisp/image-mode.el (image-toggle-hex-display)
44337         (image-mode-to-text): New functions.
44338         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
44339         image-toggle-hex-display.
44340         (image-mode-map): New menu item "Show as Hex".
44341         (image-mode): Update doc string and echo-area message.
44342         (image-toggle-display): Support toggle to hex.  (Bug#22453)
44344         * doc/emacs/files.texi (File Conveniences): Document
44345         'image-toggle-hex-display'.
44347 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
44349         Remove unused code in coding.c
44351         * src/coding.c (decode_eol): Remove unused code that handled the
44352         case of coding->dst_object being nil.  Replace it with an
44353         assertion.
44355 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
44357         * src/syntax.c: Fix result of syntax_multibyte()
44359         The ?: operator has a lower precedence than ||.
44360         Bug introduced by commit 45b683a.
44362 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
44364         --enable-gcc-warnings now uses -Wjump-misses-init
44366         When configuring with --enable-gcc-warnings, also enable
44367         -Wjump-misses-init, as it’s confusing to use a goto to skip over
44368         an initialization.  Fix the few places in the code that run afoul
44369         of this warning.
44370         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
44371         * src/doc.c (Fsubstitute_command_keys):
44372         * src/image.c (svg_load_image):
44373         * src/regex.c (re_match_2_internal):
44374         * src/xdisp.c (redisplay_internal, redisplay_window):
44375         Don’t jump over initialization.
44377 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
44379         Improve the register-hotkey functionality on MS-Windows
44381         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
44382         keyboard hook functionality.
44383         Include w32inevt.h, basetyps.h and unknwn.h.
44384         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
44385         (kbdhook): A new struct definition.
44386         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
44387         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
44388         (modifier_set): Call check_w32_winkey_state if a Win key was
44389         pressed and the keyboard hook is active.
44390         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
44391         hook is active.  Only register/unregister the hotkeys if the
44392         keyboard hook is not active.  When WM_CREATE is received, call
44393         setup_w32_kbdhook.  When WM_DESTROY is received, call
44394         reset_w32_kbdhook_state.
44395         (lookup_vk_code): When the keyboard hook is active, map
44396         alphanumeric characters to themselves.
44397         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
44398         modified keys to VK_ANY if the keyboard hook is active.  Register
44399         Alt-x and Win-x combinations.
44400         (Fw32_shell_execute): Update doc string to reflect new
44401         functionality.  Bypass the code that posts the
44402         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
44403         (Fw32_unregister_hot_key): Bypass the code that posts the
44404         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
44405         (syms_of_w32fns) <w32-pass-lwindow-to-system>
44406         <w32-pass-rwindow-to-system, w32-phantom-key-code>
44407         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
44408         to reflect the new functionality.
44409         * src/w32console.c (initialize_w32_display): Install the low-level
44410         keyboard hook.
44411         * src/w32inevt.c (key_event): Handle Win-x combinations only if
44412         the keyboard hook is not active.  If the hook is active, use
44413         check_w32_winkey_state instead.
44414         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
44415         (check_w32_winkey_state): Add prototypes.
44416         (w32_kbdhook_active): New macro.
44418         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
44419         new functionality.
44421 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
44423         Add forward-sexp (and related) tests
44425         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
44426         forward-sexp and related functions (bug#22800).
44428 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
44430         Don't use (localised) week days in dates
44432         * lisp/gnus/gnus-icalendar.el
44433         (gnus-icalendar-event:org-timestamp): Don't use (localised)
44434         week days in the dates, because that messes up things later.
44436 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
44438         Update pcomplete/find
44440         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
44441         (bug#10487).
44443 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
44445         Make parse-time-string-chars more efficient
44447         * lisp/calendar/parse-time.el (parse-time-string-chars): The
44448         string has already been downcase, so don't care about case
44449         (bug#18522).
44451 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
44453         Remove killed buffers from the list of Gnus buffers
44455         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
44456         buffers from the list of Gnus buffers (bug#18522).
44458 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44460         Integer overflow cleanups for ports and socklen
44462         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
44463         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
44464         (connect_network_socket):
44465         Use ptrdiff_t, not int, for signed object sizes.
44466         This addresses only a theoretical problem, as in practice these
44467         object sizes are less than 2**31, but we might as well use the
44468         same style here as elsewhere in Emacs.
44469         (string_integer_p): Remove; all uses removed.
44470         (Fmake_network_process): Check that port number is in range.
44471         When converting an integer-string service, rely on strtol
44472         rather than rechecking the string by hand.
44473         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
44474         Adjust prototypes to match.
44476 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
44478         Add pcomplete support for find
44480         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
44481         for find (bug#10487).
44483 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
44485         Replace XXX acronyms with draft standard ones
44487         * lisp/international/characters.el (c1-acronyms): Replace XXX
44488         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
44489         (bug#13745).
44491 2016-02-24  Kevin Ryde  <user42@zip.com.au>
44493         Make checkdoc warn about variables described as "True"
44495         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
44496         Docstrings for variables "True...", and functions "Return
44497         true...", should usually be "non-nil" (bug#15506).
44499 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
44501         Add NEWS entry for "number string" change
44503 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
44505         Allow using "number strings" as services on non-GNU systems
44507         * src/process.c (string_integer_p): New function.
44508         (Fmake_network_process): Use it to allow connecting to
44509         services specified as "993" even when getaddrbyname isn't
44510         available.
44512 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
44514         Fix problem in tramp.texi
44516         * doc/misc/tramp.texi (File name completion): Do not use
44517         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
44518         during PDF creation.
44520 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44522         Make image commands available in image-mode
44524         * lisp/image-mode.el (image-mode-map): Inherit from
44525         `image-map' so that the usual image commands work.
44527 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44529         Move `o' to `O' in shr-map
44531         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
44532         from `o' to `O' to avoid collisions with `image-map'.
44534 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44536         Make setting the coding system non-blocking
44538         * src/process.c (Fset_process_filter_multibyte): Defer
44539         completing coding system setup in asynchronous processes.
44540         (Fset_process_coding_system): Ditto.
44542 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
44544         Mention `proced-toggle-auto-update' in the proced-mode doc string
44546         * lisp/proced.el (proced-mode): Mention
44547         `proced-toggle-auto-update' (bug#14341).
44549 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
44551         Add a fortune-message command
44553         * lisp/play/fortune.el (fortune-message): Add a command to
44554         display fortunes in the echo area (bug#14915).
44556 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
44558         Add hideshow bindings analogous to outline mode
44560         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
44561         analogous to outline mode bindings (bug#15324).
44563 2016-02-23  Bastien Guerry  <bzg@altern.org>
44565         Allow highlighting things like @math{2^{12}}
44567         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
44568         Allow highlighting things like @math{2^{12}} (bug#16390).
44570 2016-02-23  Per Bothner  <per@bothner.com>
44572         Make `C-{up,down,left,right}' work in term mode
44574         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
44575         to send the same escape sequence that xterm sends.  This makes
44576         backward-word and forward-word work in readline (bug#16746).
44578 2016-02-23  Dima Kogan  <dima@secretsauce.net>
44580         Allow ff-find-other-file (etc) to work with indirect clone buffers
44582         * lisp/find-file.el (ff-buffer-file-name): New function to
44583         allow the feature to work with indirect buffers, too
44584         (bug#16904).
44585         (ff-find-the-other-file): Use it.
44586         (ff-other-file-name): Ditto.
44587         (ff-get-file-name): Ditto.
44589 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44591         Fix error in add-change-log-entry when the entry has no newline
44593         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
44594         ChangeLog may end without a new line starting with blanks.
44596 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44598         Avoid using mm-util functoins in gravatar.el
44600         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
44601         mm-util functions.
44602         (gravatar-retrieve-synchronously): Ditto.
44604 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44606         Move low-level library files from the lisp/gnus directory
44608         The files moved from lisp/gnus are:
44610         auth-source.el -> /
44611         compface.el -> /image
44612         ecomplete.el -> /
44613         flow-fill.el -> /mail
44614         gravatar.el -> /image
44615         gssapi.el -> /net
44616         html2text.el -> /net
44617         ietf-drums.el -> /mail
44618         mail-parse.el -> /mail
44619         mail-prsvr.el -> /mail
44620         mailcap.el -> /net
44621         plstore.el -> /
44622         pop3.el -> /net
44623         qp.el -> /mail
44624         registry.el -> /
44625         rfc1843.el -> /international
44626         rfc2045.el -> /mail
44627         rfc2047.el -> /mail
44628         rfc2231.el -> /mail
44629         rtree.el -> /
44630         sieve-manage.el -> /net
44631         sieve-mode.el -> /net
44632         sieve.el -> /net
44633         starttls.el -> /net
44634         utf7.el -> /international
44635         yenc.el -> /mail
44637 2016-02-23  Tino Calancha  <f92capac@gmail.com>
44639         Allow undoing changes while doing query-replace
44641         * doc/lispref/searching.texi (Search and Replace): Mention
44642         undo (bug#21684).
44644         * lisp/replace.el (query-replace-help): Document undo.
44645         (perform-replace): Implement undo while replacing text.
44647 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
44649         Highlight assignments in Makefiles more correctly
44651         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
44652         Highlight assignments preceded by a TAB character correctly
44653         (bug#20787).
44655 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
44657         Use memmove instead of memcpy on overlapping regions
44659         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
44660         use memmove instead of memcpy (bug#19213).
44662 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
44664         Port to --enable-gcc-warnings sans getaddrinfo_a
44666         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
44667         to a local unused when getaddrinfo_a is missing.
44668         Resize portbuf to size needed.  Do cheap test first.
44669         Move local to block where it’s needed.
44671 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
44673         Minor cleanups for async DNS etc.
44675         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
44676         Omit unnecessary parens.
44677         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
44678         (gnutls_verify_boot):
44679         Use bool for boolean.
44680         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
44681         * src/process.c (free_dns_request, Fmake_network_process):
44682         Allocate and free async request control block all in one go.
44683         (set_network_socket_coding_system, finish_after_tls_connection)
44684         (connect_network_socket):
44685         Now static.
44686         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
44687         (Fmake_network_process): Use list1 for brevity.
44688         (wait_for_socket_fds): 2nd arg is now const ptr.
44689         * src/process.h (struct Lisp_Process.dns_request):
44690         Now struct gaicb *, not struct gaicb **, since there was always
44691         exactly one.  All uses changed.
44692         * src/window.c, src/window.h (run_window_configuration_change_hook):
44693         Now static.
44695 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
44697         Allow more shell script defun forms
44699         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
44700         script defun forms, like function name () {...} (bug#19754).
44702 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
44704         Fix `window-configuration-change-hook' and `window-size-change-functions'
44706         (1) Run `window-configuration-change-hook' if and only if at least
44707         one window was deleted or created or shows another buffer since
44708         last redisplay.
44710         (2) Run `window-size-change-functions' if and only if at least
44711         one window changed its size since last redisplay (in a few cases
44712         `window-size-change-functions' will also run when no window
44713         changed its size).
44715         (3) Provide two functions `window-pixel-height-before-size-change'
44716         and `window-pixel-width-before-size-change' that allow to easily
44717         detect which window changed size.
44719         * src/frame.h (struct frame): New boolean member
44720         window_configuration_changed.
44721         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
44722         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
44723         * src/frame.c (adjust_frame_size): Don't run
44724         `window-configuration-change-hook'.
44725         * src/window.h (struct window): New fields
44726         pixel_width_before_size_change and pixel_height_before_size_change.
44727         (WINDOW_INTERNAL_P): New macro.
44728         * src/window.c (Fwindow_pixel_width_before_size_change)
44729         (Fwindow_pixel_height_before_size_change): New functions.
44730         (Fdelete_other_windows_internal, Fwindow_resize_apply)
44731         (resize_frame_windows, Fsplit_window_internal)
44732         (Fdelete_window_internal, grow_mini_window)
44733         (shrink_mini_window, Fresize_mini_window_internal): Don't call
44734         FRAME_WINDOW_SIZES_CHANGED.
44735         (window_size_changed, window_set_before_size_change_sizes)
44736         (run_window_size_change_functions): New functions.
44737         (make_window): Initialize pixel_width_before_size_change and
44738         pixel_height_before_size_change.
44739         (Fdelete_window_internal): Don't call
44740         run_window_configuration_change_hook.
44741         (struct saved_window): Add pixel_height_before_size_change and
44742         pixel_width_before_size_change.
44743         (Fset_window_configuration): Try to identify window configuration
44744         changes correctly so run_window_configuration_change_hook and
44745         run_window_size_change_functions run only if configuration and size
44746         really changed.
44747         (save_window_save): Set the pixel_height_before_size_change and
44748         pixel_width_before_size_change fields.
44749         (Vwindow_size_change_functions): Move here definition from xdisp.c.
44750         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
44751         run_window_size_change_functions.
44752         (Vwindow_size_change_functions): Move definition to window.c.
44753         * src/xfns.c (x_set_menu_bar_lines): Don't call
44754         run_window_configuration_change_hook.
44755         * doc/lispref/windows.texi (Window Sizes): Document new
44756         functions `window-pixel-height-before-size-change' and
44757         `window-pixel-width-before-size-change'.
44758         (Window Configurations): Mention that this may trigger
44759         execution of `window-size-change-functions' although no window
44760         changed size.
44761         (Window Hooks): Update descriptions of `window-size-change-functions'
44762         and `window-configuration-change-hook'.
44764 2016-02-23  Drew Adams  <drew.adams@oracle.com>
44766         (ls-lisp-insert-directory): Make -B work
44768         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
44769         (bug#20776).
44771 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44773         Fix typo in message-setup-fill-variables
44775         * lisp/gnus/message.el (message-setup-fill-variables): Fix
44776         typo in a recent checkin that used `setq-default' instead of
44777         `setq-local' (bug#22781).
44779 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44781         `message-dont-reply-to-names' can also be a list of regexps
44783         * lisp/gnus/message.el (message-dont-reply-to-names):
44784         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
44786 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
44788         Make buttons in header lines work
44790         * lisp/help-mode.el (help-button-action): `help-xref-button' in
44791         header line doesn't work (bug#21024).
44793 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
44795         Place apples randomly in Snake
44797         * lisp/play/snake.el (snake-score): New variable (bug#21359).
44798         (snake-set-dot): Place the apples randomly.
44800 2016-02-23  Tino Calancha  <f92capac@gmail.com>
44802         Allow optional parameter to be nil
44804         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
44805         optional parameter to be nil (bug#21576).
44807 2016-02-23  Tino Calancha  <f92capac@gmail.com>
44809         Completely ignore buffers with no name when copying file names
44811         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
44812         ignore buffers with no file name. (bug#21577).
44814 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44816         Make spelling of "Eshell" consistent
44818         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
44819         * lisp/eshell/eshell.el (eshell-command):
44820         Spell it "Eshell" (bug#21678).
44822 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
44824         Allow pretty lambdas in Scheme mode
44826         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
44827         `prettify-symbols-alist' from Lisp mode (bug#21679).
44829 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44831         Rename lisp--prettify-symbols-alist
44833         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
44834         Rename from `lisp--prettify-symbols-alist' since we're going
44835         to use it in Scheme mode, too.
44836         (lisp-mode-variables): Use it.
44838 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
44840         Remove spurious newline in package list
44842         * lisp/emacs-lisp/package.el (describe-package-1): Remove
44843         spurious newline (bug#21706).
44845 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
44847         Revert "Remove spurious newline in package list"
44849         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
44851 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
44853         Remove spurious newline in package list
44855         * lisp/emacs-lisp/package.el (describe-package-1): Remove
44856         spurious newline (bug#21706).
44858 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
44860         Keep the position in the process buffer when deleting processes
44862         * lisp/simple.el (process-menu-delete-process): Keep the
44863         position in the buffer after killing a process (bug#21759).
44865 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
44867         Require that the buffer that we're trying to patch exist
44869         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
44870         buffer that we're trying to patch exist (bug#21852).
44872 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
44874         Require that the buffer that we're trying to patch exist
44876         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
44877         buffer that we're trying to patch exist (bug#21852).
44879 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
44881         Be more verbose when changing frame mode in ediff
44883         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
44884         mode we toggled to (bug#21853).
44886 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
44888         Encode header strings before printing
44890         * lisp/ps-print.el (ps-generate-header-line): Encode the
44891         header strings to avoid problems with non-ASCII headers
44892         (bug#22611).
44894 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
44896         Test message-strip-subject-trailing-was
44898         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
44899         New test (bug#22632).
44901 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
44903         Make use of the `ert-with-function-mocked' macro
44905         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
44906         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
44907         `ert-with-function-mocked' instead of implementing the fragile
44908         `unwind-protect' logic openly.
44910 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
44912         message-strip-subject-trailing-was: Refactor
44914         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
44915         the function replacing sequence of `if' calls with a mixture of `or'
44916         and `and' calls instead.  This makes it shorter and containing less
44917         internal state thus easier to follow.
44919 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
44921         ert-with-function-mocked: New macro
44923         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
44924         allows evaluating code while particular function is replaced with
44925         a mock.  The original definition of said function is restored once the
44926         macro finishes.
44928 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
44930         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
44932         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
44933         interface functions.
44935         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
44936         gnus-rfc1843.
44938 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
44940         Don't use mm-util functions in qp.el
44942         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
44943         mm-util functions.
44944         (quoted-printable-encode-string): Ditto.
44945         (quoted-printable-encode-region): Ditto.
44947 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
44949         Don't require mm-util
44951         * lisp/mail/ietf-drums.el (mm-util): Don't require.
44953 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
44955         Remove Gnus functions from auth-source.el
44957         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
44958         Remove usage of Gnus utility function.
44959         (mm-util, gnus-util): Don't require.
44961 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
44963         Allow deleting all non-matching cookies
44965         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
44966         keeping matching cookies (bug#22720).
44968 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
44970         Make (setf (image-property ...)) return VALUE
44972         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
44974 2016-02-22  John Wiegley  <johnw@newartisans.com>
44976         Merge from origin/emacs-25
44978         a9c48d5 Additional fixes for file notification
44979         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
44980         8c22ac9 ; Spelling fix
44981         2975784 Set file modes of pinentry socket for extra safety
44982         2667b3e Clarify GnuPG version compatibility chapter
44983         5e34c36 Revert "Change the default socket location for pinentry"
44984         e19c1c3 Kill off xref--display-history
44985         5698947 Keep the xref buffer visible until the user quits it explicitly
44986         e34fbde Change the default socket location for pinentry
44987         5f89658 Mention how to enable pinentry feature
44988         db51224 Sync with gnulib
44989         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
44990         2d8b2fd Restore point when writing semantic table to disk
44991         27d3430 Mention pinentry.el in epa manual
44992         5baa001 Fix Bug#22736
44993         7261355 Grammar fix in doc string
44994         d0f3b18 Naming fix for consistency
44995         74ec92d Prefer customized value for GnuPG executable
44996         ea0b604 Fix memory reservation on MS-Windows
44997         c5f72aa Update NextStep readme and add wish list.
44998         6de26a7 Report also result in `file-notify--test-event-handler'
44999         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
45000         1cb1268 Fix todo-mode item date editing bugs
45001         1e996cf Fix "[:upper:]" for non-ASCII characters
45002         896f993 Allow customizing the article mode cursor behavior
45003         24c1c1d Use pop-to-buffer-same-window in woman.el
45004         2a75f64 New filenotify test for bug#22736
45005         c9bccf7 Report critical battery errors
45006         d675db9 Make eww message toggling message clearer
45007         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
45008         fa8fd65 ; Improve character-folding entries in NEWS
45009         3722a69 Fix bugs in window resizing code
45010         289d5c6 Fix decoding DOS EOL in a unibyte buffer
45011         2abcb06 Correct c-parse-state cache manipulation error.
45012         14aec91 Take advantage of new GnuPG version check function
45013         e80c2a7 Make GnuPG version check robuster
45014         15a9464 Fix x-load-color-file pointer signedness
45015         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
45016         78ab6f1 Follow convention for greek letter constants.
45017         106b5bb Add Stefan-Boltzmann constant to calc units table.
45018         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
45019         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
45020         2d40f7d Fix soffice UserInstallation-URL for Windows
45021         b1a3ebe Fix display of <pre> elements
45022         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
45023         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
45025 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
45027         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
45029         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
45030           non-existing buffer.
45032 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45034         Mention the further asynchronousity
45036 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45038         Fix async TLS boot problem
45040         * src/process.c (wait_reading_process_output): Verify the boot
45041         of the correct process.
45043 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45045         Clean up forgotten text in manual
45047         * doc/lispref/display.texi (Defining Images): Remove example
45048         forgotten when making previous change.
45050 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45052         Clean up debugging code
45054         * src/process.c (Fmake_network_process): Remove debugging printf.
45055         (wait_for_socket_fds, wait_while_connecting)
45056         (wait_for_tls_negotiation): Remove newlines from messages.
45058 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45060         Fix merge conflicts in network-stream-tests.el
45062 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
45064         Port recent filevercmp addition to MS-Windows
45066         Reported by Andy Moreton in:
45067         https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg01302.html
45068         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
45069         (EXTRA_DIST): Add filevercmp.h.
45071 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45073         add_to_log expects Lisp parameters
45075 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45077         Mention sentinels in conjunction with :nowait t.
45079         * doc/lispref/processes.texi (Network Processes): Mention the
45080         recommended way of using sentinels with :nowait t.
45082 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45084         Mention in the doc strings that process functions may block
45086         (Fprocess_contact, Fprocess_datagram_address)
45087         (Fset_process_datagram_address, Fset_network_process_option)
45088         (Fprocess_send_region, Fprocess_send_string): Mention that the
45089         functions may block.
45090         (Fset_process_coding_system): Ditto.
45092 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45094         Add blocker warnings to the *Messages* buffer
45096         * src/process.c (wait_for_socket_fds): Add warning to the log.
45097         (wait_while_connecting): Ditto.
45098         (wait_for_tls_negotiation): Ditto.
45100 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45102         Rework the image property getter/setters
45104         * doc/lispref/display.texi (Defining Images): Document the
45105         renamed `image-get/set-property' functions.
45107         * lisp/image.el (image--set-property): Rename from
45108         image-set-property.
45109         (image-property): Declare a setf form.
45110         (image-property): Rename from `image-get-property'.
45112 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
45114         Use Gnulib filevercmp for version comparison
45116         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
45117         * doc/lispref/strings.texi (Text Comparison):
45118         * etc/NEWS, src/fns.c:
45119         * test/src/fns-tests.el (fns-tests-string-version-lessp):
45120         Rename newly-introduced function to string-version-lessp, by
45121         analogy with strverscmp.
45122         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
45123         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
45124         * src/fns.c: Include <filevercmp.h>.
45125         (gather_number_from_string): Remove.
45126         (Fstring_version_lessp): Reimplement via filevercmp.
45128 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45130         Add a function to delete URL cookies
45132         * doc/misc/url.texi (Cookies): Document
45133         url-cookie-delete-cookies.
45135         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
45137 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45139         Avoid integer overflows in string-numeric-lessp
45141         * src/fns.c (Fstring_numeric_lessp): If we have an integer
45142         overflow, compare lexicographically.
45144 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45146         Add the string-numeric-lessp function
45148         * doc/lispref/strings.texi (Text Comparison): Document
45149         `string-numerical-lessp'.
45151         * src/fns.c (Fstring_numeric_lessp): New function.
45152         (gather_number_from_string): Helper function for that function.
45154         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
45156 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45158         Clarify levels of :nowait t.
45160         * doc/lispref/processes.texi (Network Processes): Mention
45161         levels of asynchronicity.
45163 2016-02-20  Alain Schneble  <a.s@realize.ch>
45165         Respect DNS timeouts
45167         * src/process.c (check_for_dns): If the async DNS request
45168         failed and the associated process is still in "connect" state,
45169         deactivate the process and set status to "failed".
45171 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45173         Add a frame around the placeholder image in shr
45175         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
45176         around the image.
45178 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45180         Use placeholder images in shr to avoid text moving around
45182         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
45183         from the HTML.
45184         (shr-tag-img): Ditto.
45185         (shr-string-number): New function.
45186         (shr-make-placeholder-image): Make placeholder images.
45187         (shr-tag-img): Insert them if we have SVG support.
45189 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45191         Get explicit width/height + scale computations right
45193         * src/image.c (compute_image_size): :scale should also be
45194         taken into account when :width and :height are explicitly names.
45196 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45198         New functions for getting and setting image properties
45200         * doc/lispref/display.texi (Defining Images): Document
45201         image-get/set-property.
45203         * lisp/image.el (image-set-property): New function.
45204         (image-get-property): Ditto.
45206 2016-02-19  Alan Mackenzie  <acm@muc.de>
45208         Await the final mouse event in C-h c and C-h k.
45210         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
45211         event, keep reading further events until a timeout occurs, to ensure we have
45212         the complete mouse event from the user.
45214 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
45216         Add a library for creating and manipulating SVG images
45218         * doc/lispref/display.texi (SVG Images): New section.
45220         * lisp/svg.el: New file.
45222 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
45224         Fix up tests for async TLS negotiation
45226 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
45228         Fix coding system setup
45230         * src/process.c (set_network_socket_coding_system): Pass in
45231         the host/service that's been computed already.
45233 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
45235         Reference `tramp-theme' in GNU ELPA.
45237         * doc/misc/tramp.texi (Frequently Asked Questions):
45238         Reference `tramp-theme' in GNU ELPA.
45240 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
45242         Verify the TLS connection asynchronously
45244         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
45245         function so that we can call it asynchronously.
45246         (Fgnutls_boot): Use it.
45248         * src/process.c (wait_reading_process_output): Verify the TLS
45249         negotiation.
45251 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
45253         Add column layout module to CSS property list
45255         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
45256         CSS Multi-column Layout Module.
45258 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
45260         Minor cleanup in CONTRIBUTE and test/README
45262         * CONTRIBUTE: Remove detailed explanation about testing; this
45263         is now in test/README.
45265         * test/README: Don't mention automated/ subdirectory.
45267 2016-02-15  Glenn Morris  <rgm@gnu.org>
45269         Provide 'term/name in lisp/term files.
45271         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
45272         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
45273         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
45274         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
45275         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
45276         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
45277         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
45278         For consistency, provide 'term/name in all files that don't already.
45280 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45282         Deactivate the correct process
45284         * src/process.c (wait_reading_process_output): Deactivate the
45285         correct process on failure.
45287 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45289         Implement asynch TLS negotiation
45291         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
45292         function.
45293         (emacs_gnutls_handshake): Use it.
45294         (emacs_gnutls_read): Just return instead of retrying the handshake.
45296         * src/process.c (finish_after_tls_connection): Factor out
45297         into its own function.
45298         (connect_network_socket): Use it.
45299         (wait_reading_process_output): Retry TLS handshakes.
45300         (wait_reading_process_output): Defer sentinel until TLS completes.
45302 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45304         Simplify the DNS resolution loop a bit
45306         * src/process.c (wait_reading_process_output): Simplify the
45307         DNS resolution loop a bit.
45309 2016-02-15  Alain Schneble  <a.s@realize.ch>
45311         Loop over the process list instead of maintaining a separate list
45313         * src/process.c: Remove declaration/definition of dns_processes list.
45314         * src/process.c (wait_reading_process_output): Loop over all processes in
45315         Vprocess_alist instead of dns_processes, to check for completed DNS
45316         requests.
45318 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45320         Allow setting the filter masks later
45322         * src/process.c (Fset_process_filter): Don't set the socket
45323         masks here, because we may not have a socket yet.
45324         (set_process_filter_masks): New function.
45325         (connect_network_socket): Set the filter masks here.
45327 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45329         Remove debugging
45331 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45333         Ensure we always free DNS resources when deleting a process
45335         * src/process.c (free_dns_request): Factor out into own function.
45336         (Fdelete_process): When deleting a process, free any DNS
45337         structures associated with it.
45338         (check_for_dns): Always free all DNS resources.
45340 2016-02-15  Alain Schneble  <a.s@realize.ch>
45342         Don't block in set-process-window-size
45344         * src/process.c (set-process-window-size): Explicitly return Qnil when
45345         called with network processes as set_window_size won't work anyway on
45346         socket fds.  As a welcome side effect, this makes the blocking
45347         wait_for_socket_fds call obsolete.
45349 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45351         Do most of the coding system setup earlier
45353         * src/process.c (Fmake_network_process): Set the read/write
45354         coding systems here, so that special bindings work.
45355         (Fmake_network_process): Complete the coding system setup here.
45357 2016-02-15  John Wiegley  <johnw@newartisans.com>
45359         Merge from origin/emacs-25
45361         d4b93e1 Minor fixes in global-auto-composition-mode
45362         02b037b Allow arithmetic operators inside C++ template constructs.
45363         44b16f6 Avoid crashes in semi-malformed 'condition-case'
45364         652e5b4 Allow arithmetic operators inside C++ template constructs.
45365         d9ea795 Fix regression with 'recent-keys' and keyboard macros
45366         903603f Fix wording in a doc-view.el comment
45367         cf79616 ; Spelling fixes
45368         f8bf1b3 CONTRIBUTE cleanups and updates
45369         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
45370         1834ac7 Port to x86 GCC 4.3.1 and earlier
45371         8482949 Fix point movement under 'scroll-conservatively'
45372         c1313b5 Replace colon in file name (not legal on Windows)
45373         f7af26c Fix a typo in edt.texi
45374         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
45375         856cd94 Grep alias `all' shall not match parent directory
45377 2016-02-15  John Wiegley  <johnw@newartisans.com>
45379         Merge from origin/emacs-25
45381         dacde7e * etc/AUTHORS: Update the AUTHORS file
45382         478ca5d ; fix changelog entries
45383         2b7d006 ; make change-history-commit
45384         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
45385         47896c8 ; Improve commentary in insdel.c
45386         53ca1e1 Index tilde characters in names of backup files
45387         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
45388         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
45389         28bb214 Announce that the `C-x w' bindings are deprecated
45390         1c98f98 Suppress GNUstep hardening
45391         d82f24b Fix redisplay after a large insertion
45392         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
45393                 closed server"
45394         e8e3db0 ; Improve merge documentation in CONTRIBUTE
45395         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
45396         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
45397                 limitations.
45399 2016-02-15  John Wiegley  <johnw@newartisans.com>
45401         Merge from origin/emacs-25
45403         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
45404         afe7d1f Revert "Document EXIF image rotation"
45405         c6f377c Document OS X LANG default
45406         eb4a18c Set locale when run from OS X GUI
45407         456c0a3 make-docfile cleanup for I/O, etc.
45408         25ec995 Memory-management cleanup in make-docfile
45409         02d925e Kevin Gallagher has new email address
45410         4ef153b Improve doc strings of 'forward/backward-word-strictly'
45411         3ad05a0 Describe Makefile test targets in test/README
45413 2016-02-15  John Wiegley  <johnw@newartisans.com>
45415         Merge from origin/emacs-25
45417         10b8ed2 Document EXIF image rotation
45418         0f60049 Support integer image rotation and respect EXIF rotations
45419         7dd45b6 Quote table names for postgres listings (sql-mode)
45420         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
45421                 `backward' optional.
45422         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
45423                 temporary-goal-column.
45424         0a289d3 Suppress ACL ops if configured with --disable-acl
45425         1a9dbf5 Mention web bugs
45426         fa55da2 Make mm-html-blocked-images default to "" again
45428 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45430         Protect against initial handshake failures
45432         * src/process.c (connect_network_socket): Mark the connection
45433         as failed if the handshake didn't succeed yet.  This should be
45434         reworked later.
45436 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
45438         Call the network security manager after doing TLS negotiation
45440         * lisp/net/network-stream.el (network-stream-open-tls):
45441         Postpone NSM verification when running async.
45443         * src/process.c (Fset_process_filter): This function doesn't
45444         need to wait.
45445         (connect_network_socket): Set the process status to "run" only
45446         after TLS negotiation.
45447         (wait_for_socket_fds): Take a name parameter for more debugging.
45448         (wait_reading_process_output): Don't change status to "run"
45449         unless TLS negotiation has finished.
45450         (send_process): Wait for the process here instead of
45451         send_process_string.
45452         (connect_network_socket): Call the network security manager.
45454 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
45456         Remove some #ifdefs and update documentation
45458         * doc/lispref/processes.texi (Network Processes): Remove
45459         mention of `dns'.
45461         * lisp/net/network-stream.el (open-network-stream): Remove
45462         mention of `dns'.
45464         * src/process.c (Fset_process_filter)
45465         (Fset_process_window_size, Fprocess_contact)
45466         (Fprocess_datagram_address, Fset_process_datagram_address)
45467         (Fset_network_process_option, Fprocess_send_region)
45468         (Fprocess_send_string, Fset_process_coding_system)
45469         (Fset_process_filter_multibyte): Remove the #ifdef
45470         HAVE_GETADDRINFO_A checks.
45471         (Fprocess_send_string): Wait for TLS negotiation.
45472         (wait_for_tls_negotiation): New function.
45473         (send_process): Remove the TLS boot check.
45475         * src/process.c (Fmake_network_process): Ditto.
45477 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
45479         Use :nowait t in url-gw
45481         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
45482         since we're not differentiating.
45484 2016-02-14  Alain Schneble  <a.s@realize.ch>
45486         Add blockers to process functions
45488         * src/process.c (set-process-filter, set-process-window-size,
45489         process-contact, process-datagram-address, set-process-datagram-address,
45490         set-network-process-option): Make functions wait (block) on network
45491         process until pending DNS requests have been processed and associated
45492         socket initialized.
45494         * src/process.c (process-send-region, process-send-string,
45495         process-send-eof): Make functions wait (block) while network process is
45496         in connect state.
45498 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
45500         Add fragmentation module to CSS property list
45502         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
45503         CSS Fragmentation Module Level 3.
45505 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
45507         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
45509 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
45511         New function seq-map-indexed
45513         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
45514         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
45516 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45518         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
45520 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45522         Fix problem with wrong encoding of non-ASCII message bodies
45524         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
45525         multibyteness before encoding the data.
45527 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45529         Remove codepage setup code from mm-util
45531         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
45532         (mm-codepage-iso-8859-list): Remove.
45533         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
45534         (mm-setup-codepage-ibm): Remove.
45535         (mm-charset-eval-alist): Remove the code pages from the
45536         default value.
45538 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45540         Remove compat code for older Emacsen
45542         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
45543         XEmacs compat code.
45545         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
45546         unused compat function.
45547         (gnus-sync-json-plist-p): Ditto.
45549         * lisp/gnus/message.el (message-default-charset): Make obsolete.
45550         (message-info): Remove compat code.
45551         (message-setup-fill-variables): Remove kludge needed earlier
45552         to not overwrite `normal-auto-fill-function'.
45553         (message-split-line): Remove compat code.
45555         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
45556         compat code.
45558 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45560         Remove some compat functions from gmm-utils.el
45562         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
45563         compat code.
45564         (gmm-image-search-load-path): Remove.
45565         (gmm-image-load-path-for-library): Remove.
45567 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45569         Remove the gmm-lazy and nnmail-lazy compat widgets
45571         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
45573         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
45575 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45577         Clean up nnimap-request-move-article slightly
45579         * lisp/gnus/nnheader.el (subr-x): Require.
45581         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
45582         the code slightly.
45584 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45586         Use open-network-stream instead of open-protocol-stream
45588         * lisp/gnus/nnimap.el: Use open-network-stream instead of
45589         open-protocol-stream.
45591         * lisp/gnus/nntp.el: Ditto.
45593         * lisp/gnus/pop3.el: Ditto.
45595         * lisp/net/sieve-manage.el: Ditto.
45597         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
45599 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45601         Remove compat code that relies on (featurep 'mule)
45603         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
45604         compat code.
45606         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
45607         Remove compat code.
45609         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
45610         Remove compat code.
45612         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
45613         Remove compat code.
45614         (mm-w3m-standalone-supports-m17n-p): Ditto.
45616 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45618         Remove compat functions from starttls.el
45620         * lisp/net/starttls.el
45621         (starttls-set-process-query-on-exit-flag): Remove.
45623 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45625         Remove compat functions from smime.el
45627         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
45628         (smime-make-temp-file): Remove.
45630 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45632         Remove compat code from smiley
45634         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
45636 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45638         Remove compat code from rfc2047
45640         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
45641         compat code.
45642         (rfc2047-decode-string): Ditto.
45644 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45646         Remove compat function from pop3
45648         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
45650 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45652         Remove compat code in Gnus backends
45654         * lisp/gnus/nndiary.el (nndiary-error): Remove.
45656         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
45658         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
45660         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
45662         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
45664 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45666         Remove compat code from some mml files
45668         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
45669         Remove compat code.
45671         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
45672         Always use `mail-extract-address-components', since this isn't
45673         time critical.
45674         (mml-smime-get-dns-cert): Ditto.
45676         * lisp/gnus/mml.el (mml-preview): Remove compat code.
45678 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45680         Remove compat code and compat functions from mm-util.el
45682         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
45683         compat code.
45684         (mm-coding-system-priorities)
45685         (mm-mule-charset-to-mime-charset, mm-charset-after)
45686         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
45687         (mm-detect-coding-region): Define unconditionally.
45688         (mm-detect-mime-charset-region): Ditto.
45689         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
45690         (coding-system-name)
45691         (find-file-coding-system-for-read-from-filename)
45692         (find-operation-coding-system): Remove aliases.
45694 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45696         Remove some compat code from mm-*.el
45698         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
45700         * lisp/gnus/mm-decode.el (mm-tmp-directory)
45701         (mm-valid-image-format-p): Remove compat code.
45703         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
45704         "Connection" "Close" workaround for older Emacsen.
45706 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45708         Remove compat code and functions from message.el
45710         * lisp/gnus/message.el (message-send-mail-function): Remove
45711         compat code.
45712         (message-dont-reply-to-names, message-mode)
45713         (message-setup-fill-variables, message-fill-paragraph)
45714         (message-remove-blank-cited-lines, message-make-from)
45715         (message-forward-rmail-make-body, message-tool-bar-gnome)
45716         (message-tab): Remove compat code.
45717         (message-completion-in-region): Remove.
45718         (message-read-from-minibuffer): Remove compat code.
45720 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45722         Declare rfc1843 instead of autoloading
45724         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
45725         instead of autoload.
45727 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
45729         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
45731         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
45732         autoloaded correctly.  (Bug#22613)
45734 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
45736         Fix network-stream-tests.el for MS-Windows
45738         * test/lisp/net/network-stream-tests.el
45739         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
45740         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
45742 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
45744         Remove some Message compat functions
45746         * lisp/gnus/message.el (message-kill-all-overlays): Define
45747         unconditionally.
45748         (message-window-inside-pixel-edges): Remove.
45749         (mail-dont-reply-to): Remove.
45751 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45753         Remove some Gnus compat code
45755         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
45756         (gnus-mm-display-part): Ditto.
45758         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
45759         compat code.
45761 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45763         Sort groups before inserting them into the group buffer
45765         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
45766         Sort groups before inserting them.
45768 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45770         Make "unseen" tracking work again in Gnus
45772         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
45773         tracking work again.
45775 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45777         Remove Gnus compat functions defined in gnus.el
45779         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
45780         (gnus-extent-start-open, gnus-character-to-event)
45781         (gnus-assq-delete-all, gnus-add-text-properties)
45782         (gnus-put-text-property, gnus-key-press-event-p):
45784 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45786         Remove compat code from gnus-uu and win
45788         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
45789         compat code.
45791         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
45793         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
45795 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45797         Remove several gnus-util compat functions
45799         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
45800         (gnus-read-shell-command): Remove.
45801         (gnus-match-substitute-replacement): Remove.
45802         (gnus-string-match-p): Remove.
45803         (gnus-string-prefix-p): Remove.
45805 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45807         Remove the gnus-merge alias
45809         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
45811 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45813         Remove the gnus-union alias
45815         * lisp/gnus/gnus-util.el (gnus-union): Remove.
45817 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45819         Remove the gnus-delete-alist alias
45821         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
45822         (gnus-delete-alist): Remove.
45824 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45826         Remove the gnus-float-time alias
45828         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
45829         compat code.
45830         (gnus-float-time): Remove.
45832 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45834         Remove compat code from gnus-srvr, start and sum
45836         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
45837         compat code.
45839         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
45840         Remove compat code.
45842         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
45843         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
45844         (gnus-recenter)
45845         (gnus-summary-limit-strange-charsets-predicate)
45846         (gnus-summary-show-thread): Remove compat code.
45848 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45850         Remove compat code from gnus-spec.el
45852         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
45853         (gnus-balloon-face-function): Remove compat code.
45855 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45857         Fix compat change in last check-in
45859         * lisp/gnus/gnus-group.el
45860         (gnus-group-name-charset-group-alist): `find-coding-system'
45861         doesn't exist in Emacs.
45863 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45865         Always use url-queue
45867         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
45868         Always use url-queue.
45870 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45872         Remove compat functions from gnus-html.el
45874         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
45876 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45878         Remove compat code from gnus-group.el
45880         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
45881         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
45883 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45885         Define gnus-diary-kill-entire-line unconditionally
45887         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
45888         Define unconditionally.
45890 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45892         Remove compat code from gnus-cache and gnus-bookmark
45894         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
45896         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
45897         Remove compat code.
45899 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45901         Remove compat code from gnus-art.el
45903         * lisp/gnus/gnus-art.el (gnus-article-prepare)
45904         (gnus-mime-copy-part, gnus-output-to-file)
45905         (gnus-article-reply-with-original)
45906         (gnus-button-handle-apropos-variable)
45907         (gnus-button-handle-apropos-documentation):
45909 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45911         Remove compat code from gnus-agent.el
45913         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
45914         Remove compat code.
45916 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45918         Rewrite gmm-labels usage to use cl-labels
45920         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
45921         (gmm-labels): Remove.
45923 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45925         Remove compat code from canlock.el
45927         * lisp/gnus/canlock.el (defmacro): Remove
45929 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45931         Remove compat code from auth-source
45933         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
45934         Remove compat code.
45936 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45938         Fix gnus-group.el compilation warnings about unprefixed variables
45940         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
45941         compilation warnings by passing in the dynamic variables as
45942         explicit lexical parameters to `eval'.
45944 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45946         Fix the :tracker slot name
45948         * lisp/gnus/registry.el (registry-lookup-secondary): The
45949         `tracker' slot is called `tracker', not `:tracker'.
45951 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45953         Fix compilation warnings in gnus-art.el
45955         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
45956         (gnus-article-hide): Avoid compilation warnings.
45958 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45960         Fix compilation warning in gnus-score.el
45962         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
45963         compiler.
45965 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
45967         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
45969         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
45971         This makes nnimap groups not be activated.
45973 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45975         Fix encoding problem introduced by previous patch series
45977         * lisp/mail/rfc2047.el: Ditto (bug#22648).
45979         * lisp/mail/rfc2231.el: Fix problem created by the
45980         mm-replace-in-string conversion.
45982 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
45984         Revert "Avoid defvarring prefix-less variables"
45986         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
45988         The defvars are needed if we're doing lexical-binding
45990 2016-02-12  Glenn Morris  <rgm@gnu.org>
45992         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
45993         Make it pass.
45995         * test/lisp/url/url-auth-tests.el
45996         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
45998 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46000         Finish up cl-defmethoding registry,el
46002         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
46004 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46006         Revert the gnus-replace-in-string change, fix arguments, reapply
46008 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46010         Silence more message.el compilation warnings
46012         * lisp/gnus/message.el (message-generate-headers): Don't use
46013         variable values directly to get the header values, because
46014         that breaks with lexical binding (without unprefixed defvars).
46016 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46018         Fix various compilation warnings in message.el
46020         * lisp/gnus/message.el (message-fix-before-sending): Use
46021         read-multiple-choice instead of gnus-multiple-choice.
46022         (mm-util): Require.
46023         (rfc2047): Require.
46024         (message-remove-blank-cited-lines): Use message instead of
46025         gnus-message.
46026         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
46028 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46030         Silence compilation warning in mm-view
46032         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
46033         compilation warning.
46035 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46037         Fix epg-related compilation warnings in mml-sec
46039         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
46040         library.
46042 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46044         rmail-dont-reply-to-names is obsolete
46046         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
46047         the obsolete `rmail-dont-reply-to-names' variable.
46049 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46051         Partially revert the defmethod->cl-defmethod change in registry.el
46053         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
46054         since cl-defmethod doesn't work with :after.
46055         (initialize-instance): Ditto, but with :before.
46057 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46059         Avoid obsolete function in plstore
46061         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
46062         instead of the obsolete epg-context-set-armor.
46064 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46066         Use cl-defmethod in registry.el
46068         * lisp/gnus/registry.el: Use cl-defmethod instead of the
46069         obsolete defmethod.
46071 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46073         Make sieve-manage require sasl
46075         * lisp/net/sieve-manage.el: Fix compilation warning by
46076         requiring sasl.
46078 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46080         Avoid defvarring prefix-less variable
46082         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
46084 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46086         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
46088 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46090         Don't use the obsolete char-valid-p function
46092         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
46093         obsolete char-valid-p function.
46095 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46097         Fix missed translation in a previous commit
46099         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
46100         translation of mailcap-delete-duplicates.
46102 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46104         Avoid using mm-make-temp-file
46106         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
46108         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
46110         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
46112 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46114         Fix compilation warning in gnus-start
46116         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
46117         mm-make-temp-file.
46119 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46121         Avoid the obsoleted defmethod
46123         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
46124         defmethod.
46126 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46128         Avoid defvarring prefix-less variables
46130         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
46131         don't need to `defvar' the short variables to allow `eval' to
46132         use them.
46134 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46136         nnweb doesn't need unibyte buffers
46138         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
46139         (nnweb-read-overview, nnweb-request-article)
46140         (nnweb-google-reference): Unibyte buffers are not needed here.
46142 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46144         Encode before sending from nnspool
46146         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
46147         before sending it to the news server.
46149 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46151         nnrss buffers don't have to be unibyte
46153         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
46154         to be unibyte just to receive data, I think.
46156 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46158         Don't use mm-with-unibyte-current-buffer in mml2015
46160         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
46161         mm-with-unibyte-current-buffer.
46163 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46165         Don't use mm-with-unibyte-current in mml1991
46167         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
46168         mm-with-unibyte-current.
46170 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46172         Don't use mm-with-unibyte-current in mml1991
46174         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
46175         mm-with-unibyte-current.
46177 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46179         Don't use mm-with-unibyte-buffer in utf7
46181         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
46182         mm-with-unibyte-buffer.
46184 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46186         Remove XEmacs compat code from Gnus helper libraries
46188         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
46190         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
46192         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
46194         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
46196 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46198         Remove XEmacs compat code from Gnus backends
46200         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
46201         (mm-inline-image): Rename from mm-inline-image-emacs.
46203         * lisp/gnus/mml.el: Remove XEmacs compat code.
46205         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
46207         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
46208         XEmacs compat code.
46210         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
46212         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
46213         XEmacs compat code.
46215         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
46217         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
46219         * lisp/gnus/nntp.el: Remove XEmacs compat code.
46221 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46223         Remove XEmacs compat functions from mm-util.el
46225         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
46226         (mm-decode-coding-string, mm-encode-coding-string)
46227         (mm-decode-coding-region, mm-encode-coding-region): Remove.
46228         (mm-string-to-multibyte): Remove.
46229         (mm-char-or-char-int-p): Remove.
46230         (mm-ucs-to-char): Remove compat versions of the function.
46231         (mm-read-coding-system): Remove.
46232         (mm-coding-system-p): Remove compat code.
46233         (mm-enrich-utf-8-by-mule-ucs): Remove.
46234         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
46235         (mm-delete-duplicates): Remove.
46236         (mm-multibyte-p): Remove compat versions.
46237         (mm-xemacs-find-mime-charset-1): Remove.
46238         (mm-xemacs-find-mime-charset): Remove.
46239         (mm-make-temp-file): Made obsolete.
46240         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
46242 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46244         Remove Message and mm-decode XEmacs compat code
46246         * lisp/gnus/message.el: Remove XEmacs compat code.
46248         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
46250         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
46252 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46254         Remove som XEmacs compat code from message.el
46256         * lisp/gnus/message.el: Remove some XEmacs compat code.
46258 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46260         Remove XEmacs compat code from ietf-drums.el
46262         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
46263         XEmacs compat.
46265 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46267         Remove XEmacs compat code from gravatar.el
46269         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
46270         gravatar.el.
46272 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46274         Remove more XEmacs compat code from Gnus
46276         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
46277         (gnus-timer--function): Remove.
46279         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
46280         19.2 compat.
46282         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
46284 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46286         Remove more XEmacs compat functions from gnus-util.el
46288         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
46289         (gnus-get-display-table): Remove.
46290         (gnus-format-message): Remove.
46292 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46294         Remove more XEmacs compat functions from Gnus
46296         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
46297         (gnus-previous-char-property-change): Remove.
46298         (gnus-graphic-display-p): Remove.
46299         (gnus-select-frame-set-input-focus): Remove.
46301 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46303         Remove more XEmacs compat code from gnus-util
46305         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
46306         all its usages).
46307         (gnus-invisible-p): Remove.
46309 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46311         Remove gnus-make-local-hook
46313         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
46314         all its usages).
46316 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46318         gnus-replace-in-string -> replace-regexp-in-string
46320         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
46321         obsolete.  Transform all usages of it into
46322         replace-regexp-in-string.
46324         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
46326 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46328         Remove Gnus XEmacs compat
46330         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
46331         about code that doesn't work in XEmacs.
46333         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
46335         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
46337 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46339         Remove compat functions in gnus-spec.el
46341         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
46342         (gnus-substring-function): Remove.
46343         (gnus-use-correct-string-widths): Remove.
46344         (gnus-make-format-preserve-properties): Remove.
46345         (gnus-xmas-format): Remove.
46347         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
46349 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46351         Remove Gnus XEmacs compat functions
46353         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
46355         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
46357         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
46359 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46361         Remove Gnus XEmacs compatibility
46363         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
46364         XEmacs compat.
46366         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
46368         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
46370         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
46371         XEmacs compat.
46373         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
46375         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
46377         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
46379         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
46381 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46383         Don't use image-map if it isn't defined
46385         * lisp/net/shr.el (shr-image-map): Only use image-map as a
46386         parent if it's defined (bug#22614).
46388 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46390         Check for MagickAutoOrientImage
46392         * configure.ac: Check for MagickAutoOrientImage.
46394         * src/image.c (imagemagick_load_image): Don't use
46395         MagickAutoOrientImage unless it's available.
46397 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46399         Document EXIF image rotation
46401         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
46403 2016-02-10  Dima Kogan  <dima@secretsauce.net>
46405         Support integer image rotation and respect EXIF rotations
46407         * src/image.c (imagemagick_load_image): Allow integer rotations in
46408         addition to floating point rotations (bug#22591).
46409         * src/image.c (imagemagick_load_image): Images that have an
46410         orientation given in EXIF and have no explicit :rotation tag are now
46411         pre-rotated.  All information such as width/height is reported for the
46412         rotated image.
46414 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
46416         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
46418 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46420         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
46422 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46424         Remove compat code from gnus-bookmark.el
46426         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
46427         (gnus-bookmark-remove-properties): Remove.
46429 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46431         Remove XEmacs compat code from gnus-a*.el
46433         * lisp/gnus/gnus-agent.el: Remove compat code.
46435         * lisp/gnus/gnus-art.el: Remove compat code.
46437         * lisp/gnus/gnus-async.el: Remove compat code.
46439 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46441         Remove gmm compat functions
46443         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
46444         (gmm-write-region): Remove.
46445         (gmm-called-interactively-p): Remove.
46447 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46449         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
46451 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46453         Remove compat code from compface.el
46455         * lisp/image/compface.el: Remove XEmacs compat code throughout.
46457 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46459         Remove the now empty gnus-ems.el and references to it
46461 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46463         Remove Gnus compat names for mouse bindings
46465         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
46466         (gnus-down-mouse-2): Remove.
46467         (gnus-down-mouse-3): Remove.
46469 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46471         Drop Gnus compat functions
46473         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
46475         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
46477         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
46479 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46481         Get rid of gnus-ems-redefine
46483         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
46485 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46487         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
46489 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46491         Remove Gnus compat code
46493         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
46494         transitional code from ten years ago.
46496 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46498         Allow interactively scaling past :max-width etc
46500         * lisp/image.el (image--current-scaling)
46501         (image--image-without-parameters): New functions.
46502         (image--change-size): Use them to allow changing the size of a
46503         image even if it has :width/:max-width (etc.) already set.
46505 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46507         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
46509 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46511         Allow accessing the image commands via shr
46513         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
46514         accessing the image commands.
46516         * lisp/net/shr.el (shr-image-map): New map used for images.
46517         (shr-urlify): Don't overwrite image maps when applying URL maps.
46519 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46521         Use a sparse image keymap
46523         * lisp/image.el (image-map): Use a sparse keymap.
46525 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46527         Put a keymap on images created with insert-image and friends
46529         * lisp/image.el (image-save): New command.
46530         (image-rotate): Ditto.
46531         (image-map): New keymap.
46532         (insert-image): Put the image-map on all images.
46533         (insert-sliced-image): Ditto.
46534         * doc/lispref/display.texi (Showing Images): Document the
46535         image map.
46537 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46539         Fix some folding issues in read-multiple-choice
46541         * lisp/subr.el (read-multiple-choice): Fix folding when you
46542         have many items.
46544 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46546         Fix typo in last checkin
46548 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46550         Remove Gnus compat functions
46552         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
46553         (gnus-region-active-p, gnus-select-lowest-window)
46554         (gnus-summary-display-table, gnus-max-width-function): Remove
46555         compat functions.
46557 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46559         Move non-compat Gnus functions to gnus-util.el
46561         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
46562         (gnus-create-image, gnus-image-type-available-p): Move here
46563         from gnus-ems.el, since these aren't compat functions.
46565 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46567         Omit valloc decl if redundant
46569         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
46570         to pacify --enable-gcc-warnings.
46572 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
46574         Restore the calloc family.
46576         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
46577         They were lost in a4817d8 but calloc is still (marginally) used in
46578         code statically liked with emacs, so hybrid_calloc is needed.
46579         Also, in the non-hybrid case, we can't get rid of calloc anyway as
46580         other libraries liked with emacs may need it.
46581         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
46583 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46585         Remove some Gnus compat functions
46587         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
46588         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
46589         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
46591 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46593         -
46595         -
46597 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46599         Merge from origin/emacs-25
46601         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
46602         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
46603         51c77a2 Display non-ASCII group names better in prompts
46604         f93d669 Default to gpg2 instead of gpg
46606 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46608         Merge from origin/emacs-25
46610         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
46611         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
46612         3db6adb * lisp/isearch.el (search-default-mode)
46613         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
46614         c77ffc8 Use monitor's resolution for positioning tooltips
46615         49e5749 Fix file-notify-test on MS-Windows
46616         be1d874 Fix issues found by auditing w32notify code
46617         87ae218 Extend etags Ruby support for accessors
46618         aa35257 Update publicsuffix.txt.
46619         6816bff Ensure that Gnus dribble handling allows removing entries
46620         691feae Be consistent when using encoded strings in nnimap data
46621         3ed423b Display the decoded Gnus group name
46622         5428b5b Use completion-ignore-case instead of defining command
46624 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46626         Merge from origin/emacs-25
46628         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
46629         d333716 ; * etc/NEWS: Expand news entry for scss-mode
46630         c32c16f ; Better document changes in ls-lisp default behavior
46631         dc6eed2 Fix doc string of tls-program
46633 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46635         Merge from origin/emacs-25
46637         2c117fc * etc/NEWS: Document new mpc.el features
46638         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
46639         9dfece1 Correctly fontify C++ initializations which "look like" functions.
46640         4485222 Improve newsticker-treeview-selection-face
46641         4236944 Minor fix in tagging Ruby accessors by etags
46642         35fc77d Spelling fixes
46643         3dda110 Remove 'def X' from the example
46645 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
46647         Fix network-stream-tests on MS-Windows
46649         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
46650         Skip if local sockets are not supported.
46652 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
46654         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
46656 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
46658         Disable 'timer-list'
46660         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
46661         command.
46663 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46665         Avoid aligned_alloc static/extern collision
46667         * src/alloc.c (aligned_alloc): Define to private name when a
46668         static function, to avoid collision with lisp.h extern decl.
46669         Reported by John Yates in:
46670         https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00439.html
46672 2016-02-08  David Edmondson  <dme@dme.org>
46674         src/process.c Correctly convert AF_INET6 addresses
46676         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
46677         converted to a list of 16 bit quantities by
46678         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
46679         same scheme rather than expecting a (longer) list of 8 bit
46680         quantities.
46682 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
46684         Make `message-beginning-of-line' aware of folded headers
46686         * lisp/gnus/message.el (message-beginning-of-header): New function which
46687         moves point to the beginning of a mail header.  The function is aware of
46688         folded headers and with non-nil argument looks for the true beginning of
46689         a header while with nil argument moves to the indented text of header's
46690         value.
46691         (message-beginning-of-line): Function is now aware of folded headers and
46692         either moves point to the indention of a header or, in visual-line-mode,
46693         searches for the beginning of the header.
46695 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
46697         Optimise ‘point in message header’ check
46699         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
46700         regular expression matches with a single bound string match thus
46701         reducing amount of work the function is doing.
46703 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46705         Make the `R' command get the correct relative <img>s
46707         * lisp/net/eww.el (eww-readable): Preserve the base URL so
46708         that image expansions are fetched from the right place (bug#22605).
46710 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46712         Add a mode to list and cancel timers
46714         * doc/lispref/os.texi (Timers): Menton `timer-list'.
46716         * lisp/emacs-lisp/timer-list.el: New file.
46718 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46720         Add new commands to allow changing the size of images
46722         * lisp/image.el (image-increase-size, image-decrease-size):
46723         New commands.
46724         (image-change-size): New function.
46726 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46728         Allow the image scale to be a floating point number
46730         * src/image.c (compute_image_size): The scale can be a
46731         floating point number.
46733 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46735         Add an IPv6 test
46737         * test/lisp/net/network-stream-tests.el
46738         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
46740 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46742         Use gnutls-serv instead of openssh
46744         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
46745         gnutls-serv instead of openssh.
46747 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46749         Skip TLS tests if we don't have openssl
46751         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
46752         TLS tests if we don't have openssl and GnuTLS.
46754 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46756         Add an IPv6 test
46758         * test/lisp/net/network-stream-tests.el
46759         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
46761 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
46763         Use gnutls-serv instead of openssh
46765         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
46766         gnutls-serv instead of openssh.
46768 2016-02-08  Daniel Colascione  <dancol@dancol.org>
46770         Performance improvements for vc-hg
46772         Teach vc-hg how to read some Mercurial internal data structures,
46773         allowing us to avoid the need to run hg status -A, which is very slow
46774         for large repositories.  Fall back to running hg if anything looks
46775         funny.  vc-hg now puts the _working directory_ revision in the
46776         modeline instead of the file revision, which greatly improves
46777         performance and which allows us to again skip running hg in the case
46778         that we have an active bookmark.
46780         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
46781         (vc-hg-symbolic-revision-styles)
46782         (vc-hg-use-file-version-for-mode-line-version)
46783         (vc-hg-parse-hg-data-structures): New user preferences
46784         (vc-hg--active-bookmark-internal, vc-hg--run-log)
46785         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
46786         (vc-hg--read-u8, vc-hg--read-u32-be)
46787         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
46788         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
46789         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
46790         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
46791         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
46792         (vc-hg--ignore-patterns-valid-p)
46793         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
46794         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
46795         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
46796         (vc-hg-state-fast): New functions.
46797         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
46798         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
46799         (vc-hg--dirstate-scan-cache): New internal variables.
46800         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
46801         before updating modeline.
46803 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46805         Skip TLS tests if we don't have openssl
46807         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
46808         TLS tests if we don't have openssl and GnuTLS.
46810 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46812         Automatically scale images up on high-density screens
46814         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
46815         (Defining Images): Mention image-scaling-factor.
46817         * lisp/image.el (image-compute-scaling-factor): New function
46818         (bug#22172).
46819         (create-image): Use it.
46820         (image-scaling-factor): New variable.
46822         * src/image.c (compute_image_size): Take :scale into account.
46824 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46826         Ensure progress when fetching from the queue
46828         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
46829         that we have progress when fetching queued requests (bug#22576).
46831 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46833         Make mail-extract-address-components return the user name more
46835         * lisp/mail/mail-extr.el (mail-extract-address-components):
46836         Return the name even if it's the same as the mailbox name (if
46837         `mail-extr-ignore-single-names' isn't set) (bug#22594).
46839 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46841         Message no longer warns about unknown top level domains
46843 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
46845         Add tests for url-auth
46847         * test/lisp/url/url-auth-tests.el: New file.
46849 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46851         Add a TLS connection test
46853         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
46854         a TLS connection test.
46856 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46858         Add more network tests
46860         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
46861         New test.
46863 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46865         Add network tests
46867         * test/lisp/net/network-stream-tests.el: New suite of network tests.
46869 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46871         Add a TLS connection test
46873         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
46874         a TLS connection test.
46876 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46878         Add more network tests
46880         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
46881         New test.
46883 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46885         Add network tests
46887         * test/lisp/net/network-stream-tests.el: New suite of network tests.
46889 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
46891         Allow various Gnus and Message address variables to be functions
46893         * doc/misc/gnus.texi (To From Newsgroups):
46894         gnus-ignored-from-addresses can be a function.
46896         * doc/misc/message.texi (Wide Reply):
46897         message-dont-reply-to-names can be a function.
46899         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
46900         message-alternative-emails can be a function.
46902         * lisp/gnus/gnus-notifications.el (gnus-notifications):
46903         message-alternative-emails can be a function (bug#22315).
46905         * lisp/gnus/gnus-sum.el
46906         (gnus-summary-from-or-to-or-newsgroups):
46907         gnus-ignored-from-addresses can be a function (bug#22315).
46909 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
46911         Fix typo in Gnus regexp
46913         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
46914         typo in last change to this regexp (bug#22592).
46916 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
46918         Port to FreeBSD x86
46920         Reported by Herbert J. Skuhra in:
46921         https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00336.html
46922         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
46923         since malloc always returns a multiple of 8 in FreeBSD.
46925 2016-02-07  Alan Mackenzie  <acm@muc.de>
46927         On leaving CC Mode, clean up by removing character properties.
46929         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
46930         all instances of the text properties/extents category, syntax-table,
46931         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
46933 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
46935         message-valid-fqdn-regexp no longer exists
46937         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
46938         the no-longer-existing message-valid-fqdn-regexp variable.
46940 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
46942         Remove message-valid-fqdn-regexp, since it changes too much now
46944         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
46945         (message-bogus-recipient-p): Don't use it any more.
46946         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
46948 2016-02-06  Paul van der Walt  <paul@denknerd.org>
46950         Match "Re :" as a "Re:" prefix
46952         * lisp/gnus/message.el (message-subject-re-regexp): Also match
46953         "Re :" as a "Re:" prefix (commonly used in France).
46955 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
46957         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
46959         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
46961 2016-02-06  David Edmondson  <dme@dme.org>
46963         src/process.c Correctly convert AF_INET6 addresses
46965         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
46966         converted to a list of 16 bit quantities by
46967         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
46968         same scheme rather than expecting a (longer) list of 8 bit
46969         quantities.
46971 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
46973         Search for host/port combinations in auth-source on OS X
46975         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
46976         Search for all host/port (or protocol) combinations for a match in
46977         the OS X keychain.
46979 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
46981         Remove nonsensical setting of gnus-newsgroup-unseen
46983         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
46984         setting of gnus-newsgroup-unseen.
46986 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
46988         Use underline on all terminals that support it
46990         * lisp/subr.el (read-multiple-choice): Use
46991         display-supports-face-attributes-p instead of
46992         display-graphic-p to determine whether we can use underlining.
46994 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
46996         Make the nsm query say what it did after the user interaction
46998         * lisp/net/nsm.el (nsm-query): Issue a message about
46999         aborting/accepting messages (suggested by N. Jackson)
47000         (bug#22531).
47002 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
47004         Omit XLI (init) == 0 optimization in make-vector
47006         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
47007         == 0) case, as this optimization is probably not worth the hassle.
47008         Just for the record, the test for that case could have been
47009         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
47010         assuming the typical platform with no padding bits and where
47011         conversion to int omits the most significant bits.
47013 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
47015         * autogen.sh: Port to dash (Bug#22556).
47017 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
47019         Minor cleanup for Tramp "doas".
47021         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
47023         * etc/NEWS: Add Tramp connection method "doas".
47025         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
47026         Add `tramp-remote-shell-args'.
47028 2016-02-05  Xi Lu  <lx@shellcodes.org>
47030         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
47032         (tramp-default-user-alist): Add rule for "doas".
47033         (top): Completion function for "doas" is
47034         `tramp-completion-function-alist-su'.
47036 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47038         Restore the window configuration
47040         * lisp/net/nsm.el (nsm-query-user): Restore the window
47041         configuration (bug#22532).
47043 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47045         Use an X popup in read-multiple-choice if running from a mouse command
47047         * lisp/subr.el (read-multiple-choice): Use an X popup if
47048         called from a mouse action (bug#19368).
47050 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47052         Display cursor in echo area when prompting
47054         * lisp/subr.el (read-multiple-choice): Display the cursor in
47055         the echo area when prompting (bug#19368).
47057 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47059         Make NSM prompting clearer
47061         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
47062         to prompt in a nicer way (bug#19368).
47064 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47066         Underline read-multiple-choice-face
47068         * lisp/faces.el (read-multiple-choice-face): Also underline
47069         the choice.
47071 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47073         Make url.el use async DNS
47075         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
47077         * src/process.c (syms_of_process): Add a `dns' subfeature for
47078         make-network-process.
47080 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47082         Only do async DNS if requested with :nowait 'dns
47084         * doc/lispref/processes.texi (Network Processes): Mention the
47085         dns value of :nowait.
47087         * src/process.c (Fmake_network_process): Only do async DNS if
47088         :nowait is `dns'.
47090 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47092         Add sanity check for checking async DNS
47094         * src/process.c (check_for_dns): Disregard processes that have
47095         already been killed.
47097 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47099         Make the read-multiple-choice prompt a bit prettier
47101         * doc/lispref/commands.texi (Reading One Event): Mention
47102         read-multiple-choice-face.
47104         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
47105         prettier.
47107 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
47109         Prefer memcpy and memset to doing it by hand
47111         * src/alloc.c (Fmake_vector):
47112         * src/ccl.c (setup_ccl_program):
47113         Use memset to clear array.
47114         * src/alloc.c (Fvector, Fmake_byte_code):
47115         * src/charset.c (Fdefine_charset_internal):
47116         Use memcpy to copy array.
47118 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
47120         Do not ignore redirections of 301, 302 and 307 status codes
47122         The current version of HTTP/1.1 (RFC 7231) no longer requires
47123         confirmation on 301, 302 or 307 status codes, therefore we do not have
47124         to ignore redirects for other requests than GET and HEAD.
47126         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
47127         and 307 redirects for other requests than GET and HEAD.
47129 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
47131         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
47133 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
47135         Simplify USE_ALIGNED_ALLOC
47137         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
47138         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
47140 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
47142         Honor docstring of gnus-group-get-new-news
47144         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
47145         is t, but non-numeric, unconditionally consider all groups to need
47146         updating.
47148 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47150         New function read-multiple-choice
47152         * doc/lispref/commands.texi (Reading One Event): Document
47153         read-multiple-choice.
47155         * lisp/faces.el (read-multiple-choice-face): New face.
47157         * lisp/subr.el (read-multiple-choice): New function.
47159 2016-02-03  John Wiegley  <johnw@newartisans.com>
47161         Merge from origin/emacs-25
47163         ee73997 Make erc work better when encountering unknown prefix chars
47164         b99141d Make erc completion case-insensitive again
47165         66c4620 Make complection in erc use consistent casing
47166         8c562b2 Make /QUIT in erc more robust
47167         d93d2c5 Make tracking faces in Emacs work more reliably
47168         af6ab7e Make shr not bug out on images on non-graphical displays
47169         3311f40 Fix bookmark display widths
47170         d90ab1e Fix typo in eww-make-unique-file-name
47171         7f81825 Make it possible to TAB to input fields
47172         a43a1dc Insert complete alt texts when images are disabled
47173         56ed4e1 Allow eww text fields to grow
47174         66b315c Make erc work when subword-mode is switched on
47175         255b68f Fix IMAP doc example
47176         91557f5 Quoting fixes in doc strings and diagnostics
47177         2c0dc9f Fix warning message in hack-local-variables
47178         504696d Etags: yet another improvement in Ruby tags
47179         8784ebf Fix x-popup-menu on TTYs without a mouse
47180         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
47181                 pcase macro
47182         6191003 Use pop-to-buffer-same-window in eww
47183         fe321fd * autogen.sh: Revert all recent changes.
47184         74ebd4a * make-dist: Updates related to nt/.
47185         737193a * make-dist: Add modules/.
47186         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
47187         a4278e2 Fix failure to compile ns-win.el in parallel builds
47188         860da4d Fix names of tags generated for Ruby accessors
47189         f6213ce Fix file-name recognition in 'etags'
47190         e42e662 Change Ruby file names and extensions recognized by 'etags'
47191         58bfb6a More improvements for Ruby support in 'etags'
47192         c04e911 Add --git-config option to autogen.sh
47193         5713466 Fix editing undo changes in eww fields
47194         51362d6 Allow the user more control of popping up the eww window
47195         ee0fbd8 Make eww-browse-url with new-window parameter work again
47196         9c3142d Clean up eww code slightly
47197         cb035f3 Don't insert nil faces in shr
47198         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
47199         93f2153 Improve the custom type of some user options.
47200         9f60d7e Mark some risky calendar variables.
47201         1d07dcd Highlight two additional SCSS keywords
47202         ee8b466 Recommend enabling integrity-checking in git
47203         e639e10 Some corrections in Elisp manual
47204         d766ca8 Chatter when autogen.sh changes Git configuration
47205         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
47206         43cb9f8 Omit unnecessary history from Lisp intro
47207         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
47208         c90e1b4 Improve elisp “Security Considerations” doc
47209         cedd7ca autogen.sh now arranges for git to check hashes
47210         86ce76b ; Fix ChangeLog.2 commit ID.
47211         7b1d2b1 Fix (c & 040) typo in emergency escapes
47212         a8273da Fix display of overlay strings with 'display' and 'box' property
47213         fc48106 Fix imap-starttls-open
47214         cdecbed Fix return value of imap-starttls-open
47215         20c7e34 ; * etc/NEWS: Fix renamed command name
47216         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
47217         b250d29 Spelling fix
47218         b920a0e Spelling fixes
47219         93b144b Pacify GCC on C library without glibc API
47221 2016-02-03  John Wiegley  <johnw@newartisans.com>
47223         Merge from origin/emacs-25
47225         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
47226                 priority of non-free Chrome.
47227         0fac75f Improve the custom type of some user options.
47228         2df0e04 Highlight CSS variables with variable name face
47229         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
47230                 user-serviceable.
47231         2a5233c Mark some user options that can get evalled as risky.
47232         39b166f Disable DebPrint in sys_read on MS-Windows
47233         9fd0189 ;Fix ChangeLog entry
47234         4bb7233 Fix typos in Introduction to Emacs Lisp manual
47236 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
47238         Add a new command to switch between erc buffers
47240         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
47241         * etc/NEWS: Mention new command
47242         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
47243         (eww-mode-map): Add menu item
47244         (eww-switch-to-buffer): New command
47246 2016-02-03  David Edmondson  <dme@dme.org>
47248         Make erc work better when encountering unknown prefix chars
47250         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
47251         instead of erroring out on unknown prefix chars (bug#22380).
47253 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
47255         Allow sending empty hidden values in eww
47257         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
47258         values (bug#22388).
47260 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
47262         Remove packages obsoleted before Emacs 24.
47264         In accordance with the policy discussed in the emacs-devel list,
47265         packages that have been obsoleted for a full major release cycle are up
47266         for deletion.
47268         This removes almost all packages that are now eligible for deletion,
47269         with the exception of "cl-compat", which seems it is likely to still be
47270         used, and "optional", which offers some functionality that doesn't have
47271         a replacement yet.
47273 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
47275         Mention context when resume from emergency escape
47277         That way, if the user has been doing something else for a while,
47278         they are reminded of the situation when restarting Emacs,
47279         and are more likely to understand the two questions.
47280         * doc/emacs/trouble.texi (Emergency Escape): Document this.
47281         * src/keyboard.c (handle_interrupt): Implement this.
47283 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
47285         Port aligned_alloc decl to Cygwin.
47287         Problem reported by Ken Brown (Bug#22522#38).
47288         * configure.ac (aligned_alloc): Check for decl too.
47289         * src/lisp.h (aligned_alloc): Declare if not already declared.
47291 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47293         autogen.sh now configures git only on request
47295         * autogen.sh (do_autoconf, do_git): New vars.
47296         Support new arguments --help, all, autoconf, git.
47297         By default, just do autoconf-related configuration, not git.
47298         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
47299         If GNU cp is available, use it to backup .git/config before
47300         changing it.  When configuring git, chatter about what is being
47301         done, and configure git to check hashes.  Avoid some duplicate
47302         file name specification when creating git hooks.
47304         * GNUmakefile (ALL_IF_GIT): New macro.
47305         (configure): Use it.
47306         * INSTALL.REPO: Suggest './autogen.sh all'.
47308 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
47310         Doc fixes and refactorings based on comments from Eli Zaretskii
47312         * doc/lispref/processes.texi (Network Processes): Clarify the
47313         meaning of :tls-parameters.
47315         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
47317         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
47318         own function.
47319         (gnutls-negotiate): Use it.
47320         (open-gnutls-stream): Ditto.
47322         * src/eval.c (vformat_string): Refactor out the printing bits
47323         from verror.
47324         (verror): Use it.
47326         * src/gnutls.c (boot_error): Mark failed processes with the
47327         real error message.
47329         * src/lisp.h: Declare vformat_string.
47331 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47333         Build with C11 if available
47335         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
47336         * m4/std-gnu11.m4: New file, from gnulib.
47337         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
47339 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47341         Update gnulib copy
47343         * doc/misc/texinfo.tex: Copy from gnulib.
47345 2016-02-02  Glenn Morris  <rgm@gnu.org>
47347         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
47348         Doc tweaks.
47350 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47352         Port better to platforms lacking aligned_alloc
47354         Problem reported by Ken Brown (Bug#22522).
47355         * src/lisp.h (hybrid_aligned_alloc)
47356         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
47358 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47360         Port malloc.h hygiene fix to LTO
47362         * src/alloc.c (__malloc_initialize_hook):
47363         Make it externally visible (Bug#22522).
47365 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
47367         Build fix for --enable-check-lisp-object-type
47369         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
47370         Mitsuharu.
47372 2016-02-01  Glenn Morris  <rgm@gnu.org>
47374         Make find-change-log prefer a VCS root, if no ChangeLog exists.
47376         * lisp/vc/add-log.el (change-log-directory-files): New option.
47377         (find-change-log): Respect change-log-directory-files.
47378         * doc/emacs/maintaining.texi (Change Log Commands):
47379         Mention change-log-directory-files.
47381 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
47383         Boot parameter check fix
47385         * src/process.c (send_process): Fix test for boot parameters noted
47386         by Andy Moreton.
47388 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
47390         Double static heap size.
47392         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
47393         small on FreeBSD (Bug#22086).
47395 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
47397         Fix Bug#20821
47399         * lisp/net/tramp.el (tramp-file-name-handler):
47400         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
47401         Use `tramp-drop-volume-letter'.  (Bug#20821)
47403 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47405         Style fix
47407 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47409         Return the correct server port number
47411         * src/process.c (connect_network_socket): Return the correct
47412         server port number.
47414 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47416         Fix autoconf test for getaddrinfo_a
47418         * configure.ac: Make the test for getaddrinfo_a work.
47420 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47422         Better async error reporting
47424         * src/process.c (connect_network_socket): Mark failed processes
47425         with a better error message.
47426         (check_for_dns): Ditto.
47428 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47430         Clarify :tls-parameters.
47432 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47434         Always boot TLS if given parameters
47436         * src/process.c (connect_network_socket): If we have the TLS
47437         parameters, then boot the socket.
47439 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47441         Add documentation for :tls-parameters
47443         * doc/lispref/processes.texi (Network Processes): Mention
47444         :tls-parameters.
47446         * src/process.c (Fmake_network_process): Document the
47447         :tls-parameters parameter.
47449 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47451         Build fix for glibc systems.
47453 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47455         Make network connections work again on non-glibc systems
47457         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
47458         keywords in directly so that they can be used when doing
47459         synchronous DNS on non-synchronous connections.
47461         * lisp/net/network-stream.el (open-network-stream): Allow
47462         passing in the TLS parameters directly.
47464         * src/process.c (conv_numerical_to_lisp): New function to convert
47465         numerical addresses to Lisp.
47466         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
47467         paths so that they work again.
47468         (syms_of_process): Build fix for non-glibc systems.
47470 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47472         Windows build fix
47474         * src/process.c (Fmake_network_process): Build fix for systems
47475         without local sockets.
47477 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47479         Use XCAR/XCDR instead of Fcar etc
47481 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47483         Fix GC problem in async TLS connection
47485         * src/process.h: All Lisp_Object slots have to come first,
47486         otherwise they won't be protected from gc.
47488 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47490         Further TLS async work
47492         * src/gnutls.c (boot_error): New function to either signal an
47493         error or return an error code.
47494         (Fgnutls_boot): Don't signal errors when running asynchronously.
47496         * src/process.h (pset_status): Move here from process.c to be
47497         able to use from gnutls.c.
47499         * src/process.c (connect_network_socket): Do the TLS boot here
47500         when running asynchronously.
47501         (wait_reading_process_output): Rework the dns_processes
47502         handling for more safety.
47504 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47506         Clean up dead code
47508         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
47510 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
47512         Add ability to give rcirc servers an alias name
47514         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
47515         customization option.
47516         (rcirc, rcirc-connect): Take server alias into account.
47518 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
47520         Port new hybrid malloc to FreeBSD
47522         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
47523         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
47524         (__morecore) [HYBRID_MALLOC]: Define in this case too.
47526 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
47528         * configure.ac: Stop using mmap for buffers for FreeBSD.
47530 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
47532         Merge changes from Tramp repository
47534         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
47535         No EXTRA_OPTS needed.
47537         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
47538         branch, especially for @trampfn{}.
47539         (Top): Move @ifnottex down.
47540         (History): XEmacs support has been removed.
47541         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
47542         (Auto-save and Backup): Use both syntax versions.
47543         (File name Syntax): Remark on IPv6 adresses is valid for
47544         unified syntax only.
47546         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
47548 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47550         Spelling fixes
47552 2016-01-30  Glenn Morris  <rgm@gnu.org>
47554         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
47556 2016-01-30  Matthew Carter  <m@ahungry.com>
47558         Quote table names for postgres listings (sql-mode)
47560         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
47561           unquoted table names to the completion list.
47563 2016-01-30  Glenn Morris  <rgm@gnu.org>
47565         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
47567         * lisp/vc/smerge-mode.el (smerge-diff-switches)
47568         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
47569         (smerge-upper, smerge-upper-face, smerge-keep-upper)
47570         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
47571         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
47572         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
47573         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
47574         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
47575         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
47576         Update all uses.
47577         (smerge-basic-map): Add "l" and "u" bindings.
47578         (smerge-mode-menu): Update menu bindings for renaming.
47579         (smerge-font-lock-keywords): Update face names.
47580         (smerge-match-names): Update names.
47581         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
47582         (smerge-match-conflict, smerge-ediff): Rename local variables.
47583         (smerge-makeup-conflict): Relabel markers.
47584         (smerge-parsep-re): Use renamed variables.
47586 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47588         Port recent my_edata change to MS-Windows
47590         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
47592 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
47594         Rework the mechanisms for async GnuTLS connections
47596         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
47597         gnutls-boot parameters and pass them to the process object.
47598         (gnutls-negotiate): New parameter :return-keywords that won't
47599         connect to anything, just compute the keywords.
47601         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
47602         hack, which is no longer necessary.
47604         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
47605         gnutls-mark-process.
47607         * src/process.c (connect_network_socket): If we're connecting to
47608         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
47610         * src/process.h: New parameter gnutls_async_parameters.
47612 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
47614         Fix segfault from double free
47616         * src/process.c (check_for_dns): Protect against double free
47617         issues.
47619 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
47621         Remove debugging
47623 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
47625         Implement asynchronous GnuTLS connections
47627         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
47628         the nowait parameter.
47630         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
47631         connections with the new nowait parameter.
47633         * lisp/net/network-stream.el (network-stream-open-tls): Pass
47634         on :nowait to open-gnutls-stream.
47636         * lisp/url/url-http.el (url-http): Don't overwrite the
47637         sentinel created by open-gnutls-stream.
47639         * src/gnutls.c (Fgnutls_mark_process): New function.
47641         * src/process.c (send_process): Don't write to GnuTLS sockets that
47642         haven't been initialised yed.
47644         * src/process.h: New slot gnutls_wait_p.
47646 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47648         Tell Automake the new lib/Makefile.am is OK
47650         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
47652 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47654         Make it easy to override preferred-branch test
47656         * Makefile.in (preferred-branch-is-current):
47657         Rename from emacs-25-branch-is-current.  All uses changed.
47658         (PREFERRED_BRANCH): New macro.
47660 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47662         Shrink static heap a bit
47664         * src/sheap.h: Include lisp.h, for Lisp_Object.
47665         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
47666         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
47667         conservative than the old value.
47668         (Bug#22086)
47670 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47672         Fix extern symbols defined and not used
47674         * src/alloc.c: Always include <signal.h>.
47675         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
47676         Do not define; unused.
47677         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
47678         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
47679         to avoid collision with glibc.  Now static.  All uses changed.
47680         * src/lastfile.c (my_edata): Define only if
47681         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
47682         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
47683         (Bug#22086)
47685 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47687         Build lib/e-*.o only on platforms that need it
47689         * configure.ac (hybrid malloc): Simplify configuration.
47690         (SHEAP_OBJ): Remove; no longer needed.
47691         (HYBRID_MALLOC): New var. Subst it.
47692         (HYBRID_MALLOC_LIB): New Automake conditional.
47693         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
47694         HYBRID_MALLOC_LIB.
47695         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
47696         (MOSTLYCLEANFILES): Add libegnu.a.
47697         * src/Makefile.in (SHEAP_OBJ): Remove.
47698         (HYBRID_MALLOC): New macro.
47699         (base_obj): Use it to conditionally add sheap.o.
47700         (LIBEGNU_ARCHIVE): New macro.
47701         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
47702         All uses of the latter replaced by the former.
47703         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
47704         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
47705         * src/gmalloc.c: Update comment.
47706         * src/lisp.h (aligned_alloc)
47707         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
47708         New decl.
47709         (Bug#22086)
47711 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47713         Include <malloc.h> when advisable
47715         This should help insulate us better from future glibc changes.
47716         It is good hygiene to include .h files for APIs that Emacs uses.
47717         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
47718         * configure.ac: Check for malloc.h.
47719         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
47720         not on DOUG_LEA_MALLOC.
47721         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
47722         Remove decl (now in lisp.h).
47723         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
47724         [emacs]: Include lisp.h.
47725         [HAVE_MALLOC_H]: Include <malloc.h>.
47726         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
47727         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
47728         (__default_morecore):
47729         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
47730         (calloc): Make it clear that the macro should not be used.
47731         Remove unused decl.
47732         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
47733         (__morecore, __default_morecore, __after_morecore_hook)
47734         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
47735         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
47736         Remove later decls.
47737         (gmalloc_hook, gfree_hook, grealloc_hook):
47738         Rename from __malloc_hook, __free_hook, __realloc_hook to
47739         avoid type collision with glibc <malloc.h>.  All uses changed.
47740         (gmalloc_hook):
47741         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
47742         Now static.
47743         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
47744         (__malloc_initialize_hook, __after_morecore_hook):
47745         Declare with types compatible with glibc.
47746         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
47747         Remove.  All uses removed.
47748         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
47749         * src/ralloc.c, src/vm-limit.c:
47750         Simplify includes and include <malloc.h> if available.
47752 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47754         * src/alloc.c: Include "sheap.h".
47756         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
47757         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
47758         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
47759         Declare unconditionally.
47760         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
47761         (unexec): Don’t set or clear bss_sbrk_did_unexec;
47762         the caller now does this.
47763         (Bug#22086)
47765 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47767         Pacify --enable-gcc-warnings when HYBRID_MALLOC
47769         * src/buffer.c (init_buffer):
47770         * src/emacs.c (main):
47771         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
47772         Use emacs_get_current_dir_name, not get_current_dir_name.
47773         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
47774         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
47775         * src/emacs.c: Include "sheap.h".
47776         (report_sheap_usage): Remove decl.
47777         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
47778         Don't assume ptrdiff_t can be printed as int.
47779         * src/gmalloc.c [HYBRID_MALLOC]:
47780         Include "sheap.h" rather than declaring its contents by hand.
47781         (get_current_dir_name, gget_current_dir_name)
47782         (hybrid_get_current_dir_name): Remove.
47783         (emacs_abort): Remove duplicate decl.
47784         (aligned_alloc): Undef, like malloc etc.
47785         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
47786         Make it a bit more efficient.
47787         (malloc_find_object_address): Remove unused decl.
47788         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
47789         (mstats, memory_warnings): Declare only if GC_MCHECK.
47790         * src/lisp.h (emacs_get_current_dir_name):
47791         New decl, replacing get_current_dir_name.
47792         * src/sheap.c: Include sheap.h first.
47793         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
47794         (debug_sheap): Now static.
47795         (bss_sbrk_buffer_end): Remove; no longer used.
47796         (bss_sbrk_ptr): Now static and private.
47797         (bss_sbrk_did_unexec): Now bool.
47798         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
47799         (bss_sbrk): Don't treat request_size 0 as special, since the code
47800         works without this being a special case.
47801         Avoid overflow if request size exceeds INT_MAX.
47802         (report_sheap_usage): Remove; now done in emacs.c.
47803         * src/sheap.h: New file.
47804         * src/sysdep.c (get_current_dir_name): Remove macro.
47805         Include "sheap.h".
47806         (emacs_get_current_dir_name): Rename function from
47807         get_current_dir_name.  Handle HYBRID_MALLOC here;
47808         this is simpler.
47809         (Bug#22086)
47811 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47813         Report static heap usage on non-Cygwin, too
47815         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
47816         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
47817         on platforms other than Cygwin (Bug#22086).
47819 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47821         Pacify GCC on extern decls
47823         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
47824         to pacify recent GCC (Bug#22086).
47826 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
47828         Add musl patch to support HYBRID_MALLOC on elf systems
47830         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
47831         (__default_morecore): Here, in particular.
47832         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
47833         New variable SHEAP_OBJ.
47834         * src/Makefile.in: Use it.
47835         (Bug#22086)
47837 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
47839         unexelf.c hook to support HYBRID_MALLOC on ELF
47841         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
47842         Define bss_sbrk_did_unexec (Bug#22086).
47844 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
47846         Link temacs with gnulib compiled with -Demacs
47848         This is done to support HYBRID_MALLOC, since some static variables
47849         (e.g., last_environ in putenv.c) hold pointers to memory malloced
47850         before dumping (Bug#22086).
47851         * lib/Makefile.am: Add incantation to install libegnu.a.
47852         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
47853         (temacs$(EXEEXT)): Use it.
47855 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
47857         Internal linkage for gmalloc etc. if HYBRID_MALLOC
47859         This avoids clashes with symbols if the after-dump malloc is
47860         derived from Doug Lea's implementation (Bug#22086).
47862         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
47863         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
47864         declarations below to `static' ones.
47865         (aligned_alloc): Declare for !MSDOS as well.
47866         (heapsize, _fraghead): Move resp. copy declaration downwards.
47867         For HYBRID_MALLOC, conditionalize out the other definitions,
47868         since the previous `static' declarations double as tentative
47869         definitions, anyway.
47870         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
47871         (__realloc_hook, __memalign_hook): Conditionalize out.
47872         (cfree, memalign, valloc): Ditto.
47874 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47876         -
47878         -
47880         -
47882 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47884         Merge from origin/emacs-25
47886         3f481ad Rename xref-query-replace to xref-query-replace-in-results
47887         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
47888         2111e0e Comment out next-error-function integration in xref
47889         4e11ad3 Correct a use of "which" in intro.texi
47890         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
47891         76045f7 Don't operate on menu bar of nonexistent frame
47892         c32f3bc Unbreak the GNUstep build.
47894 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
47896         -
47898         -
47900 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
47902         Re-enable checks in member, memql, delete to complain about non-lists
47904         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
47906 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
47908         Clean up compilation warnings
47910 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
47912         Make async resolution more efficient
47914         * src/process.c (wait_reading_process_output): Use a list of
47915         process objects instead of looping through an array to check
47916         for name resolution.  This should be much faster.
47918 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47920         More async memory leaks
47922         * src/process.c (check_for_dns): Free even more allocated async stuff.
47924 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47926         Compilation for for systems with getaddrinfo_a
47928         * src/process.c (Fmake_network_process): Make stuff work again on
47929         systems with getaddrinfo_a.
47931 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47933         Save correct server data
47935         * src/process.c (connect_network_socket): Save the correct contact
47936         info for servers.
47938 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47940         Compilation for for non-GNU systems
47942         * src/process.c (Fmake_network_process): Make compilation work
47943         again on hosts that don't have getaddrinfo_a.
47945 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47947         Avoid memory leaks in async DNS
47949         * src/process.c (check_for_dns): Free async DNS resources after
47950         they've been used.
47952 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47954         * src/process.c (check_for_dns): Free the result data.
47956 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47958         Fix server connections
47960         * src/process.c (Fmake_network_process): Make creating server
47961         listening ports work again.
47963 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47965         Further make_network_process clean up
47967         * src/process.c (Fmake_network_process): Remove setting of unused
47968         family variable.
47970 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47972         Clean up GETADDRINFO usage in make-network-process
47974         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
47975         handling.
47977 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
47979         Implement asynchronous name resolution
47981         * src/process.c (Fmake_network_process): Do asynchronous DNS
47982         lookups if we have getaddrinfo_a and the user requests :nowait.
47983         (check_for_dns): New function.
47984         (wait_reading_process_output): Check for pending name
47985         resolution in the idle loop.
47987         * src/process.h: Add structure for async DNS.
47989 2016-01-28  Glenn Morris  <rgm@gnu.org>
47991         Remove some useless-use-of eval.
47993         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
47994         * lisp/gnus/nnrss.el (xml): Simply require it.
47995         (xml-rpc-method-call): Use declare-function.
47997 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
47999         Fix memory leak
48001         * src/process.c (connect_network_socket): Free previous sockaddr
48002         before allocating a new one.
48004 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
48006         Return IP addresses in the correct order
48008         * src/process.c (Fmake_network_process): Return the IP addresses
48009         in the same order as getaddrinfo does.
48010         (set_network_socket_coding_system): Clean up the code slightly.
48012 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
48014         Add checks for getaddrinfo_a
48016         * configure.ac: Detect getaddrinfo_a.
48018 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
48020         Refactor make_network_process
48022         * src/process.c (set_network_socket_coding_system)
48023         (connect_network_socket): Refactor out of
48024         make_network_process to allow calling connect_network_socket
48025         asynchronously.
48026         (Fmake_network_process): Do nothing but parsing the parameters
48027         and name resolution, leaving the connection to
48028         connect_network_socket.
48030 2016-01-28  Glenn Morris  <rgm@gnu.org>
48032         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
48033         Warn if defcustom has no type.  (Bug#16276)
48035 2016-01-27  Glenn Morris  <rgm@gnu.org>
48037         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
48039 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48041         (rng-c-fix-escaped-newlines): Use subst-char-in-string
48043         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
48044         Use subst-char-in-string.
48046 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48048         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
48050         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
48051         (sgml-calculate-indent): Use it.
48053 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48055         * lisp/org: Fix some compiler warnings
48057         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
48058         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
48059         (*this*): Declare as dyn-bound.
48060         (org-babel-expand-src-block, org-babel-load-in-session)
48061         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
48062         Mark unused args.
48063         (org-babel-combine-header-arg-lists): Remove unused var `args'.
48064         (org-babel-find-named-block): Remove unused var `msg'.
48066         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
48067         Declare as dyn-bound.
48068         (org-edit-src-code): Remove unused var `lfmt'.
48069         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
48071 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48073         * lisp/font-lock.el: Use #' to quote function symbols
48075 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
48077         Improve user name completion in Tramp
48079         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
48080         Call also "getent passwd" or "getent group", if possible.
48081         (tramp-parse-putty): Cache the result.
48083 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
48085         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
48087 2016-01-20  Glenn Morris  <rgm@gnu.org>
48089         Remove handling of non-string time-stamp formats, obsolete for 20 years.
48091         * lisp/time-stamp.el (time-stamp-format): Doc fix.
48092         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
48093         (time-stamp-string): Ignore non-string formats.
48095 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
48097         Anoter fix for problematic merge from emacs-25
48099         * src/w32fns.c (globals_of_w32fns): Move initialization of
48100         resetstkoflw to a non-Cygwin part.
48102 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
48104         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
48106 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
48108         Fix MS-Windows build broken by a botched merge from emacs-25
48110         * src/w32.c (w32_crypto_hprov): New static variable.
48111         (globals_of_w32): Initialize w32_crypto_hprov.
48112         (w32_init_crypt_random, w32_init_random): New functions.
48113         Include wincrypt.h.
48114         * src/w32.h (w32_init_random): Add prototype.
48116 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48118         Correct a whole bunch of bugs coming with renamed cell relocation.
48120         * lisp/ses.el (ses-localvars): rename variable
48121         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
48122         and adjust the comment about it.
48123         (ses-plist-delq): new defun.
48124         (ses--ses-buffer-list): new defvar.
48125         (ses--unbind-cell-name): new defun.
48126         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
48127         (ses-relocate-formula): Undo change of
48128         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
48129         preventing relocation for named cell --- now doing this is delegated
48130         to function `ses-relocate-symbol'.
48131         (ses-relocate-range): In docstring, undo change of
48132         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
48133         lower case as it is not a variable.
48134         (ses-relocate-all): Cell name relocation : 1) check that cell is a
48135         renamed cell by testing `ses-cell' property to :ses-named, rather than
48136         comparing name to corresponding standard name. Set rowcol of renamed
48137         cell into the hashmap --- `ses-cell' property must not be used for
48138         that as the same name can be used for different locations in different
48139         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
48140         `local-variable-p' to check if cell name is already in use in this
48141         sheet or needs initialisation.
48142         (ses-relocate-all): Cell value relocation : 1) like for name
48143         relocation use the `ses-cell' property rather than comparing actual
48144         name to corresponding standard name. 2) Correct bug introduced in
48145         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
48146         made the other way round than the intention --- ie value relocation
48147         was disabled for standard cell, not for renamed cell as was the
48148         intention.
48149         (ses-relocate-all): Add loop for unbinding deleted renamed cells
48150         names.
48151         (ses-killbuffer-hook): new defun.
48152         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
48153         kill buffer hook, plus pushing current buffer if new in list.
48154         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
48155         into `ses--in-killing-named-cell-list'.
48156         (ses-rename-cell): Remove update of variable
48157         `ses--renamed-cell-symb-list', this variable is renamed to
48158         `ses--in-killing-named-cell-list', and its setting is done in
48159         functions `ses-delete-row' and , `ses-delete-column' now.
48160         (ses-rename-cell): Change correction of
48161         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
48162         computation of the range over which `cursor-intangible' property was
48163         to be updated. This correction was ok for non spilling cells, but not
48164         for cells spilling over following blank cells. Simply use
48165         `next-single-property-change' rather than computing the end column
48166         from column widths.
48168 2016-01-18  John Wiegley  <johnw@newartisans.com>
48170         -
48172 2016-01-18  John Wiegley  <johnw@newartisans.com>
48174         Merge from origin/emacs-25
48176         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
48177         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
48178         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
48179         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
48180         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
48181         86e4513 Fix incompatbilities with MS-Windows 2000 and older
48182         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
48183         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
48184         39afa42 Fix tests for active region in hideif.el
48185         05df666 Fix interactive specs in some hideif.el commands
48187 2016-01-18  John Wiegley  <johnw@newartisans.com>
48189         -
48191 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48193         Avoid stdio in SIGINT handler
48195         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
48196         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
48197         * lib/ignore-value.h: New file, from gnulib.
48198         * src/keyboard.c: Include it.
48199         (write_stdout, read_stdin): New functions.
48200         (handle_interrupt): Use them instead of printf and getchar,
48201         and avoid fflush when handling signals.
48203 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
48205         Refactor mml-smime.el, mml1991.el, mml2015.el
48207         (Maybe this is the last merge from Gnus git to Emacs git)
48209         Cf. discussion on ding mailing list, messages in
48210         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
48211         Common code from the three files mml-smime.el, mml1991.el, and
48212         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
48213         to gnus-util.el.
48215         The code is supported by test cases with necessary test keys.
48217         Documentation in message.texi is updated.
48219         * doc/misc/message.texi (Security, Using S/MIME):
48220         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
48221         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
48222         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
48224         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
48225         New functions.
48227         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
48228         (epa--select-keys): Autoload.
48229         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
48230         (mml-secure-openpgp-signers): New user option;
48231         make mml1991-signers and mml2015-signers obsolete aliases to it.
48232         (mml-secure-smime-signers): New user option;
48233         make mml-smime-signers an obsolete alias to it.
48234         (mml-secure-openpgp-encrypt-to-self): New user option;
48235         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
48236         aliases to it.
48237         (mml-secure-smime-encrypt-to-self): New user option;
48238         make mml-smime-encrypt-to-self an obsolete alias to it.
48239         (mml-secure-openpgp-sign-with-sender): New user option;
48240         make mml2015-sign-with-sender an obsolete alias to it.
48241         (mml-secure-smime-sign-with-sender): New user option;
48242         make mml-smime-sign-with-sender an obsolete alias to it.
48243         (mml-secure-openpgp-always-trust): New user option;
48244         make mml2015-always-trust an obsolete alias to it.
48245         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
48246         New user options.
48247         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
48248         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
48249         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
48250         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
48251         (mml-secure-passphrase-callback, mml-secure-check-user-id)
48252         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
48253         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
48254         (mml-secure-fingerprint, mml-secure-filter-keys)
48255         (mml-secure-normalize-cust-name, mml-secure-select-keys)
48256         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
48257         (mml-secure-self-recipients, mml-secure-recipients)
48258         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
48260         * lisp/gnus/mml-smime.el: Require epg;
48261         refactor declaration and autoloading of epg functions.
48262         (mml-smime-use): Doc fix.
48263         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
48264         Obsolete.
48265         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
48266         Use format instead of gnus-format-message.
48267         (mml-smime-epg-secret-key-id-list): Remove variable.
48268         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
48269         (mml-smime-epg-find-usable-secret-key): Remove functions.
48270         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
48272         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
48273         (mml1991-passphrase-cache-expiry): Obsolete.
48274         (mml1991-epg-secret-key-id-list): Remove variable.
48275         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
48276         (mml1991-epg-find-usable-secret-key): Remove functions.
48277         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
48279         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
48280         (mml2015-passphrase-cache-expiry): Obsolete.
48281         (mml2015-epg-secret-key-id-list): Remove variable.
48282         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
48283         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
48284         (mml2015-epg-find-usable-secret-key): Remove functions.
48285         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
48286         (mml2015-epg-encrypt): Refactor.
48288 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48290         Merge from gnulib
48292         This mostly just updates copyright dates of gnulib files.
48293         It also updates to the latest version of texinfo.tex.
48295 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
48297         Move variables to inner loop, preparing for Mac port merge
48299         * src/keyboard.c (command_loop_1): Move variables `cmd',
48300         `keybuf', and `i' to inner loop.
48302 2016-01-17  Bill Wohler  <wohler@newt.com>
48304         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
48306 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48308         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
48310         (syntax-ppss):
48311         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
48313 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48315         lisp/nxml: Use syntax-tables for comments
48317         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
48318         (nxml-mode): Set syntax-ppss-table.
48319         Use sgml-syntax-propertize-function for syntax-propertize-function.
48320         Let font-lock highlight strings and comments.
48321         (nxml-degrade): Don't touch "nxml-inside" property any more.
48322         (nxml-after-change, nxml-after-change1): Remove functions.
48323         (comment): Don't set fontify rule any more.
48324         (nxml-fontify-attribute): Don't highlight the value any more.
48325         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
48326         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
48328         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
48329         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
48330         (nxml-clear-inside, nxml-set-inside): Remove.
48331         (nxml-scan-after-change): Remove function.
48332         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
48333         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
48334         (nxml-move-outside-backwards):
48335         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
48336         nxml-inside-start behavior.
48338         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
48339         (nxml-debug-clear-inside): Remove macros.
48341         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
48342         (xmltok-scan-after-comment-open): Simplify.
48344 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48346         * lisp/progmodes/elisp-mode.el
48347         (elisp--font-lock-flush-elisp-buffers): Fix comment
48349 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48351         * lisp/nxml: Use standard completion; it also works for company-mode
48353         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
48354         (nxml-completion-at-point-function): Remove.
48355         (nxml-mode): Don't set completion-at-point-functions.
48356         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
48357         (rng-completion-at-point): Rename from rng-complete and mark it
48358         non-interactive.  It is now to be used as completion-at-point-function.
48359         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
48360         (rng-complete-attribute-value): Don't perform completion, but return
48361         completion data instead.
48362         (rng-complete-qname-function, rng-generate-qname-list): Add a few
48363         arguments, previously passed via dynamic coping.
48364         (rng-strings-to-completion-table): Rename from
48365         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
48366         sorting and uniquifying.
48368         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
48369         (rng-completion-exact-p, rng-quote-string): Delete functions.
48371         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
48372         (rng-missing-attributes-message, rng-missing-element-message)
48373         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
48374         calling rng-quote-string everywhere.
48376 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48378         Use sgml-electric-tag-pair-mode also in nxml-mode
48380         * lisp/nxml/rng-nxml.el: Require sgml-mode.
48381         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
48382         (rng-complete-qname-function): Use complete-with-action.
48384         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
48385         Let-bind forward-sexp-function, since nxml-mode binds it to
48386         something incompatible.
48388         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
48390 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
48392         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
48393         opener.
48395         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
48396         marker on the "sole --" rather than on the comment opener.
48398 2016-01-15  Sam Steingold  <sds@gnu.org>
48400         replace `tramp-compat-split-string' (removed) with `split-string'
48402         (python-shell-tramp-refresh-process-environment)
48403         (python-shell-calculate-pythonpath): use `split-string'
48404         instead of defunct `tramp-compat-split-string'
48406 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
48408         Update nXML to use Emacs's Unicode support, and lexical-binding
48410         * etc/nxml/*.el: Remove obsolete char-name files.
48411         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
48412         var `next'.
48413         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
48414         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
48415         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
48416         (nxml-target-section-pos, nxml-depth-in-target-section)
48417         (nxml-outline-state-transform-alist)
48418         (nxml-outline-display-section-tag-function): Move decl before first use.
48419         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
48420         (nxml-char-name-alist, nxml-char-name-table)
48421         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
48422         (nxml-enable-char-name-set, nxml-disable-char-name-set)
48423         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
48424         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
48425         (nxml-insert-named-char): Use read-char-by-name instead.
48426         (nxml-char-ref-display-extra): Use get-char-code-property.
48427         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
48428         Remove function.
48429         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
48431 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
48433         Add "sg" method to Tramp
48435         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
48436         (Customizing Completion): Add function `tramp-parse-etc-group'.
48438         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
48439         (tramp-completion-function-alist-sg): New defconst.
48440         (top): Completion function for "sg" is
48441         `tramp-completion-function-alist-sg'.
48443         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
48444         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
48446 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
48448         Remove XEmacs compatibility in Tramp
48450         * doc/misc/tramp.texi: Replace flags by their hard coded name.
48451         Remove unused flags and the enclosed alternative text for XEmacs.
48453         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
48454         and "xemacs" flags to "unified" and "separate".  Remove flags
48455         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
48456         "emacsothername", "emacsotherdir" and "emacsotherfilename".
48457         (trampver):
48458         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
48460         * lisp/net/tramp.el (bkup-backup-directory-info)
48461         (directory-sep-char, ls-lisp-use-insert-directory-program)
48462         (outline-regexp, tramp-backup-directory-alist)
48463         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
48464         (tramp-file-name-regexp-unified)
48465         (tramp-file-name-regexp-separate)
48466         (tramp-completion-file-name-regexp-unified)
48467         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
48468         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
48469         (tramp-debug-message, tramp-progress-reporter-update)
48470         (with-tramp-progress-reporter)
48471         (tramp-rfn-eshadow-setup-minibuffer)
48472         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
48473         (tramp-rfn-eshadow-update-overlay)
48474         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
48475         (tramp-file-name-for-operation)
48476         (tramp-completion-file-name-handler)
48477         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
48478         (tramp-handle-directory-files)
48479         (tramp-handle-directory-files-and-attributes)
48480         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
48481         (tramp-handle-insert-file-contents, tramp-handle-load)
48482         (tramp-handle-shell-command)
48483         (tramp-handle-verify-visited-file-modtime)
48484         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
48485         (tramp-check-for-regexp, tramp-wait-for-regexp)
48486         (tramp-send-string, tramp-mode-string-to-int)
48487         (tramp-get-local-gid, tramp-check-cached-permissions)
48488         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
48489         (auto-save-file-name-transforms)
48490         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
48491         (tramp-clear-passwd, tramp-time-diff):
48492         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
48493         (directory-sep-char, tramp-adb-file-name-handler-alist)
48494         (tramp-adb-parse-device-names)
48495         (tramp-adb-handle-expand-file-name)
48496         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
48497         (tramp-adb-handle-file-local-copy)
48498         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
48499         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
48500         (tramp-adb-handle-shell-command)
48501         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
48502         (tramp-adb-maybe-open-connection):
48503         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
48504         (tramp-cache-print):
48505         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
48506         (tramp-bug, tramp-reporter-dump-variable)
48507         (tramp-load-report-modules, tramp-append-tramp-buffers):
48508         * lisp/net/tramp-compat.el (tramp-compat-funcall)
48509         (tramp-advice-file-expand-wildcards)
48510         (tramp-compat-temporary-file-directory)
48511         (tramp-compat-make-temp-file, tramp-compat-copy-file)
48512         (tramp-compat-delete-directory, )
48513         (tramp-compat-process-running-p):
48514         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
48515         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
48516         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
48517         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
48518         (tramp-gvfs-handle-file-local-copy)
48519         (tramp-gvfs-handle-file-name-all-completions)
48520         (tramp-gvfs-handle-file-notify-add-watch)
48521         (tramp-gvfs-monitor-file-process-filter)
48522         (tramp-gvfs-handle-file-readable-p)
48523         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
48524         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
48525         (tramp-gvfs-maybe-open-connection)
48526         (tramp-gvfs-parse-device-names):
48527         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
48528         (tramp-gw-open-connection, tramp-gw-open-network-stream):
48529         * lisp/net/tramp-sh.el (directory-sep-char)
48530         (tramp-sh-file-name-handler-alist)
48531         (tramp-sh-handle-file-truename)
48532         (tramp-sh-handle-set-visited-file-modtime)
48533         (tramp-sh-handle-verify-visited-file-modtime)
48534         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
48535         (tramp-sh-handle-file-acl)
48536         (tramp-sh-handle-file-name-all-completions)
48537         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
48538         (tramp-do-copy-or-rename-file-directly)
48539         (tramp-do-copy-or-rename-file-out-of-band)
48540         (dired-compress-file-suffixes, dired-remove-file)
48541         (tramp-sh-handle-dired-compress-file)
48542         (tramp-sh-handle-insert-directory)
48543         (tramp-sh-handle-expand-file-name)
48544         (tramp-sh-handle-start-file-process)
48545         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
48546         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
48547         (tramp-sh-handle-file-notify-add-watch)
48548         (tramp-sh-gvfs-monitor-dir-process-filter)
48549         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
48550         (tramp-find-executable)
48551         (tramp-open-connection-setup-interactive-shell)
48552         (tramp-find-inline-encoding, tramp-compute-multi-hops)
48553         (tramp-maybe-open-connection, tramp-convert-file-attributes)
48554         (tramp-get-remote-path, tramp-get-remote-touch):
48555         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
48556         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
48557         (tramp-smb-handle-delete-directory)
48558         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
48559         (tramp-smb-handle-make-directory-internal)
48560         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
48561         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
48562         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
48563         (tramp-smb-get-cifs-capabilities)
48564         (tramp-smb-maybe-open-connection):
48565         * lisp/net/trampver.el (tramp-repository-get-version):
48566         Remove XEmacs compat code.
48568         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
48569         (reporter-dump-variable): Declare functions.
48571         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
48572         (tramp-advice-minibuffer-electric-separator)
48573         (tramp-advice-minibuffer-electric-tilde)
48574         (tramp-handle-unhandled-file-name-directory):
48575         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
48576         (tramp-compat-font-lock-add-keywords)
48577         (tramp-compat-load, tramp-compat-number-sequence)
48578         (tramp-compat-split-string, tramp-compat-delete-dups):
48579         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
48580         Remove.
48582         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
48583         recursively.
48585 2016-01-14  K. Handa  <handa@gnu.org>
48587         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
48589         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
48590         second glyph only when there are enough glyphs.
48592 2016-01-13  Glenn Morris  <rgm@gnu.org>
48594         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
48596         or its hook, to move point.  (Bug#22348)
48598 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
48600         Merge missing commit from emacs-25 branch
48602         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
48603         New variables.
48604         (check-expensive, check-doit): New targets.
48606         * Makefile.in (check-expensive): New target.
48608         * test/lisp/autorevert-tests.el
48609         (auto-revert-test01-auto-revert-several-files):
48610         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
48611         (file-notify-test06-many-events):
48612         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
48613         (tramp-test27-start-file-process, tramp-test28-shell-command)
48614         (tramp-test29-vc-registered)
48615         (tramp-test31-special-characters-with-stat)
48616         (tramp-test31-special-characters-with-perl)
48617         (tramp-test31-special-characters-with-ls)
48618         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
48619         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
48620         (tramp-test35-unload): Tag the tests as :expensive-test.
48622 2016-01-11  John Wiegley  <johnw@newartisans.com>
48624         Merge from origin/emacs-25
48626         1f6898d test/automated/vc-hg.el: Support out-of-tree build
48627         3adb56e Minor change in tramp-tests.el
48628         2b535ba ; * etc/NEWS: Update the js.el entry.
48629         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
48630         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
48631         36b9539 Avoid an infloop when we run out of memory
48632         2006752 Avoid unnecessary failures of auto-saving after fatal error
48633         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
48634         552694a Revert attempt to use 'noexcept' in typedef
48635         6ad0d39 Update documentation of 'indirect-function'
48636         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
48637         303141a Update documentation for obsoleting 'syntax-begin-function'
48638         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
48639         e667bbb Document new features if Eshell
48640         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
48641         1089dc9 Handle too long commands in Tramp
48642         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
48643         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
48644         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
48645         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
48646         cca0f93 ; Account for spaces before the filename
48647         c71e1e8 Use short date for 'hg annotate', and output the author
48648         f50027b Spelling fix
48649         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
48650         cc140bc Document user-level functions in project.el
48651         f8208b6 Document the user-level features of the Xref package
48652         b131fb8 * loading.texi: Add `define-type' entry for load-history
48653         db3c2a8 Improve doc strings and prompts in xref.el
48654         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
48655         90fd798 Fix coding system for Tramp on OS X.
48656         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
48657         9dfcbf0 Update 'load-history' docs
48658         207e191 Fix (error ...) error
48659         457738f Correctly analyze brace arguments in templated C++ function declarations.
48660         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
48661         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
48662         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
48663         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
48664         4b37cba Improve documentation of Delete Selection mode
48665         a034dd3 Fix two project-find-file issues
48666         30abf29 Clarify doc string of 'dired-current-directory'
48667         e990bb2 Use the face of preceding text for displaying the ellipsis
48668         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
48669         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
48670         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
48671         648de81 ; Add NEWS entry for project.el
48672         671862f apropos-library: Skip obvious duplicates; don't error on generics
48673         51668a5 ; Grammar fix
48674         ed41d11 Add project-find-file and project-or-external-find-file
48675         056da45 ; Improve commentary in 'setup_for_ellipsis'
48676         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
48678 2016-01-11  John Wiegley  <johnw@newartisans.com>
48680         Merge from origin/emacs-25
48682         ce4a052 Add defvar-local to lisp-imenu-generic-expression
48683         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
48684         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
48685         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
48686         b6b47af Properly encode/decode base64Binary data in SOAP
48687         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
48688         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
48689                 Update the URI of MELPA and marmalade-repo.
48690                 Reported by CHENG Goa <chenggao@royau.me> in
48691                 https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
48692         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
48693         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
48694         7380990 Remove function wrongly on AWK Mode value of context
48695         fontification hook.
48696         d400753 * src/buffer.c: Stick with ASCII in doc string.
48697         221240c Reword transient-mark-mode doc string
48698         977d3ea Update doc string of 'selective-display'
48699         229c3fa Make C++ buffers writeable when writing their initial text
48700                 properties.
48701         f5c762c Additional changes for "make check-expensive"
48702         1729cf3 ; * admin/MAINTAINERS: Remove myself.
48703         33219d3 Apply text properties for <, > in new after-change function
48704                 (C++ Java Modes).
48706 2016-01-11  John Wiegley  <johnw@newartisans.com>
48708         Merge from origin/emacs-25
48710         9fb185a shr-tag-video bug fix
48711         6300655 Minor fixes in tramp-tests.el
48712         50575b1 Ensure redisplay when 'truncate-lines' is set
48713         0d9e80d Fix a doc string of 'transient-mark-mode'
48714         0000ae5 MS-Windows followup to latest gnulib update
48715         4bc5e02 Spelling fix
48716         f1093f7 Do secure signed Bcc handling
48718 2016-01-11  John Wiegley  <johnw@newartisans.com>
48720         Merge from origin/emacs-25
48722         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
48723         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
48724         71ea138 * lisp/align.el (align): Simplify a lambda
48725         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
48726         1f680db Fix compilation next-error in buffers with selective-display
48727         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
48728         1da116f Add SHA1 warnings for high network security settings
48729         e48bacd ; * etc/NEWS: Typo fix.
48731 2016-01-11  John Wiegley  <johnw@newartisans.com>
48733         Merge from origin/emacs-25
48735         43662a2 ; Clarify that xref is still experimental
48736         0a6e6ca ; * admin/release-process: Remove some obsolete records.
48737         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
48738         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
48739         0a7ad07 ; Re-arrange xref-related entries in NEWS.
48740         fe903ef Fix xref-find-references on MS-Windows
48741         55a28d8 ; Fixed visual bell artifact problem on NextStep.
48742         d064034 Document new features of tildify-mode
48743         964bea7 Document new features of Whitespace mode
48744         cd68f47 Improve documentation of new Hide-IfDef features
48745         723b8bf Fix regression in font-locking cl-assert and cl-check-type
48747 2016-01-11  John Wiegley  <johnw@newartisans.com>
48749         Merge from origin/emacs-25
48751         ef33bc7 Spelling and grammar fixes
48752         9c3dbab Fix copyright years by hand
48753         0e96320 Update copyright year to 2016
48755 2016-01-11  John Wiegley  <johnw@newartisans.com>
48757         Merge from origin/emacs-25
48759         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
48760         526d80c Port chart.el methods to cl-generic.
48761         410bb69 Add nt/INSTALL.W64 build instructions
48762         8f5b524 Add new input method 'programmer-dvorak'
48763         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
48764         bb83bb1 Fix EWW rendering of long RTL lines
48765         b1a8509 fix  bug#21054
48766         ce5ad12 Clean up cairo printing code
48768 2016-01-11  John Wiegley  <johnw@newartisans.com>
48770         Merge from origin/emacs-25
48772         6ee327d Add handle_user_signal_hook
48773         47580e0 Avoid writing to purespace
48774         0588be7 Remove unused variable
48775         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
48776         3b95e9c Use posix_openpt instead of openpty on Darwin
48777         86312ff Document support for ':documentation' in Lisp mode
48778         c930e75b Document new features of TeX mode
48779         7c83d84 Clarify docs of hscroll in RTL text
48780         4c8f8db Fix rendering of HTML pages that use character composition
48781         a8d37ca Avoid some compiler warnings in w32.c
48782         ce106f3de Undo ill-advised change
48783         be0bba4 Unbreak completion in python-mode buffers
48785 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
48787         Adding example replies to bug-triage.
48789         * admin/notes/bug-triage: Added example replies. Also, as requested,
48790           making the process notes into more of a checklist.
48792 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
48794         Rename the notes/admin/triage file to bug-triage.
48796         * CONTRIBUTE: Change reference to the triage file name.
48797         * admin/notes/triage: Rename file to admin/notes/bug-triage.
48799 2016-01-08  K. Handa  <handa@gnu.org>
48801         Fix outdated comments.
48803 2016-01-06  Glenn Morris  <rgm@gnu.org>
48805         Allow creation of loaddefs files without timestamps.
48807         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
48808         (autoload-generate-file-autoloads, update-directory-autoloads):
48809         If autoload-timestamps is nil, write "t" instead of file timestamp.
48810         (autoload-find-destination, update-directory-autoloads):
48811         If timestamp is "t", use the modtime of the output file instead.
48813 2016-01-06  Glenn Morris  <rgm@gnu.org>
48815         Doc tweaks.
48817         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
48818         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
48819         (calendar-iso-from-absolute):
48820         * lisp/calendar/cal-tex.el (cal-tex-comment):
48821         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
48823 2016-01-06  Glenn Morris  <rgm@gnu.org>
48825         Build tweaks related to tags files.
48827         * lib-src/Makefile.in (tagsfiles): New variable.
48828         (TAGS): Also depend on the source files.  Use our own etags program.
48829         * lisp/Makefile.in (ETAGS): Add EXEEXT.
48830         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
48831         Remove.
48832         (tagsfiles): New, replacing lisptagsfiles1 etc.
48833         Remove irrelevant source files here rather than in the TAGS rule.
48834         (${ETAGS}): New rule.
48835         (TAGS): Also depend on the etags executable.
48836         * lwlib/Makefile.in (EXEEXT): New, set by configure.
48837         (ETAGS): Add EXEEXT.
48838         (${ETAGS}): New rule.
48839         (ctagsfiles): Use "wildcard".
48840         (TAGS): Also depend on the etags executable.
48841         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
48842         (${ETAGS}): New rule.
48843         (TAGS): Fix dependencies.
48844         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
48845         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
48846         Remove "-t" argument.
48847         (${ETAGS}): New rule.
48848         (tagsfiles): New variable.
48849         (TAGS): New rule, with proper dependencies.
48850         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
48851         (ctagsfiles1, ctagsfiles2): Use "wildcard".
48852         (ctagsfiles3): Remove.
48853         (TAGS): Depend on etags.
48854         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
48855         directories decide if updates are needed.
48857 2016-01-06  Glenn Morris  <rgm@gnu.org>
48859         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
48861 2016-01-06  Glenn Morris  <rgm@gnu.org>
48863         * test/lisp/emacs-lisp/package-tests.el
48865         (package-test-macro-compilation): Fixup branch merge.
48867 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
48869         Fix fallout from merging emacs-25 branch in test/
48871         * .gitignore: Update for the new place of biditest.txt.
48872         * test/automated/: Directory removed.  All files moved to their
48873         proper places.
48874         * test/etags/: Directory removed.  All files moved to their proper
48875         places.
48876         * test/automated/url-parse-tests.el: File removed; it was an exact
48877         copy of the same file in test/lisp/url/.
48878         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
48880 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
48882         Spelling fixes
48884 2016-01-04  Daniel Colascione  <dancol@dancol.org>
48886         Let users disable unsafe signal handling code
48888         * src/keyboard.c (syms_of_keyboard): New user variables
48889         `attempt-stack-overflow-recovery' and
48890         `attempt-orderly-shutdown-on-fatal-signal'.
48891         * src/sysdep.c (stack_overflow): Check
48892         `attempt-stack-overflow-recovery'.
48893         * src/emacs.c (terminate_due_to_signal): Check
48894         `attempt-orderly-shutdown-on-fatal-signal'.
48896 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
48898         * configure.ac: Add error message for gfile on Nextstep.
48900 2016-01-02  John Wiegley  <johnw@newartisans.com>
48902         Merge branch 'emacs-25-merge'
48904 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48906         Align textually on fix done for emacs-25 branch for bug#21054
48908         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
48909         and useless `(if t ...)' in order to align textually on fix done for
48910         emacs-25 branch for bug#21054.
48912 2016-01-01  K. Handa  <handa@gnu.org>
48914         support rendering of wider range of combinging characters by ftfont backend
48916         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
48917         supports rendering of combining characters, call
48918         font-shape-gstring.
48920         * src/font.c (Ffont_get): Handle `combining-capability' property.
48921         (syms_of_font): New symbol ":combining-capability'.
48923         * src/font.h (struct font_driver): New member combining_capability.
48925         * src/ftfont.c: Include "category.h".
48926         (ftfont_driver): Initialize combining_capability to
48927         ftfont_combining_capability.
48928         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
48929         FLT in advance.
48930         (ftfont_combining_capability): New function.
48932 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
48934         Add notes on bug triage procedure
48936         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
48937         * admin/notes/triage: New file explaining triage procedure.
48939 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48941         Correct ses-rename-cell cursor-intangible text prop updating.
48943         There were two problems:
48945         - First ses-rename-cell has to work when called non interactively
48946           (with non-nil CELL argument), so in this case the start pos of
48947           put-text-property cannot be plainly (point), you need a
48948           ses-goto-print call before
48950         - Second, the range itself was computed erronously, only the first
48951           char was affected instead of the full cell width. This was not
48952           noticeable prior to changes (Deprecate `intangible' and
48953           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
48955         * lisp/ses.el (ses-rename-cell): Correct computation of position range
48956         to which the 'cursor-intangible text property has to be set to cell
48957         new name.
48959 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48961         Don't fake empty cells value by "" when printing with a lambda.
48963         When using a lambda expression printer function the user should be
48964         free to format differently a really empty cell, ie. containing nil,
48965         from a cell containing an empty string "".
48967         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
48968         `value' in the case of a lambda expression printer function.
48970         * doc/misc/ses.texi (Printer functions): Add example and
48971         description about lambda expression printer function handling all
48972         the possible values, including unexpected ones.
48974 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48976         Quick temporary hack to fix curcell refreshing.
48978         The problem was caused by change: 2015-04-13 Deprecate `intangible'
48979         and `point-entered' properties. The problem is that this change has
48980         removed the (setq ses--curcell t) setting in the ses-command-hook
48981         function.
48983         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
48984         a condition to call function `ses-set-curcell'. Comment this as a quick
48985         temporary hack to make it work, as I don't know yet whether a definite
48986         correction would be to make the ses-set-curcell at every ses-check-curcell,
48987         or to revert to the previous approach, ie marking ses--curcell as out-of-date
48988         at every potentially cursor motion command.
48990 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48992         Restrictive URL checking tweaks
48994         * lisp/net/eww.el (eww): Check whether the domain is
48995         restrictive instead of the string
48996         (http://македонија.icom.museum is restrictive even if each
48997         part is from a different script).
48999 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49001         New function `puny-highly-restrictive-domain-p'
49003         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
49004         (puny-highly-restrictive-domain-p): New function.
49006 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49008         eww build fix (require puny)
49010 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49012         Transform non-restrictive domains to punycode for display
49014         * lisp/net/eww.el (eww): Check whether the domain is Highly
49015         Restrictive in the Unicode IDNA sense.
49017 2015-12-29  John Wiegley  <johnw@newartisans.com>
49019         Merge emacs-25 into master (using imerge)
49021 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
49023         Further Unicode restrictive fixups
49025         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
49026         identifier characters from table 3.
49028 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
49030         Add a new function to say whether a string is restrictive
49032         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
49034 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49036         Mention the new puny.el library
49038 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49040         IDNA-related fixes for the URL library
49042         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
49043         the Host: header.
49045         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
49046         domain names, but leave them as UTF-8, so that they can be
49047         IDNA-encoded later when contacting the host.
49049 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49051         IDNA-encode all domain names in `open-network-stream'
49053         * lisp/net/network-stream.el (open-network-stream)
49054         (network-stream-open-plain, network-stream-open-starttls):
49055         IDNA-encode all domain names, if needed.
49057 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49059         Fix puny-encoding all-non-ASCII domains
49061         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
49062         encoding case.
49064 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49066         shr link traversal fixup
49068         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
49070 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49072         Reconnect erc even on server errors
49074         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
49075         reconnect even if a server error has occurred (bug#18527).
49077 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49079         Fix punycode short circuit logic
49081         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
49083 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49085         IDNA speed up
49087         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
49089 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49091         Add IDNA domain encode/decode functions
49093         * lisp/net/puny.el (puny-decode-domain): New function.
49094         (puny-encode-domain): Ditto.
49095         (puny-decode-digit): Fix digit decoding error.
49097 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49099         Rename idna.el to puny.el
49101         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
49102         the external idna.el library.
49104 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
49106         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
49108         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
49109         Don't use split-string with 4th arg for old Emacsen compatibility.
49111 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49113         * lisp/net/idna.el (idna-decode-string-internal): Implement
49114         decoding.
49116 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49118         Further IDNA tweaks
49120         (idna-encode-string): Make idna-encode-string safe for
49121         non-ASCII use.
49123 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49125         Clean up the code slightly
49127 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49129         Added basic idna encoding support
49131         * lisp/net/idna.el: New file.
49133 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
49135         Disconnection fixes for erc
49137         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
49138         reconnect if the user has disconnected explicitly (bug#4589).
49140 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
49142         Further erc asynch fixes
49144         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
49145         erc-server-connect to return even if the connection is not
49146         ready.  Then erc-open and erc-server-reconnect do the
49147         same. (bug#5650).
49149 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
49151         Make erc connect asynchronously
49153         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
49154         reconnect asynchronously.
49156         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
49158 2015-12-27  David Edmondson  <dme@dme.org>
49160         Proxy error in erc with multiple clients
49162         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
49163         generated when multiple IRC clients talk to a single IRC proxy
49164         (bug#19034).
49166 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
49168         Fix mml-sec build warnings
49170         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
49171         (bug#18718).
49173 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49175         (eww-setup-buffer): Restore left-to-right defaults
49177         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
49179 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49181         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
49183 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
49185         Identify unsafe combinations of Bcc and encryption
49187         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
49188         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
49189         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
49191 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
49193         * shr.el (shr-descend): Allow using lambdas in external functions.
49195 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
49197         * admin/gitmerge.el: Tweaks that seemed necessary
49199         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
49200         (gitmerge-maybe-resume): Provide explicit empty commit message.
49202 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
49204         Use a different port for TLS erc
49206         * lisp/erc/erc.el (erc-default-port-tls): New variable
49207         (bug#19497).
49208         * lisp/erc/erc.el (erc-tls): Use it.
49210 2015-12-25  Alain Schneble  <a.s@realize.ch>
49212         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
49214         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
49215         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
49216         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
49217         information in URL-struct.
49218         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
49219         path and query into nil path and query, respectively.
49220         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
49221         empty path into an absolute ("/") path.
49222         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
49223         fragment-only URIs. Do not just return them unchanged.
49224         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
49225         reference URI should not drop the last segment.
49227 2015-12-25  Alain Schneble  <a.s@realize.ch>
49229         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
49231         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
49232         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
49233         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
49234         information in URL-struct.
49235         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
49236         path and query into nil path and query, respectively.
49237         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
49238         empty path into an absolute ("/") path.
49239         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
49240         fragment-only URIs. Do not just return them unchanged.
49241         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
49242         reference URI should not drop the last segment.
49244 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49246         Let url use default file modes when copying files
49248         * lisp/url/url-handlers.el (url-copy-file): Use default file
49249         modes when copying files (bug#11400).
49251 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
49253         Doc fix for url-http
49255         * lisp/url/url-http.el (url-http): Document better return values
49256           (bug#13187) (tiny change)
49258 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49260         * eww.el (eww-display-html): Support <button> tags (bug#20485).
49262 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49264         Made ffap-url-p a defun instead of a defsubst
49266         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
49267         since there doesn't seem to be much of a reason for it to be a
49268         defsubst (bug#18203).
49270 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49272         Add a command to view files in the browser to dired
49274         * lisp/dired.el (dired-mode-map): Add the `W' command
49275         (bug#18810).
49277 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49279         Allow http://user:pass@foo/ URLs again
49281         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
49282         user/passwords in URLs (bug#19046).
49284 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49286         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
49288 2015-12-25  Samer Masterson  <samer@samertm.com>
49290         Autoload url-insert-buffer-contents
49292         * lisp/url/url-handlers.el: Add autoload cookie so that
49293         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
49295 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49297         Allow toggling colors in eww
49299         * doc/misc/eww.texi (Basics): Mention "C".
49301         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
49303         * lisp/net/shr.el (shr-use-colors): New variable.
49304         (shr-colorize-region): Use it.
49306 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49308         Follow meta refresh tags in eww
49310         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
49312 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49314         More eww file name coding fixes
49316         * eww.el (eww-decode-url-file-name): Use the base coding
49317         system to check for encodability.
49319 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49321         Always save eww history
49323         * eww.el (eww-setup-buffer): Always save history, even when
49324         called from outside the eww buffer (bug#19638).
49326 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49328         Default web pages to right-to-left
49330         * eww.el (eww-mode): Most web pages are left-to-right, so make
49331         that the default (bug#19801).
49333         * shr.el (shr-tag-html): Respect "dir" attributes
49334         (left-to-right, right-to-left).
49336 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49338         Make toggling checkboxes work again
49340         * eww.el (eww-update-field): Make toggling checkboxes work
49341         again (bug#21881).
49343 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49345         Don't store cookies with empty names
49347         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
49348         cookies with empty names (bug#21936).
49350 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49352         Stop rendering HTML before specdlr exhaustion
49354         Fixes: 22117
49356         * shr.el (shr-descend): Stop rendering before we run out of
49357         specpdl room (bug#22117).
49359 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49361         Use cl-reduce, not reduce.
49363 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49365         Allow several <tbody> tags in shr
49367         * shr.el (shr-table-body): New function to find the real body
49368         of a table.
49369         (shr-tag-table): Use it to render several <tbody> tags in a
49370         table (bug#22170).
49372 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49374         Make prettier unique file names in eww
49376         (eww-make-unique-file-name): Make unique file names by making
49377         files like foo(2).jpg instead of foo(1)(2).jpg.
49379 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49381         Decode hex-encoded URLs before using them as file names
49383         * eww.el (eww-decode-url-file-name): New function.
49384         (eww-download-callback): Use it to decode file names before
49385         saving them.
49387 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
49389         Add FreeBSD cert bundle
49391         * doc/misc/emacs-gnutls.texi (Help For Users): Document
49392         FreeBSD bundle.
49394         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
49396 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49398         Allow overriding shr functions from eww
49400         * eww.el (eww-display-html): Allow overriding elements in
49401         `shr-external-rendering-functions'.
49403 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49405         Ignore invalid SVG images
49407         * shr.el (shr-tag-svg): Ignore SVG images that have no width
49408         or height, because these can't be displayed by ImageMagick,
49409         anyway.
49411 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49413         shr table rendering fix
49415         * shr.el (shr-tag-table): Allow rendering body-less tables
49416         that have headers.
49418 2015-12-22  Sam Steingold  <sds@gnu.org>
49420         clipboard should still work even if interprogram-* is disabled
49422         (clipboard-yank): When `interprogram-cut-function' is nil,
49423         bind it to `gui-selection-value' - the default value.
49424         (clipboard-kill-region, clipboard-kill-ring-save): When
49425         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
49426         the default value.
49428 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
49430         Fix bootstrap issue with dired-loaddefs
49432         * lisp/dired.el: Autoloads for secondary files loaded optionally.
49434 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49436         dired generate autoloads to non-versioned file.
49438         * lisp/dired.el: Remove autoloads.
49439         * lisp/Makefile.in: Add dired to autogenel.
49440         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
49441         * test/lisp/dired-tests.el: Add new test.
49443 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49445         eieio generate autoloads to non-versioned file.
49447         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
49448         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
49449           Remove autoloads.
49450         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
49451           lisp/emacs-lisp/eieio-opt.el: Update file local.
49452         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
49454 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49456         htmlfontify generate autoload to non-versioned file.
49458         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
49459         * lisp/hfy-cmap.el: Update file local.
49460         * lisp/htmlfontify.el: Remove autoloads, add require.
49461         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
49463 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49465         ibuffer generate autoloads to non-versioned file.
49467         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
49468         * lisp/ibuf-ext.el: Update file local.
49469         * lisp/ibuffer.el: Remove autoloads and add a require.
49470         * test/lisp/ibuffer-tests.el: Test that autoload is working.
49472 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49474         rmail generate autoloads to non-versioned file.
49476         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
49477         * lisp/mail/rmail.el: Remove autoloads, add require.
49478         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
49479         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
49480         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
49481         * lisp/mail/undigest.el: Update file-local.
49482         * test/lisp/mail/rmail-tests.el:
49484 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49486         Add autoload-force target.
49488         * lisp/Makefile.in (autoload-force): New target.
49490 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49492         ps-print generate autoloads to non versioned file.
49494         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
49495         * lisp/ps-print.el: Remove autoloads.
49496         * lisp/ps-mule.el: Update file-local.
49497         * test/lisp/ps-print-tests.el: Test autoload functionality.
49499 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49501         reftex generate autoloads to non versioned file.
49503         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
49504         * lisp/textmodes/reftex.el: Remove autoloads.
49505         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
49506         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
49507         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
49508         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
49509         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
49510         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
49511           function.
49513 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
49515         * lisp/calculator.el (calculator-define-key): Undo last change
49517         Make map argument mandatory instead (bug#22106).
49518         (calculator-add-operators): Pass the argument that's not optional any more.
49520 2015-12-03  Glenn Morris  <rgm@gnu.org>
49522         * Makefile.in: Avoid duplication.
49524         (have-tests): New rule.
49525         (check, check-maybe): Use it.
49527 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
49529         make check unconditional, check-maybe top-level.
49531          * Makefile.in: Add check-maybe target.
49532          * test/Makefile.in: Restore unconditional behaviour to make check.
49534 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
49536         Tests now support out-of-source-build.
49538          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
49539            about current working directory.
49541 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
49543         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
49545 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
49547         Improve documentation and clean up.
49549          * test/Makefile.in: Improve documentation, use EMACS variable
49550            correctly, and clean up makefile rules.
49552 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
49554         Update file headers for name change.
49556          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
49558 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
49560         Test files renamed to new scheme.
49562          * (finalizer-tests.el): Now renamed alloc-tests.el
49563          * (zlib-tests.el): Now renamed decompress-tests.el.
49565 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
49567         Tests now depend on source files
49569          * test/Makefile.in: Include dependences from tests to source files.
49570          * test/make-test-deps.emacs-lisp: New file
49571          * .gitignore: Ignore generated make include file
49573 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
49575         * lisp/progmodes/which-func.el: Improve disabling the mode
49577         Use lexical-binding.
49578         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
49579         (which-func, which-func-format): Remove redundant :group arg.
49580         (which-func-try-to-enable): New function.
49581         (which-func-ff-hook, which-function-mode): Use it.
49582         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
49583         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
49585 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
49587         * lisp/calculator.el (calculator-define-key): Silence warning
49589         ...about unknown calculator-mode-map.
49591 2015-11-29  Eli Barzilay  <eli@barzilay.org>
49593         * lisp/calculator.el: more improvements and bugfixes.
49595         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
49596           effect anyway.)
49598         - Simplify `calculator-number-to-string' by throwing most of the work
49599           onto `number-to-string', leaving just some tweaks for decimal inputs.
49600           This leads to some minor changes, for example, pasting "1x1" in hex
49601           mode would warn that "x" is ignored and result in "11" (and it wasn't
49602           done in decimal mode), whereas now it just ignores everything from the
49603           "x" and on and result in a "1" just like in decimal input mode.  Also,
49604           overflows are left for `number-to-string' to deal with.
49606         - `calculator-paste' is very simple as a result.
49608         - Extend the simplified `calculator-paste': with a prefix argument it
49609           pastes a string as if the characters were entered.  This can be used
49610           to reduce expressions, but note that it's a simple literal operation,
49611           so precedence can be messed, a number can be paster while entering a
49612           number, spaces and newlines matter, etc.
49614         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
49615           operator.
49617         - Fix a bug in `calculator-put-value': avoid grouping in the display
49618           that is used to construct `calculator-curnum'.  This would trigger
49619           when pasting or getting a value from a register in some radix mode
49620           with a large enough value.  Another fix: make the output radix equal
49621           the input one, otherwise numbers could be converted twice.
49623 2015-11-29  Eli Barzilay  <eli@barzilay.org>
49625         * lisp/calculator.el: Re-do key bindings.
49627         Use a helper function that arranges a parent keymap that binds alternate
49628         case keys so if some letter key is unbound and it's un/shifted version
49629         is, it will get used.  This makes the global-map trickery unnecessary.
49631         Also switch to passing strings that name keys through `kbd'.
49633 2015-11-29  Eli Barzilay  <eli@barzilay.org>
49635         * lisp/calculator.el: improve radix modes
49637         Fix prompt for some input radix with decimal output (eg, "BD" instead of
49638         the incorrect "B="); also, some minor docstring tweaks for these.
49640 2015-11-29  Eli Barzilay  <eli@barzilay.org>
49642         * lisp/calculator.el: better reading of register names
49644         Use `register-read-with-preview' with a dynamically bound
49645         `register-alist' and a proper preview function to read register names.
49647 2015-11-29  Eli Barzilay  <eli@barzilay.org>
49649         * lisp/calculator.el: General improvements
49651         Use things like `when', `unless', and `push'.
49653         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
49654         non-electric mode.
49656 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
49658         Fix a problem with gfilenotify in filenotify-tests.el
49660         * test/lisp/filenotify-tests.el
49661         (file-notify--test-expected-events): Remove.
49662         (file-notify--test-cleanup): Do not set that variable.
49663         (file-notify--test-with-events): EVENTS can also be a list of lists.
49664         (file-notify-test02-events, file-notify-test04-file-validity):
49665         Adapt expected result.
49667 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
49669         * .gitignore: Adjust to changes in 'test' directory structure.
49671 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
49673         Fix test/manual/etags/Makefile
49675         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
49676         changes in 'test' directory structure.
49678 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
49680         Exclude resource dirs from search for tests.
49682         * test/Makefile.in: Test file locations are now found with find
49683           rather than using finds native functions.
49685 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
49687         Add test targets without directory names.
49689          * (test/Makefile.in): Extend test_template to add two targets for each
49690            file.
49692 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
49694         * lisp/emacs-lisp/package.el: Require url-handlers
49696 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
49698         Move elisp-mode-tests to new function names.
49700          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
49701          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
49703 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
49705         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
49707 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
49709         Merge branch 'feature/standard-test-location'
49711 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
49713         * lisp/emacs-lisp/eieio.el: Add some default implementations
49715         (standard-class): Mark it obsolete.
49716         (slot-missing): Give it a default implementation.
49717         (destructor): Simplify and mark it obsolete.
49718         (object-print): Give it a default implementation.
49719         (eieio-change-class): Rename from change-class.
49720         (change-class): Redefine as obsolete alias.
49722 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49724         Mention kqueue in NEWS
49726 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49728         Merge from scratch/kqueue
49730         bec57a4 Some final fixes in file notification before merging with master
49731         0247489 Rework file notifications, kqueue has problems with directory monitors
49732         5154781 Continie with pending events
49733         6b490c0 Improve loops in file-notify-test06-many-events
49734         c8e266f Handle more complex rename operation in kqueue
49735         5044bdf New test with a larger number of events.
49736         65ba5a9 Further fixes for kqueue.
49737         13f3508 Code cleanup of kqueue.c
49738         99aa855 Doc changes for kqueue
49739         8deebe1 Finish implementation in kqueue.c
49740         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
49741         e95b309 More work on kqueue
49742         41d9bd0 Implement directory events
49743         c571fc1 Build fixes for kqueue support.
49744         e0a68f2 Continue kqueue implementation
49745         7543d1c Work on kqueue
49746         e3354e2 Add kqueue support
49747         c6457ce Minor fix to comment indentation and typo in last commit
49748         b92307f linum-mode plays more nicely with other margin-setting extensions
49749         58e6235 * lisp/image-mode.el: Support encrypted file
49750         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
49751         47f83b6 ; ChangeLog.2 fixes
49752         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
49753         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
49754         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
49755         70f1fda ; Auto-commit of ChangeLog files.
49756         ae0653b * CONTRIBUTE: Remove information about feature freeze.
49757         9459456 Merge branch 'release-process-lowercase'
49758         9a4aa0f Document the release process
49759         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
49760         dcd5877 gitmerge: Fix git log command
49761         2ac79ae gitmerge: Try to detect cherry-picks
49762         5f7a2a9 Increment Emacs version on master branch
49763         ed2e7e2 Mention CONTRIBUTE in README
49764         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
49765         138ad3d ; Fix warnings
49766         7126e9a ; Update xref-etags-mode for the latest change
49767         246d660 Use generic dispatch for xref backends
49768         31f6e93 Support rectangular regions for more commands
49769         f103a27 Handle multiple matches on the same line; add highlighting
49770         fe973fc Replace xref-match-bounds with xref-match-length
49771         92a5010 Merge from gnulib
49772         04ac097 Spruce up ftfont.c memory allocation
49773         4c4b520 Port recent XCB changes to 64-bit ‘long int’
49774         4f0ce9c * src/undo.c (run_undoable_change): Now static.
49775         695a6f9 Remove support for ':timeout' from w32 tray notifications
49776         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
49777         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
49778         66b9f7b * src/undo.c: Small fixes for previous change
49779         2fac30e Add a few more variables to redisplay--variables
49780         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
49781         e221d32 Fix point positioning after transposing with negative arg
49782         35f5afb Fix last change in shr.el
49783         508e77b Fix last change
49784         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
49785         805a39b Remove intern calls and XXX comments from Fx_export_frames
49786         9463abf shr: don't invoke unbound function (Bug#21895)
49787         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
49788         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
49789         39dbd1c : Tests for undo-auto functionality.
49790         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
49791         44dfa86 The heuristic that Emacs uses to add an `undo-boundary' has been reworked, as it interacts poorly with functions on `post-command-hook' or `after-change-functions'.
49792         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
49793         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
49794         1e363a8 Enable sorting of JSON object keys when encoding
49795         9dd7da9 * test/automated/keymap-tests.el: New test file
49796         aa17de9 Speed up x_real_pos_and_offsets using XCB
49797         a838c83 Enable use of XCB for checking window manager state
49798         c7f2b6a Detect XCB and save a connection handle
49799         e1c27db Reduce some data dependencies between X calls
49800         25e32bd Use color cache for creating bitmap
49801         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
49802         055ca3a Sync with soap-client repository, version 3.0.2
49803         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
49804         952395d * lisp/obarray.el: Fix shadowed variables
49805         436d330 Avoid error in submitting a form with EWW
49806         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
49807         51d840a Rename seq-p and map-p to seqp and mapp
49808         23036ba Rename obarray-p to obarrayp
49809         20aea42 Rename obarray-foreach to obarray-map
49810         a3b2101 New file with obarray functions.
49811         9d43941 Implement tray notifications for MS-Windows
49813 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49815         Some final fixes in file notification before merging with master
49817         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
49818         (file-notify-callback): Improve check for `stopped' event.  Call
49819         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
49820         (file-notify-add-watch): In case FILE is not a directory, call the
49821         file monitor for the kqueue backend.  Otherwise, call the
49822         directory monitor for the upper directory.
49824         * src/inotify.c (inotifyevent_to_event): Extract file name from
49825         watch_object if the event doesn't provide it.
49826         (Finotify_add_watch): Add file name to watch_object.
49828         * test/automated/file-notify-tests.el (file-notify--test-timeout):
49829         Use different timeouts for different libraries.
49830         (file-notify--test-with-events): Suppress lock files.  Flush
49831         outstanding events before running the body.
49832         (file-notify-test02-events, file-notify-test04-file-validity): Do
49833         not skip cygwin tests.  Add additional test for file creation.
49834         Adapt expected result for different backends.
49835         (file-notify-test03-autorevert): Some of the tests don't work for
49836         w32notify.
49837         (file-notify-test06-many-events): Rename into both directions.
49839 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49841         Rework file notifications, kqueue has problems with directory monitors
49843         * lisp/filenotify.el (file-notify-add-watch): Call the native
49844         add-watch function on the file, not on the dir.
49846         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
49847         about already deleted entries.
49849         * test/automated/auto-revert-tests.el
49850         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
49851         since this deletes the target file first.
49853         * test/automated/file-notify-tests.el (file-notify--test-event-test):
49854         Make stronger checks.
49855         (file-notify-test01-add-watch, file-notify-test02-events)
49856         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
49857         Rewrite in order to call file monitors but directory monitors.
49858         (file-notify-test06-many-events): Ler rename work in both directions.
49860 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49862         Continie with pending events
49864         * src/kqueue.c (pending_events): Remove global variable.
49865         (kqueue_compare_dir_list): Create `write' event for not used
49866         pending events.
49867         (globals_of_kqueue): Remove initialization of pending_events.
49869 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49871         Improve loops in file-notify-test06-many-events
49873         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
49874         Use `read-event' pauses for the `write-file' loops; otherwise
49875         events are lost in inotify and gfilenotify cases.
49877 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49879         Handle more complex rename operation in kqueue
49881         * src/kqueue.c (pending_events): New variable.
49882         (kqueue_compare_dir_list): Handle more complex rename operation.
49883         (globals_of_kqueue): Initialize pending_events.
49885         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
49886         Adapt expected events in the `rename-file' case.
49887         (file-notify-test06-many-events-remote): Declare.
49889 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
49891         New test with a larger number of events.
49893         * test/automated/file-notify-tests.el (file-notify--test-with-events):
49894         Make timeout heuristically depend on the number of events.
49896         (file-notify-test06-many-events): Use it for new test.
49898 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49900         Further fixes for kqueue.
49902         * lisp/filenotify.el (file-notify-callback): Raise also event if
49903         directory name matches.
49904         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
49906         * src/kqueue.c (kqueue_generate_event): Use watch_object as
49907         argument instead of ident.  Remove callback argument.  Adapt
49908         callees.  Check actions whether they are monitored flags.
49910         * test/automated/file-notify-tests.el (file-notify--test-library):
49911         New defun.
49912         (file-notify-test00-availability, file-notify-test02-events)
49913         (file-notify-test04-file-validity)
49914         (file-notify-test05-dir-validity): Use it.
49915         (file-notify-test02-events, file-notify-test04-file-validity): Add
49916         `read-event' calls between different file actions, in order to
49917         give the backends a chance to rais an event.  Needed especially
49918         for kqueue.  In case of deleting a directory, there are two
49919         `deleted' events.
49921 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49923         Code cleanup of kqueue.c
49925         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
49926         (kqueue_compare_dir_list): Do not loop when calling
49927         directory_files_internal.  Remove checks for "." and "..", this is
49928         done in kqueue_directory_listing now.
49929         (Fkqueue_add_watch): Check for proper emacs_open flags.
49931 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49933         Doc changes for kqueue
49935         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
49936         Fix some glitches in the example.
49938 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49940         Finish implementation in kqueue.c
49942         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
49943         Simplify access to list.
49944         (kqueue_compare_dir_list): Simplify access to list.  Raise
49945         `delete' event if directory does not exist any longer.  Otherwise,
49946         wait until directory contents has changed.  Fix error in check.
49948 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49950         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
49952 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49954         More work on kqueue
49956         * lisp/filenotify.el (file-notify-callback): Handle also the
49957         `rename' event from kqueue.
49958         (file-notify-add-watch): Do not register an entry twice.
49960         * src/kqueue.c (kqueue_directory_listing): New function.
49961         (kqueue_generate_event): New argument FILE1.  Adapt callees.
49962         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
49964 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49966         Implement directory events
49968         * lisp/filenotify.el (file-notify-handle-event)
49969         (file-notify-callback): Remove traces.
49971         * src/kqueue.c: Include <sys/time.h>.
49972         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
49973         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
49974         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
49975         Compute initial directory listing.  Close file descriptor in case
49976         of errors.
49977         (syms_of_kqueue): Declare Qcreate.
49979 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
49981         Build fixes for kqueue support.
49983         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
49984         flag.
49986         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
49987         kqueue on *BSD.
49989 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
49991         Continue kqueue implementation
49993         * lisp/filenotify.el (file-notify-handle-event)
49994         (file-notify-callback): Enable trace messages.
49996         * src/kqueue.c: Include also <sys/types.h>.
49997         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
49998         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
49999         (syms_of_kqueue): Add them.
50001 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50003         Work on kqueue
50005         * lisp/filenotify.el (file-notify--library)
50006         (file-notify-descriptors, file-notify-callback)
50007         (file-notify-add-watch, file-notify-rm-watch)
50008         (file-notify-valid-p): Add kqueue support.
50010         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
50012 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50014         Add kqueue support
50016         * configure.ac (--with-file-notification): Add kqueue.
50017         (top): Remove special test for "${HAVE_NS}" and
50018         ${with_file_notification}, this is handled inside gfilenotify
50019         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
50020         instead of library specific variables.
50022         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
50024         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
50026         * src/kqueue.c: New file.
50028         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
50030 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50032         Some final fixes in file notification before merging with master
50034         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
50035         (file-notify-callback): Improve check for `stopped' event.  Call
50036         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
50037         (file-notify-add-watch): In case FILE is not a directory, call the
50038         file monitor for the kqueue backend.  Otherwise, call the
50039         directory monitor for the upper directory.
50041         * src/inotify.c (inotifyevent_to_event): Extract file name from
50042         watch_object if the event doesn't provide it.
50043         (Finotify_add_watch): Add file name to watch_object.
50045         * test/automated/file-notify-tests.el (file-notify--test-timeout):
50046         Use different timeouts for different libraries.
50047         (file-notify--test-with-events): Suppress lock files.  Flush
50048         outstanding events before running the body.
50049         (file-notify-test02-events, file-notify-test04-file-validity): Do
50050         not skip cygwin tests.  Add additional test for file creation.
50051         Adapt expected result for different backends.
50052         (file-notify-test03-autorevert): Some of the tests don't work for
50053         w32notify.
50054         (file-notify-test06-many-events): Rename into both directions.
50056 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50058         Update elisp-mode-tests for changed file location.
50060          * test/lisp/progmodes/elisp-mode-tests.el:
50062 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50064         Exclude manual tests from Makefile
50066          * test/Makefile.in:
50068 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50070         Move package test files to new directory.
50072          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
50073          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
50075 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50077         Restore delete Makefiles and fix .gitignore.
50079          * .gitignore: Update Makefiles to changed locations
50080          * test/lisp/progmodes/flymake-resources/Makefile,
50081            test/manual/etags/Makefile,
50082            test/manual/etags/make-src/Makefile,
50083            test/manual/indent/Makefile: Restored and moved to new location.
50085 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50087         Test infrastructure: updates after directory move
50089          * (test/Makefile.in): Support directories several levels deep.
50090          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
50091          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
50093 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50095         Rename all test files to reflect source layout.
50097         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
50098         test directory moves.
50099         * test/file-organisation.org: New file.
50100         * test/automated/Makefile.in:
50101         * test/automated/data/decompress/foo.gz:
50102         * test/automated/data/epg/pubkey.asc:
50103         * test/automated/data/epg/seckey.asc:
50104         * test/automated/data/files-bug18141.el.gz:
50105         * test/automated/data/flymake/test.c:
50106         * test/automated/data/flymake/test.pl:
50107         * test/automated/data/package/archive-contents:
50108         * test/automated/data/package/key.pub:
50109         * test/automated/data/package/key.sec:
50110         * test/automated/data/package/multi-file-0.2.3.tar:
50111         * test/automated/data/package/multi-file-readme.txt:
50112         * test/automated/data/package/newer-versions/archive-contents:
50113         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
50114         * test/automated/data/package/newer-versions/simple-single-1.4.el:
50115         * test/automated/data/package/package-test-server.py:
50116         * test/automated/data/package/signed/archive-contents:
50117         * test/automated/data/package/signed/archive-contents.sig:
50118         * test/automated/data/package/signed/signed-bad-1.0.el:
50119         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
50120         * test/automated/data/package/signed/signed-good-1.0.el:
50121         * test/automated/data/package/signed/signed-good-1.0.el.sig:
50122         * test/automated/data/package/simple-depend-1.0.el:
50123         * test/automated/data/package/simple-single-1.3.el:
50124         * test/automated/data/package/simple-single-readme.txt:
50125         * test/automated/data/package/simple-two-depend-1.1.el:
50126         * test/automated/abbrev-tests.el:
50127         * test/automated/auto-revert-tests.el:
50128         * test/automated/calc-tests.el:
50129         * test/automated/icalendar-tests.el:
50130         * test/automated/character-fold-tests.el:
50131         * test/automated/comint-testsuite.el:
50132         * test/automated/descr-text-test.el:
50133         * test/automated/electric-tests.el:
50134         * test/automated/cl-generic-tests.el:
50135         * test/automated/cl-lib-tests.el:
50136         * test/automated/eieio-test-methodinvoke.el:
50137         * test/automated/eieio-test-persist.el:
50138         * test/automated/eieio-tests.el:
50139         * test/automated/ert-tests.el:
50140         * test/automated/ert-x-tests.el:
50141         * test/automated/generator-tests.el:
50142         * test/automated/let-alist.el:
50143         * test/automated/map-tests.el:
50144         * test/automated/advice-tests.el:
50145         * test/automated/package-test.el:
50146         * test/automated/pcase-tests.el:
50147         * test/automated/regexp-tests.el:
50148         * test/automated/seq-tests.el:
50149         * test/automated/subr-x-tests.el:
50150         * test/automated/tabulated-list-test.el:
50151         * test/automated/thunk-tests.el:
50152         * test/automated/timer-tests.el:
50153         * test/automated/epg-tests.el:
50154         * test/automated/eshell.el:
50155         * test/automated/faces-tests.el:
50156         * test/automated/file-notify-tests.el:
50157         * test/automated/auth-source-tests.el:
50158         * test/automated/gnus-tests.el:
50159         * test/automated/message-mode-tests.el:
50160         * test/automated/help-fns.el:
50161         * test/automated/imenu-test.el:
50162         * test/automated/info-xref.el:
50163         * test/automated/mule-util.el:
50164         * test/automated/isearch-tests.el:
50165         * test/automated/json-tests.el:
50166         * test/automated/bytecomp-tests.el:
50167         * test/automated/coding-tests.el:
50168         * test/automated/core-elisp-tests.el:
50169         * test/automated/decoder-tests.el:
50170         * test/automated/files.el:
50171         * test/automated/font-parse-tests.el:
50172         * test/automated/lexbind-tests.el:
50173         * test/automated/occur-tests.el:
50174         * test/automated/process-tests.el:
50175         * test/automated/syntax-tests.el:
50176         * test/automated/textprop-tests.el:
50177         * test/automated/undo-tests.el:
50178         * test/automated/man-tests.el:
50179         * test/automated/completion-tests.el:
50180         * test/automated/dbus-tests.el:
50181         * test/automated/newsticker-tests.el:
50182         * test/automated/sasl-scram-rfc-tests.el:
50183         * test/automated/tramp-tests.el:
50184         * test/automated/obarray-tests.el:
50185         * test/automated/compile-tests.el:
50186         * test/automated/elisp-mode-tests.el:
50187         * test/automated/f90.el:
50188         * test/automated/flymake-tests.el:
50189         * test/automated/python-tests.el:
50190         * test/automated/ruby-mode-tests.el:
50191         * test/automated/subword-tests.el:
50192         * test/automated/replace-tests.el:
50193         * test/automated/simple-test.el:
50194         * test/automated/sort-tests.el:
50195         * test/automated/subr-tests.el:
50196         * test/automated/reftex-tests.el:
50197         * test/automated/sgml-mode-tests.el:
50198         * test/automated/tildify-tests.el:
50199         * test/automated/thingatpt.el:
50200         * test/automated/url-future-tests.el:
50201         * test/automated/url-util-tests.el:
50202         * test/automated/add-log-tests.el:
50203         * test/automated/vc-bzr.el:
50204         * test/automated/vc-tests.el:
50205         * test/automated/xml-parse-tests.el:
50206         * test/BidiCharacterTest.txt:
50207         * test/biditest.el:
50208         * test/cedet/cedet-utests.el:
50209         * test/cedet/ede-tests.el:
50210         * test/cedet/semantic-ia-utest.el:
50211         * test/cedet/semantic-tests.el:
50212         * test/cedet/semantic-utest-c.el:
50213         * test/cedet/semantic-utest.el:
50214         * test/cedet/srecode-tests.el:
50215         * test/cedet/tests/test.c:
50216         * test/cedet/tests/test.el:
50217         * test/cedet/tests/test.make:
50218         * test/cedet/tests/testdoublens.cpp:
50219         * test/cedet/tests/testdoublens.hpp:
50220         * test/cedet/tests/testfriends.cpp:
50221         * test/cedet/tests/testjavacomp.java:
50222         * test/cedet/tests/testnsp.cpp:
50223         * test/cedet/tests/testpolymorph.cpp:
50224         * test/cedet/tests/testspp.c:
50225         * test/cedet/tests/testsppcomplete.c:
50226         * test/cedet/tests/testsppreplace.c:
50227         * test/cedet/tests/testsppreplaced.c:
50228         * test/cedet/tests/testsubclass.cpp:
50229         * test/cedet/tests/testsubclass.hh:
50230         * test/cedet/tests/testtypedefs.cpp:
50231         * test/cedet/tests/testvarnames.c:
50232         * test/etags/CTAGS.good:
50233         * test/etags/ETAGS.good_1:
50234         * test/etags/ETAGS.good_2:
50235         * test/etags/ETAGS.good_3:
50236         * test/etags/ETAGS.good_4:
50237         * test/etags/ETAGS.good_5:
50238         * test/etags/ETAGS.good_6:
50239         * test/etags/a-src/empty.zz:
50240         * test/etags/a-src/empty.zz.gz:
50241         * test/etags/ada-src/2ataspri.adb:
50242         * test/etags/ada-src/2ataspri.ads:
50243         * test/etags/ada-src/etags-test-for.ada:
50244         * test/etags/ada-src/waroquiers.ada:
50245         * test/etags/c-src/a/b/b.c:
50246         * test/etags/c-src/abbrev.c:
50247         * test/etags/c-src/c.c:
50248         * test/etags/c-src/dostorture.c:
50249         * test/etags/c-src/emacs/src/gmalloc.c:
50250         * test/etags/c-src/emacs/src/keyboard.c:
50251         * test/etags/c-src/emacs/src/lisp.h:
50252         * test/etags/c-src/emacs/src/regex.h:
50253         * test/etags/c-src/etags.c:
50254         * test/etags/c-src/exit.c:
50255         * test/etags/c-src/exit.strange_suffix:
50256         * test/etags/c-src/fail.c:
50257         * test/etags/c-src/getopt.h:
50258         * test/etags/c-src/h.h:
50259         * test/etags/c-src/machsyscalls.c:
50260         * test/etags/c-src/machsyscalls.h:
50261         * test/etags/c-src/sysdep.h:
50262         * test/etags/c-src/tab.c:
50263         * test/etags/c-src/torture.c:
50264         * test/etags/cp-src/MDiagArray2.h:
50265         * test/etags/cp-src/Range.h:
50266         * test/etags/cp-src/burton.cpp:
50267         * test/etags/cp-src/c.C:
50268         * test/etags/cp-src/clheir.cpp.gz:
50269         * test/etags/cp-src/clheir.hpp:
50270         * test/etags/cp-src/conway.cpp:
50271         * test/etags/cp-src/conway.hpp:
50272         * test/etags/cp-src/fail.C:
50273         * test/etags/cp-src/functions.cpp:
50274         * test/etags/cp-src/screen.cpp:
50275         * test/etags/cp-src/screen.hpp:
50276         * test/etags/cp-src/x.cc:
50277         * test/etags/el-src/TAGTEST.EL:
50278         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
50279         * test/etags/erl-src/gs_dialog.erl:
50280         * test/etags/f-src/entry.for:
50281         * test/etags/f-src/entry.strange.gz:
50282         * test/etags/f-src/entry.strange_suffix:
50283         * test/etags/forth-src/test-forth.fth:
50284         * test/etags/html-src/algrthms.html:
50285         * test/etags/html-src/index.shtml:
50286         * test/etags/html-src/software.html:
50287         * test/etags/html-src/softwarelibero.html:
50288         * test/etags/lua-src/allegro.lua:
50289         * test/etags/objc-src/PackInsp.h:
50290         * test/etags/objc-src/PackInsp.m:
50291         * test/etags/objc-src/Subprocess.h:
50292         * test/etags/objc-src/Subprocess.m:
50293         * test/etags/objcpp-src/SimpleCalc.H:
50294         * test/etags/objcpp-src/SimpleCalc.M:
50295         * test/etags/pas-src/common.pas:
50296         * test/etags/perl-src/htlmify-cystic:
50297         * test/etags/perl-src/kai-test.pl:
50298         * test/etags/perl-src/yagrip.pl:
50299         * test/etags/php-src/lce_functions.php:
50300         * test/etags/php-src/ptest.php:
50301         * test/etags/php-src/sendmail.php:
50302         * test/etags/prol-src/natded.prolog:
50303         * test/etags/prol-src/ordsets.prolog:
50304         * test/etags/ps-src/rfc1245.ps:
50305         * test/etags/pyt-src/server.py:
50306         * test/etags/tex-src/gzip.texi:
50307         * test/etags/tex-src/nonewline.tex:
50308         * test/etags/tex-src/testenv.tex:
50309         * test/etags/tex-src/texinfo.tex:
50310         * test/etags/y-src/atest.y:
50311         * test/etags/y-src/cccp.c:
50312         * test/etags/y-src/cccp.y:
50313         * test/etags/y-src/parse.c:
50314         * test/etags/y-src/parse.y:
50315         * test/indent/css-mode.css:
50316         * test/indent/js-indent-init-dynamic.js:
50317         * test/indent/js-indent-init-t.js:
50318         * test/indent/js-jsx.js:
50319         * test/indent/js.js:
50320         * test/indent/latex-mode.tex:
50321         * test/indent/modula2.mod:
50322         * test/indent/nxml.xml:
50323         * test/indent/octave.m:
50324         * test/indent/pascal.pas:
50325         * test/indent/perl.perl:
50326         * test/indent/prolog.prolog:
50327         * test/indent/ps-mode.ps:
50328         * test/indent/ruby.rb:
50329         * test/indent/scheme.scm:
50330         * test/indent/scss-mode.scss:
50331         * test/indent/sgml-mode-attribute.html:
50332         * test/indent/shell.rc:
50333         * test/indent/shell.sh:
50334         * test/redisplay-testsuite.el:
50335         * test/rmailmm.el:
50336         * test/automated/buffer-tests.el:
50337         * test/automated/cmds-tests.el:
50338         * test/automated/data-tests.el:
50339         * test/automated/finalizer-tests.el:
50340         * test/automated/fns-tests.el:
50341         * test/automated/inotify-test.el:
50342         * test/automated/keymap-tests.el:
50343         * test/automated/print-tests.el:
50344         * test/automated/libxml-tests.el:
50345         * test/automated/zlib-tests.el: Files Moved.
50347 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
50349         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
50351         * lisp/progmodes/verilog-mode.el
50352         (verilog-save-font-no-change-functions): Commentary and fix
50353         pre-Emacs 21 behavior.
50355 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
50357         Rework file notifications, kqueue has problems with directory monitors
50359         * lisp/filenotify.el (file-notify-add-watch): Call the native
50360         add-watch function on the file, not on the dir.
50362         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
50363         about already deleted entries.
50365         * test/automated/auto-revert-tests.el
50366         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
50367         since this deletes the target file first.
50369         * test/automated/file-notify-tests.el (file-notify--test-event-test):
50370         Make stronger checks.
50371         (file-notify-test01-add-watch, file-notify-test02-events)
50372         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
50373         Rewrite in order to call file monitors but directory monitors.
50374         (file-notify-test06-many-events): Ler rename work in both directions.
50376 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
50378         Use obarray functions from obarray.
50380         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
50381           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
50382           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
50383           delegate to obarray.el functions.
50384         * lisp/loadup.el: load obarray before abbrev
50385         * test/automated/abbrev-tests.el: new tests
50387 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
50389         Continie with pending events
50391         * src/kqueue.c (pending_events): Remove global variable.
50392         (kqueue_compare_dir_list): Create `write' event for not used
50393         pending events.
50394         (globals_of_kqueue): Remove initialization of pending_events.
50396 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
50398         Improve loops in file-notify-test06-many-events
50400         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50401         Use `read-event' pauses for the `write-file' loops; otherwise
50402         events are lost in inotify and gfilenotify cases.
50404 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
50406         Handle more complex rename operation in kqueue
50408         * src/kqueue.c (pending_events): New variable.
50409         (kqueue_compare_dir_list): Handle more complex rename operation.
50410         (globals_of_kqueue): Initialize pending_events.
50412         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50413         Adapt expected events in the `rename-file' case.
50414         (file-notify-test06-many-events-remote): Declare.
50416 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
50418         epa.el: Add option to replace original text
50420         * lisp/epa.el (epa-replace-original-text): New user option.
50421         (Bug#21947)
50423 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
50425         Add interactive seek command.
50427         * lisp/mpc.el (mpc-cmd-seekcur): New function.
50428         (mpc-seek-current): New command.
50429         (mpc-mode-menu): Add entry for mpc-seek-current
50430         (mpc-mode-map): Bind mpc-seek-current to "g"
50432 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
50434         Fix issue where a new tempfile was created every refresh
50436         * lisp/mpc.el (mpc-format): Leave dir as relative path
50438 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
50440         New test with a larger number of events.
50442         * test/automated/file-notify-tests.el (file-notify--test-with-events):
50443         Make timeout heuristically depend on the number of events.
50445         (file-notify-test06-many-events): Use it for new test.
50447 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50449         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
50451         (c-save-buffer-state): Use with-silent-modifications when available.
50452         (c--macroexpand-all): Check macroexpand-all directly rather than
50453         c--mapcan-status.
50455 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50457         * lisp/loadup.el: Set max-lisp-eval-depth here
50459         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
50460         (BYTE_COMPILE_FLAGS): Adjust accordingly.
50462 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
50464         Further fixes for kqueue.
50466         * lisp/filenotify.el (file-notify-callback): Raise also event if
50467         directory name matches.
50468         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
50470         * src/kqueue.c (kqueue_generate_event): Use watch_object as
50471         argument instead of ident.  Remove callback argument.  Adapt
50472         callees.  Check actions whether they are monitored flags.
50474         * test/automated/file-notify-tests.el (file-notify--test-library):
50475         New defun.
50476         (file-notify-test00-availability, file-notify-test02-events)
50477         (file-notify-test04-file-validity)
50478         (file-notify-test05-dir-validity): Use it.
50479         (file-notify-test02-events, file-notify-test04-file-validity): Add
50480         `read-event' calls between different file actions, in order to
50481         give the backends a chance to rais an event.  Needed especially
50482         for kqueue.  In case of deleting a directory, there are two
50483         `deleted' events.
50485 2015-11-17  João Távora  <joaotavora@gmail.com>
50487         Minor fix to comment indentation and typo in last commit
50489         * lisp/linum.el (linum-update-window): Fix comment indentation and
50490         a typo.
50492 2015-11-17  João Távora  <joaotavora@gmail.com>
50494         linum-mode plays more nicely with other margin-setting extensions
50496         linum.el will only modify the left margin if it needs to, and will
50497         only reset the it back to 0 if it guesses that no-one has touched that
50498         margin in the meantime.
50500         As such, this is a more of a workaround than an actual fix, but fixes
50501         the problems described in bug#20674 regarding the interaction with
50502         modes such as darkroom-mode and olivetti-mode.
50504         A similar fix was commited to nlinum.el in ELPA.git's
50505         e7f5f549fbfb740b911fb7f33b42381ecece56d8
50507         * lisp/linum.el (linum-delete-overlays): Restore margins more
50508         criteriously.
50509         (linum-update-window): Set margins more criteriously.
50511 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
50513         Code cleanup of kqueue.c
50515         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
50516         (kqueue_compare_dir_list): Do not loop when calling
50517         directory_files_internal.  Remove checks for "." and "..", this is
50518         done in kqueue_directory_listing now.
50519         (Fkqueue_add_watch): Check for proper emacs_open flags.
50521 2015-11-16  Daiki Ueno  <ueno@gnu.org>
50523         * lisp/image-mode.el: Support encrypted file
50525         (image-toggle-display-image): Read content from the buffer instead
50526         of the file, if the buffer holds a decrypted data.  (Bug#21870)
50528 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
50530         Doc changes for kqueue
50532         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
50533         Fix some glitches in the example.
50535 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
50537         Finish implementation in kqueue.c
50539         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
50540         Simplify access to list.
50541         (kqueue_compare_dir_list): Simplify access to list.  Raise
50542         `delete' event if directory does not exist any longer.  Otherwise,
50543         wait until directory contents has changed.  Fix error in check.
50545 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
50547         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
50549 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
50551         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
50553 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
50555         * lisp/emacs-lisp/package.el: Fix a decoding issue
50557         (package--with-response-buffer): Use `url-insert-buffer-contents'.
50558         The previous code had some issues with decoding. Refactoring that
50559         function allows us to use the decoding from url-handlers while still
50560         treating both sync and async requests the same.
50562         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
50563         `url-insert-buffer-contents'.
50564         (url-insert-buffer-contents): New function
50566 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
50568         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
50570         (package--with-work-buffer-async): Reimplement as
50571         `package--with-response-buffer'.
50572         (package--with-work-buffer): Mark obsolete.
50573         (package--with-response-buffer): New macro. This is a more self
50574         contained and less contrived version of
50575         `package--with-work-buffer-async'.  It uses keyword arguments,
50576         doesn't have async on the name, doesn't fallback on
50577         `package--with-work-buffer', and has _much_ simpler error
50578         handling.
50580         (package--check-signature, package--download-one-archive)
50581         (package-install-from-archive, describe-package-1): Use it.
50583         (package--download-and-read-archives): Let
50584         `package--download-one-archive' take care of calling
50585         `package--update-downloads-in-progress'.
50587 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
50589         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
50591         (verilog-save-buffer-state): Use with-silent-modifications when available.
50592         (verilog-save-font-no-change-functions): Don't bind
50593         before/after-change-functions if it's not needed.
50595 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
50597         More work on kqueue
50599         * lisp/filenotify.el (file-notify-callback): Handle also the
50600         `rename' event from kqueue.
50601         (file-notify-add-watch): Do not register an entry twice.
50603         * src/kqueue.c (kqueue_directory_listing): New function.
50604         (kqueue_generate_event): New argument FILE1.  Adapt callees.
50605         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
50607 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
50609         * CONTRIBUTE: Remove information about feature freeze.
50611         Merge branch 'release-process-lowercase'
50613 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
50615         Document the release process
50617         * admin/notes/versioning: Add information about RC releases.
50618         * admin/release-process: Document the release process.
50619         * admin/authors.el (authors-ignored-files):
50620         * admin/README: Change FOR-RELEASE to release-process.
50621         * CONTRIBUTE:
50622         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
50624 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
50626         * admin/release-process: Rename from admin/FOR-RELEASE.
50628 2015-11-14  David Engster  <deng@randomsample.de>
50630         gitmerge: Fix git log command
50632         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
50633         only want commits from the branch that is to be merged.
50634         (gitmerge-setup-log-buffer): Use the same symmetric range as in
50635         `gitmerge-missing'.
50637 2015-11-14  David Engster  <deng@randomsample.de>
50639         gitmerge: Try to detect cherry-picks
50641         * admin/gitmerge.el (gitmerge-default-branch): Change to
50642         origin/emacs-25.
50643         (gitmerge-missing): Use symmetric difference ('...') between
50644         branch and master so that cherry-picks can be detected.
50646 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
50648         Implement directory events
50650         * lisp/filenotify.el (file-notify-handle-event)
50651         (file-notify-callback): Remove traces.
50653         * src/kqueue.c: Include <sys/time.h>.
50654         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
50655         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
50656         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
50657         Compute initial directory listing.  Close file descriptor in case
50658         of errors.
50659         (syms_of_kqueue): Declare Qcreate.
50661 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
50663         Increment Emacs version on master branch
50665         * lisp/cus-edit.el (customize-changed-options-previous-release):
50666         Increase previous version to 24.5.
50668         * configure.ac:
50669         * msdos/sed2v2.inp: Bump version to 25.1.50.
50671 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
50673         Mention CONTRIBUTE in README
50675         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
50676         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
50677         * README: Mention CONTRIBUTE.
50679 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
50681         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
50683         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
50684         (verilog-modi-cache-results, verilog-save-buffer-state)
50685         (verilog-save-font-no-change-functions): When internally suppressing change
50686         functions, use `inhibit-modification-hooks' and call
50687         `after-change-funtions' to more nicely work with user hooks.  Reported by
50688         Stefan Monnier.
50690         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
50691         Create `verilog-delete-auto-buffer' to avoid double-calling
50692         fontification hooks.
50694         (verilog-restore-buffer-modified-p, verilog-auto)
50695         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
50696         set-buffer-modified-p. Reported by Stefan Monnier.
50698         (verilog-diff-auto, verilog-diff-buffers-p)
50699         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
50701         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
50702         AUTOINST with unpacked dimensional parameters, bug981. Reported by
50703         by Amol Nagapurkar.
50705         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
50706         properties inside internal structures. No functional change
50707         intended.
50709 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
50711         Build fixes for kqueue support.
50713         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
50714         flag.
50716         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
50717         kqueue on *BSD.
50719 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
50721         Continue kqueue implementation
50723         * lisp/filenotify.el (file-notify-handle-event)
50724         (file-notify-callback): Enable trace messages.
50726         * src/kqueue.c: Include also <sys/types.h>.
50727         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
50728         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
50729         (syms_of_kqueue): Add them.
50731 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
50733         Work on kqueue
50735         * lisp/filenotify.el (file-notify--library)
50736         (file-notify-descriptors, file-notify-callback)
50737         (file-notify-add-watch, file-notify-rm-watch)
50738         (file-notify-valid-p): Add kqueue support.
50740         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
50742 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
50744         Add kqueue support
50746         * configure.ac (--with-file-notification): Add kqueue.
50747         (top): Remove special test for "${HAVE_NS}" and
50748         ${with_file_notification}, this is handled inside gfilenotify
50749         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
50750         instead of library specific variables.
50752         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
50754         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
50756         * src/kqueue.c: New file.
50758         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
50760 This file records repository revisions from
50761 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
50762 commit 16dc580aa61832285269f8de081248bac618cf84 (inclusive).
50763 See ChangeLog.1 for earlier changes.
50765 ;; Local Variables:
50766 ;; coding: utf-8
50767 ;; End:
50769   Copyright (C) 2015-2017 Free Software Foundation, Inc.
50771   This file is part of GNU Emacs.
50773   GNU Emacs is free software: you can redistribute it and/or modify
50774   it under the terms of the GNU General Public License as published by
50775   the Free Software Foundation, either version 3 of the License, or
50776   (at your option) any later version.
50778   GNU Emacs is distributed in the hope that it will be useful,
50779   but WITHOUT ANY WARRANTY; without even the implied warranty of
50780   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
50781   GNU General Public License for more details.
50783   You should have received a copy of the GNU General Public License
50784   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.